UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u3d_math_abstract_surface.hpp
1 /* u3d_math_abstract_surface.hpp */
2 /* $Id: u3d_math_abstract_surface.hpp,v 1.6 2008/06/04 12:22:37 sad Exp $ */
3 #ifndef __u3d_math_abstract_surface_hpp
4 #define __u3d_math_abstract_surface_hpp
5 
6 #include <mth/u3d_point.hpp>
7 #include <mix/u_message.hpp>
8 #include <vector>
9 
12 {
13 public:
14 
18 
21 
23  virtual ~U3dMathAbstractSurface();
24 
27  virtual bool getPoint(double p, double q, U3dPoint &point) = 0;
28 
31  virtual bool getXYZ(double p, double q, double &x, double &y, double &z);
32 
35  virtual bool getXYZp(double p, double q, U3dPoint &drp);
36 
39  virtual bool getXYZq(double p, double q, U3dPoint &drq);
40 
43  virtual bool getXYZpp(double p, double q, U3dPoint &ddrpp);
44 
47  virtual bool getXYZqq(double p, double q, U3dPoint &ddrqq);
48 
51  virtual bool getXYZpq(double p, double q, U3dPoint &ddrpq);
52 
55  virtual bool getCurvature(double p, double q, double &c);
56 
59  virtual bool getMaxCurvature(double p1, double q1, double p2, double q2,
60  double &c);
61 
64  virtual void getAreaSize(U3dPoint &min, U3dPoint &max);
65 
68  {return m_is_ip_done;}
69 
71  virtual int getInitialPointsNum() = 0;
72 
75  virtual U3dPoint* getInitialPoint(unsigned int ind) = 0;
76 
78  virtual void getInitialPoints(U3dPointsAr &ps) = 0;
79 
81  virtual const U3dPointsAr& getInitialPoints() const = 0;
82 
84  //U3dMathAbstractSurface& operator<<(U3dPoint *p){
85  // addPoint(p);
86  //return *this;}
87 
89  //virtual void addPoint(U3dPoint* point) = 0;
90 
92  //virtual bool removePoint(int pointId) = 0;
93 
94 protected:
95 
97  bool m_is_ip_done;
98 
100  //U3dPointsAr m_ips;
101 
104  static double m_min_dpq;
105 
107  struct Area3d
108  {
109  double xmn,xmx,ymn,ymx,zmn,zmx;
110  } area3d;
111 
112 };
113 
114 #endif /* __u3d_math_abstract_surface_hpp */
virtual const U3dPointsAr & getInitialPoints() const =0
Definition: u3d_math_abstract_surface.hpp:11
virtual bool getXYZqq(double p, double q, U3dPoint &ddrqq)
virtual bool getMaxCurvature(double p1, double q1, double p2, double q2, double &c)
Definition: geometry.H:16
virtual int getInitialPointsNum()=0
Definition: u3d_point.hpp:16
virtual bool getXYZq(double p, double q, U3dPoint &drq)
virtual bool getXYZp(double p, double q, U3dPoint &drp)
virtual bool getXYZpp(double p, double q, U3dPoint &ddrpp)
static double m_min_dpq
Definition: u3d_math_abstract_surface.hpp:104
virtual void getAreaSize(U3dPoint &min, U3dPoint &max)
Definition: u3d_math_abstract_surface.hpp:107
bool m_is_ip_done
Definition: u3d_math_abstract_surface.hpp:97
bool isInterpolated()
Definition: u3d_math_abstract_surface.hpp:67
virtual ~U3dMathAbstractSurface()
virtual bool getXYZ(double p, double q, double &x, double &y, double &z)
virtual bool getXYZpq(double p, double q, U3dPoint &ddrpq)
virtual U3dPoint * getInitialPoint(unsigned int ind)=0
virtual bool getCurvature(double p, double q, double &c)
virtual bool getPoint(double p, double q, U3dPoint &point)=0