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

#include <u3d_bspl3_surface3d.hpp>

Inheritance diagram for U3dBspl3Surface3d:
U3dMathAbstractSurface

Public Member Functions

 U3dBspl3Surface3d (const U3dBspl3AbstractMatrix &bm, const U3dAbstractPRGrid2d &grd)
 
 U3dBspl3Surface3d (const U3dBspl3Surface3d &surf)
 
virtual ~U3dBspl3Surface3d ()
 
virtual void approximate (const U3dBspl3AbstractMatrix &bm, const U3dAbstractPRGrid2d &grd)
 
virtual bool getPoint (double p, double q, U3dPoint &point)
 
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)
 
const U3dAbstractPRGrid2dgrtGrid ()
 
U3dBspl3MatrixType getType ()
 
virtual int getInitialPointsNum ()
 
virtual U3dPointgetInitialPoint (unsigned int ind)
 
virtual void getInitialPoints (U3dPointsAr &ps)
 
virtual const U3dPointsAr & getInitialPoints () const
 
- Public Member Functions inherited from U3dMathAbstractSurface
 U3dMathAbstractSurface ()
 
 U3dMathAbstractSurface (const U3dMathAbstractSurface &obj)
 
virtual ~U3dMathAbstractSurface ()
 
virtual bool getXYZ (double p, double q, double &x, double &y, double &z)
 
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 ()
 
 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 getXYZ (double p, double q, double &x, double &y, double &z)
 
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 Types

typedef std::vector
< U3dSimpleBspl3Surface * > 
BsplLine
 

Protected Member Functions

bool get_expanded_gp (int i, int j, U3dPoint &point)
 
void clear ()
 
- Protected Member Functions inherited from U3dMathAbstractSurface
virtual bool approximate ()=0
 

Static Protected Member Functions

static void correct_vars (double &p, double acc)
 

Protected Attributes

U3dAbstractPRGrid2dm_grid
 
std::vector
< U3dSimpleBspl3Curve * > 
m_bspls_x
 
std::vector
< U3dSimpleBspl3Curve * > 
m_bspls_y
 
std::vector< BsplLinem_bspls_z
 
U3dBspl3AbstractMatrixm_bm
 
double m_pq_accur
 
- Protected Attributes inherited from U3dMathAbstractSurface
bool m_is_ip_done
 
struct
U3dMathAbstractSurface::Area3d 
area3d
 
U3dPointsAr m_ips
 

Friends

class U3dBspl3Surface4d
 

Additional Inherited Members

- Static Protected Attributes inherited from U3dMathAbstractSurface
static double m_min_dpq
 

Detailed Description

3D surface object derived from base spline interpolation with 3rd order

Member Typedef Documentation

typedef std::vector<U3dSimpleBspl3Surface*> U3dBspl3Surface3d::BsplLine
protected

Simple spline vector

Constructor & Destructor Documentation

U3dBspl3Surface3d::U3dBspl3Surface3d ( const U3dBspl3AbstractMatrix bm,
const U3dAbstractPRGrid2d grd 
)

Construct surface with interpolation points and minimal regular grid step provided. Base matrix defines interpolation type.

U3dBspl3Surface3d::U3dBspl3Surface3d ( const U3dBspl3Surface3d surf)

Copy constructor

virtual U3dBspl3Surface3d::~U3dBspl3Surface3d ( )
virtual

Destruct object

Member Function Documentation

virtual void U3dBspl3Surface3d::approximate ( const U3dBspl3AbstractMatrix bm,
const U3dAbstractPRGrid2d grd 
)
virtual

Main approximation method. Requires base matrix, initial points and minimal regular grid step. Old initial points surface are deleting.

void U3dBspl3Surface3d::clear ( )
protected

Clear internal data

static void U3dBspl3Surface3d::correct_vars ( double &  p,
double  acc 
)
inlinestaticprotected

Correct variable (p or q) parameter for permissible values using defined accurace

bool U3dBspl3Surface3d::get_expanded_gp ( int  i,
int  j,
U3dPoint point 
)
protected

Return point of expanded grid with boundary nodes. i = 0..m+3, j=0..n+3. Return true if ok.

virtual U3dPoint* U3dBspl3Surface3d::getInitialPoint ( unsigned int  ind)
virtual

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

Implements U3dMathAbstractSurface.

virtual void U3dBspl3Surface3d::getInitialPoints ( U3dPointsAr &  ps)
virtual

Return initial points array

Implements U3dMathAbstractSurface.

virtual const U3dPointsAr& U3dBspl3Surface3d::getInitialPoints ( ) const
virtual

Return initial points array (const)

Implements U3dMathAbstractSurface.

virtual int U3dBspl3Surface3d::getInitialPointsNum ( )
virtual

Return number of initial points

Implements U3dMathAbstractSurface.

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

Return 3D point from provided surface parametric variables true if ok.

Implements U3dMathAbstractSurface.

U3dBspl3MatrixType U3dBspl3Surface3d::getType ( )

Return base spline surface type. If object is not ready return "Undefined".

virtual bool U3dBspl3Surface3d::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 from U3dMathAbstractSurface.

virtual bool U3dBspl3Surface3d::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 from U3dMathAbstractSurface.

virtual bool U3dBspl3Surface3d::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 from U3dMathAbstractSurface.

virtual bool U3dBspl3Surface3d::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 from U3dMathAbstractSurface.

virtual bool U3dBspl3Surface3d::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 from U3dMathAbstractSurface.

const U3dAbstractPRGrid2d* U3dBspl3Surface3d::grtGrid ( )
inline

Return 2D regular grid pointer.

Member Data Documentation

U3dBspl3AbstractMatrix* U3dBspl3Surface3d::m_bm
protected

Spline surface base matrix

std::vector<U3dSimpleBspl3Curve*> U3dBspl3Surface3d::m_bspls_x
protected

x(p) and y(q) direction curves arrays

std::vector<BsplLine> U3dBspl3Surface3d::m_bspls_z
protected

Matrix of simple base spline z(p,q) surface for z direction

U3dAbstractPRGrid2d* U3dBspl3Surface3d::m_grid
protected

Pseudo regular grid

double U3dBspl3Surface3d::m_pq_accur
protected

Accuracy in pq-space.


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