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

#include <u3d_svrg_math_bs_surface.hpp>

Inheritance diagram for U3dSVRGMathBSSurface:
U3dSVRGMathAbstractSurface U3dMathAbstractSurface

Public Member Functions

 U3dSVRGMathBSSurface (U3dPointsAr &points, double g_step, int ord_p=4, int ord_q=4)
 
 U3dSVRGMathBSSurface (U3dSVRGMathBSSurface *surf)
 
virtual ~U3dSVRGMathBSSurface ()
 
virtual bool getPoint (double p, double q, U3dPoint &point)
 
int getOrderP ()
 
int getOrderQ ()
 
void setOrderP (int ord)
 
void setOrderQ (int ord)
 
void movePoint (int ind, double x, double y, double z)
 
void addPoint (U3dPoint *point)
 
- Public Member Functions inherited from U3dSVRGMathAbstractSurface
 U3dSVRGMathAbstractSurface (U3dPointsAr &points, double g_step)
 
 U3dSVRGMathAbstractSurface (U3dSVRGMathAbstractSurface *ps)
 
virtual ~U3dSVRGMathAbstractSurface ()
 
virtual bool removePoint (int ind)
 
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 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 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

bool approximate ()
 
void make_knots (int dir, double *&knots)
 
double getBSpl (double t, double *x, int i, int k)
 
- Protected Member Functions inherited from U3dSVRGMathAbstractSurface
void construct_grid (U3dPointsAr &points)
 
void push_ip (U3dPoint *point)
 

Protected Attributes

int m_ord_p
 
int m_ord_q
 
double * m_knots_p
 
double * m_knots_q
 
- 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
 

Additional Inherited Members

- Protected Types inherited from U3dSVRGMathAbstractSurface
typedef std::vector< GridCellGridLine
 
typedef std::vector< GridLineGridMatrix
 
- 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)
 
- Static Protected Attributes inherited from U3dMathAbstractSurface
static double m_min_dpq
 

Detailed Description

3D surface object derived from Base spline interpolation

Constructor & Destructor Documentation

U3dSVRGMathBSSurface::U3dSVRGMathBSSurface ( U3dPointsAr &  points,
double  g_step,
int  ord_p = 4,
int  ord_q = 4 
)

Default constructor with base spline order provided

U3dSVRGMathBSSurface::U3dSVRGMathBSSurface ( U3dSVRGMathBSSurface surf)

Copy constructor JUST DO IT !!!

virtual U3dSVRGMathBSSurface::~U3dSVRGMathBSSurface ( )
virtual

Destruct object

Member Function Documentation

void U3dSVRGMathBSSurface::addPoint ( U3dPoint point)
virtual

Add new point NOT COMPLETELY DONE YET

Reimplemented from U3dSVRGMathAbstractSurface.

bool U3dSVRGMathBSSurface::approximate ( )
protectedvirtual

Approximation method

Implements U3dMathAbstractSurface.

double U3dSVRGMathBSSurface::getBSpl ( double  t,
double *  x,
int  i,
int  k 
)
protected

Return 2D base spline in point t with indexies of i and k and knots x

int U3dSVRGMathBSSurface::getOrderP ( )
inline

Interface for curvity value gaining from pq=[0..1]x[0..1] parametric point Interface for minimal curvity value gaining from pq=[0..1]x[0..1] parametric sector [p1..p2]x[q1..q2] Get base spline order in p direction

int U3dSVRGMathBSSurface::getOrderQ ( )
inline

Get base spline order in q direction

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

Return 3D point from provided surface parametric variables 0 <= (p,q) <= 1

Implements U3dMathAbstractSurface.

void U3dSVRGMathBSSurface::make_knots ( int  dir,
double *&  knots 
)
protected

Construct optimal knots for spline interpolation points dir: 0 - X direction, 1 - Y direction

void U3dSVRGMathBSSurface::movePoint ( int  ind,
double  x,
double  y,
double  z 
)
virtual

Move point with index ind to provided coordinates NOT COMPLETELY DONE YET

Reimplemented from U3dSVRGMathAbstractSurface.

void U3dSVRGMathBSSurface::setOrderP ( int  ord)
inline

Set spline order for X axis

void U3dSVRGMathBSSurface::setOrderQ ( int  ord)
inline

Set spline order for Y axis

Member Data Documentation

double* U3dSVRGMathBSSurface::m_knots_p
protected

Knots vector of base spline in p-direction (dim = dimension + order)

double* U3dSVRGMathBSSurface::m_knots_q
protected

Knots vector of base spline in q-direction (dim = dimension + order)

int U3dSVRGMathBSSurface::m_ord_p
protected

Base spline order for x and y directions


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