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
U3dSVRGMathBspl3Surface Class Reference

#include <u3d_svrg_math_bspl3_surface.hpp>

Inheritance diagram for U3dSVRGMathBspl3Surface:
U3dSVRGMathAbstractSurface U3dMathAbstractSurface U3dSVRGMathBeta3Surface U3dSVRGMathBezier3Surface U3dSVRGMathBS3Surface U3dSVRGMathCRom3Surface

Public Member Functions

 U3dSVRGMathBspl3Surface (U3dPointsAr &points, double g_step)
 
 U3dSVRGMathBspl3Surface (U3dSVRGMathBspl3Surface *surf)
 
virtual ~U3dSVRGMathBspl3Surface ()
 
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)
 
- Public Member Functions inherited from U3dSVRGMathAbstractSurface
 U3dSVRGMathAbstractSurface (U3dPointsAr &points, double g_step)
 
 U3dSVRGMathAbstractSurface (U3dSVRGMathAbstractSurface *ps)
 
virtual ~U3dSVRGMathAbstractSurface ()
 
virtual void addPoint (U3dPoint *point)
 
virtual bool removePoint (int ind)
 
virtual void movePoint (int ind, double x, double y, double z)
 
int getGridPoint (int i, int j, U3dPoint &p)
 
int getGridXSize ()
 
int getGridYSize ()
 
void setMinGridStep (double eps)
 
double getMinGridStep ()
 
- 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 ()
 
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 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 Types inherited from U3dSVRGMathAbstractSurface
typedef std::vector< GridCellGridLine
 
typedef std::vector< GridLineGridMatrix
 

Protected Member Functions

virtual bool approximate ()
 
bool get_expanded_gp (int i, int j, U3dPoint &point)
 
- Protected Member Functions inherited from U3dSVRGMathAbstractSurface
void construct_grid (U3dPointsAr &points)
 
void push_ip (U3dPoint *point)
 

Static Protected Member Functions

static bool find_element (double p, int n, int &nnp, double &pp)
 
static void correct_vars (double &p, double acc)
 
static void update_index (int &i, int m)
 
- Static Protected Member Functions inherited from U3dSVRGMathAbstractSurface
static int get_ip_id (double x, std::vector< double > &grd_x, double dx, double &xmn, double &xmx)
 
static void correct_id (int &id, int size)
 

Protected Attributes

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 U3dSVRGMathAbstractSurface
double minGridEps
 
std::vector< double > grd_x
 
std::vector< double > grd_y
 
GridMatrix grid
 
- Protected Attributes inherited from U3dMathAbstractSurface
bool m_is_ip_done
 
struct
U3dMathAbstractSurface::Area3d 
area3d
 
U3dPointsAr m_ips
 

Friends

class U3dSVRGMathBspl3Surf4d
 

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

Simple spline vector

Constructor & Destructor Documentation

U3dSVRGMathBspl3Surface::U3dSVRGMathBspl3Surface ( U3dPointsAr &  points,
double  g_step 
)

Constructor with interpolation points and minimal grid step provided

U3dSVRGMathBspl3Surface::U3dSVRGMathBspl3Surface ( U3dSVRGMathBspl3Surface surf)

Copy constructor JUST DO IT !!!

virtual U3dSVRGMathBspl3Surface::~U3dSVRGMathBspl3Surface ( )
virtual

Destruct object

Member Function Documentation

virtual bool U3dSVRGMathBspl3Surface::approximate ( )
protectedvirtual

Approximation method. True if all ok.

Implements U3dMathAbstractSurface.

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

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

static bool U3dSVRGMathBspl3Surface::find_element ( double  p,
int  n,
int &  nnp,
double &  pp 
)
staticprotected

Find base spline element derived from p (or q) variable. Return true if all ok.

bool U3dSVRGMathBspl3Surface::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 bool U3dSVRGMathBspl3Surface::getPoint ( double  p,
double  q,
U3dPoint point 
)
virtual

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

Implements U3dMathAbstractSurface.

virtual bool U3dSVRGMathBspl3Surface::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 U3dSVRGMathBspl3Surface::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 U3dSVRGMathBspl3Surface::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 U3dSVRGMathBspl3Surface::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 U3dSVRGMathBspl3Surface::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.

static void U3dSVRGMathBspl3Surface::update_index ( int &  i,
int  m 
)
inlinestaticprotected

Update index of one corrdinate direction for pseudoregular grid border expanding

Member Data Documentation

U3dBspl3AbstractMatrix* U3dSVRGMathBspl3Surface::m_bm
protected

Spline surface base matrix

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

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

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

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

double U3dSVRGMathBspl3Surface::m_pq_accur
protected

Accuracy in pq-space. Just defined in constructor as 1e-9.


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