UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
U3dMathAbstractSurface Class Referenceabstract

#include <u3d_math_abstract_surface.hpp>

Inheritance diagram for U3dMathAbstractSurface:
U3dBspl3Surface3d U3dSVRGMathAbstractSurface U3dSVRGMathBspl3Surface U3dSVRGMathBSSurface U3dSVRGMathBeta3Surface U3dSVRGMathBezier3Surface U3dSVRGMathBS3Surface U3dSVRGMathCRom3Surface

Classes

struct  Area3d
 

Public Member Functions

 U3dMathAbstractSurface ()
 
 U3dMathAbstractSurface (const U3dMathAbstractSurface &obj)
 
virtual ~U3dMathAbstractSurface ()
 
virtual bool getPoint (double p, double q, U3dPoint &point)=0
 
virtual bool getXYZ (double p, double q, double &x, double &y, double &z)
 
virtual bool getXYZp (double p, double q, U3dPoint &drp)
 
virtual bool getXYZq (double p, double q, U3dPoint &drq)
 
virtual bool getXYZpp (double p, double q, U3dPoint &ddrpp)
 
virtual bool getXYZqq (double p, double q, U3dPoint &ddrqq)
 
virtual bool getXYZpq (double p, double q, U3dPoint &ddrpq)
 
virtual bool getCurvature (double p, double q, double &c)
 
virtual bool getMaxCurvature (double p1, double q1, double p2, double q2, double &c)
 
virtual void getAreaSize (U3dPoint &min, U3dPoint &max)
 
bool isInterpolated ()
 
virtual int getInitialPointsNum ()=0
 
virtual U3dPointgetInitialPoint (unsigned int ind)=0
 
virtual void getInitialPoints (U3dPointsAr &ps)=0
 
virtual const U3dPointsAr & getInitialPoints () const =0
 
 U3dMathAbstractSurface (U3dPointsAr &points)
 
 U3dMathAbstractSurface (U3dMathAbstractSurface *ps)
 
virtual void addPoint (U3dPoint *point)=0
 
virtual bool removePoint (int pointId)=0
 
virtual void movePoint (int pointId, double x, double y, double z)=0
 
virtual bool getPoint (double p, double q, U3dPoint &point)=0
 
virtual bool getXYZ (double p, double q, double &x, double &y, double &z)
 
virtual bool getXYZp (double p, double q, U3dPoint &drp)
 
virtual bool getXYZq (double p, double q, U3dPoint &drq)
 
virtual bool getXYZpp (double p, double q, U3dPoint &ddrpp)
 
virtual bool getXYZqq (double p, double q, U3dPoint &ddrqq)
 
virtual bool getXYZpq (double p, double q, U3dPoint &ddrpq)
 
virtual bool getCurvature (double p, double q, double &c)
 
virtual bool getMaxCurvature (double p1, double q1, double p2, double q2, double &c)
 
virtual void getAreaSize (U3dPoint &min, U3dPoint &max)
 
bool isInterpolated ()
 
int getInitialPointsNum ()
 
U3dPointgetInitialPoint (int ind)
 
void GetInitialPoints (U3dPointsAr &ps)
 
U3dMathAbstractSurfaceoperator<< (U3dPoint *p)
 

Protected Member Functions

virtual bool approximate ()=0
 

Protected Attributes

bool m_is_ip_done
 
struct
U3dMathAbstractSurface::Area3d 
area3d
 
U3dPointsAr m_ips
 

Static Protected Attributes

static double m_min_dpq
 

Detailed Description

Abstract mathematical surface interface

Constructor & Destructor Documentation

U3dMathAbstractSurface::U3dMathAbstractSurface ( )

Default constructor with 3d points provided. Points are not copying and surface is not ready.

U3dMathAbstractSurface::U3dMathAbstractSurface ( const U3dMathAbstractSurface obj)

Copy constructor

virtual U3dMathAbstractSurface::~U3dMathAbstractSurface ( )
virtual

Destruct object

Member Function Documentation

virtual bool U3dMathAbstractSurface::approximate ( )
protectedpure virtual

Approximation method. Return true if all ok.

Implemented in U3dSVRGMathBSSurface, and U3dSVRGMathBspl3Surface.

virtual void U3dMathAbstractSurface::getAreaSize ( U3dPoint min,
U3dPoint max 
)
virtual

Return current 3D area size. Return 0 0 0 and 0 0 0 if no points were added

virtual void U3dMathAbstractSurface::getAreaSize ( U3dPoint min,
U3dPoint max 
)
virtual

Return current 3D area size. Return 0 0 0 and 0 0 0 if no points were added

virtual bool U3dMathAbstractSurface::getCurvature ( double  p,
double  q,
double &  c 
)
virtual

Interface for curvity value gaining from pq=[0..1]x[0..1] parametric point

virtual bool U3dMathAbstractSurface::getCurvature ( double  p,
double  q,
double &  c 
)
virtual

Interface for curvity value gaining from pq=[0..1]x[0..1] parametric point

virtual U3dPoint* U3dMathAbstractSurface::getInitialPoint ( unsigned int  ind)
pure virtual

Get initial point with index ind. If no such point then return NULL

Implemented in U3dBspl3Surface3d.

U3dPoint* U3dMathAbstractSurface::getInitialPoint ( int  ind)

Get initial point with index ind. If no such point then return NULL

void U3dMathAbstractSurface::GetInitialPoints ( U3dPointsAr &  ps)
inline

Return initial points ??? WHAT ???

virtual void U3dMathAbstractSurface::getInitialPoints ( U3dPointsAr &  ps)
pure virtual

Return initial points array

Implemented in U3dBspl3Surface3d.

virtual const U3dPointsAr& U3dMathAbstractSurface::getInitialPoints ( ) const
pure virtual

Return initial points array (const)

Implemented in U3dBspl3Surface3d.

int U3dMathAbstractSurface::getInitialPointsNum ( )
inline

Return number of initial points

virtual int U3dMathAbstractSurface::getInitialPointsNum ( )
pure virtual

Return number of initial points

Implemented in U3dBspl3Surface3d.

virtual bool U3dMathAbstractSurface::getMaxCurvature ( double  p1,
double  q1,
double  p2,
double  q2,
double &  c 
)
virtual

Interface for minimal curvity value gaining from pq=[0..1]x[0..1] parametric sector [p1..p2]x[q1..q2]

virtual bool U3dMathAbstractSurface::getMaxCurvature ( double  p1,
double  q1,
double  p2,
double  q2,
double &  c 
)
virtual

Interface for minimal curvity value gaining from pq=[0..1]x[0..1] parametric sector [p1..p2]x[q1..q2]

virtual bool U3dMathAbstractSurface::getPoint ( double  p,
double  q,
U3dPoint point 
)
pure virtual

Interface for points gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.

Implemented in U3dBspl3Surface3d, U3dSVRGMathBspl3Surface, and U3dSVRGMathBSSurface.

virtual bool U3dMathAbstractSurface::getPoint ( double  p,
double  q,
U3dPoint point 
)
pure virtual

Interface for points gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.

Implemented in U3dBspl3Surface3d, U3dSVRGMathBspl3Surface, and U3dSVRGMathBSSurface.

virtual bool U3dMathAbstractSurface::getXYZ ( double  p,
double  q,
double &  x,
double &  y,
double &  z 
)
virtual

Interface for points coordinates gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.

virtual bool U3dMathAbstractSurface::getXYZ ( double  p,
double  q,
double &  x,
double &  y,
double &  z 
)
virtual

Interface for points coordinates gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.

virtual bool U3dMathAbstractSurface::getXYZp ( double  p,
double  q,
U3dPoint drp 
)
virtual

Return partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZp ( double  p,
double  q,
U3dPoint drp 
)
virtual

Return partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZpp ( double  p,
double  q,
U3dPoint ddrpp 
)
virtual

Return second level partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZpp ( double  p,
double  q,
U3dPoint ddrpp 
)
virtual

Return second level partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZpq ( double  p,
double  q,
U3dPoint ddrpq 
)
virtual

Return second level partial derivatives of coordinates XYZ by parameters p and q. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZpq ( double  p,
double  q,
U3dPoint ddrpq 
)
virtual

Return second level partial derivatives of coordinates XYZ by parameters p and q. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZq ( double  p,
double  q,
U3dPoint drq 
)
virtual

Return partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZq ( double  p,
double  q,
U3dPoint drq 
)
virtual

Return partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZqq ( double  p,
double  q,
U3dPoint ddrqq 
)
virtual

Return second level partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

virtual bool U3dMathAbstractSurface::getXYZqq ( double  p,
double  q,
U3dPoint ddrqq 
)
virtual

Return second level partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method

Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.

bool U3dMathAbstractSurface::isInterpolated ( )
inline

Return true if interpolation was made

bool U3dMathAbstractSurface::isInterpolated ( )
inline

Return true if interpolation was made

Member Data Documentation

U3dPointsAr U3dMathAbstractSurface::m_ips
protected

Array of initial points

bool U3dMathAbstractSurface::m_is_ip_done
protected

Add one point Add new sorface point Remove one point Is interpolated

Is interpolated

static double U3dMathAbstractSurface::m_min_dpq
staticprotected

Array of initial points Minimal delta for p and q directions for any calculation

Minimal delta for p and q directions for any calculation


The documentation for this class was generated from the following files: