UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u3d_bspl3_surface4d.hpp
1 /* u3d_bspl3_surface4d.hpp */
2 /* $Id: u3d_bspl3_surface4d.hpp,v 1.2 2008/03/25 11:46:58 ibadm Exp $ */
3 #ifndef __u3d_bspl3_surface4d_hpp
4 #define __u3d_bspl3_surface4d_hpp
5 
6 #include "u3d_math_abstract_surface.hpp"
7 #include "u3d_bspl3_primitives.hpp"
8 #include "u3d_prgrid3d.hpp"
9 
12 {
13 public:
16  U3dBspl3Surface4d(const U3dBspl3AbstractMatrix &bm, const U3dPoints4dAr &points, double g_step);
17 
20 
22  virtual ~U3dBspl3Surface4d();
23 
24 
27  virtual void approximate(const U3dBspl3AbstractMatrix &bm, const U3dPoints4dAr &points, double g_step);
28 
29 
32  virtual bool getPoint(double p, double q, double r, U3dPoint4d &point);
33 
35  void getAreaSize(U3dPoint4d &min, U3dPoint4d &max);
36 
39  {return m_is_ip_done;}
40 
43  U3dBspl3MatrixType getType();
44 
45 protected:
46 
48  typedef std::vector<U3dSimpleBspl3Surf3d*> BsplLine;
49 
51  typedef std::vector<BsplLine> BsplMatrix;
52 
54  std::vector<BsplMatrix> m_bspls_x4;
55 
57  std::vector<U3dSimpleBspl3Curve*> m_bspls_x1, m_bspls_x2, m_bspls_x3;
58 
61 
64 
67 
69  void clear();
70 
74  bool get_expanded_gp(int i, int j, int k, U3dPoint4d &point);
75 };
76 
77 
78 #endif /* u3d_bspl3_surface4d.hpp */
std::vector< U3dSimpleBspl3Curve * > m_bspls_x1
Definition: u3d_bspl3_surface4d.hpp:57
bool get_expanded_gp(int i, int j, int k, U3dPoint4d &point)
Definition: u3d_bspl3_surface4d.hpp:11
std::vector< U3dSimpleBspl3Surf3d * > BsplLine
Definition: u3d_bspl3_surface4d.hpp:48
bool isInterpolated()
Definition: u3d_bspl3_surface4d.hpp:38
U3dPRGrid3d * m_grid
Definition: u3d_bspl3_surface4d.hpp:60
std::vector< BsplLine > BsplMatrix
Definition: u3d_bspl3_surface4d.hpp:51
U3dBspl3AbstractMatrix * m_bm
Definition: u3d_bspl3_surface4d.hpp:63
Definition: geometry.H:16
void getAreaSize(U3dPoint4d &min, U3dPoint4d &max)
Definition: u3d_prgrid3d.hpp:13
virtual void approximate(const U3dBspl3AbstractMatrix &bm, const U3dPoints4dAr &points, double g_step)
Definition: u3d_point4d.hpp:11
virtual ~U3dBspl3Surface4d()
Definition: u3d_bspl3_matrices.hpp:24
U3dBspl3MatrixType getType()
std::vector< BsplMatrix > m_bspls_x4
Definition: u3d_bspl3_surface4d.hpp:54
bool m_is_ip_done
Definition: u3d_bspl3_surface4d.hpp:66
virtual bool getPoint(double p, double q, double r, U3dPoint4d &point)
U3dBspl3Surface4d(const U3dBspl3AbstractMatrix &bm, const U3dPoints4dAr &points, double g_step)