UNIVERS
15.3
UNIVERS base processing software API
|
#include <u3d_svrg_math_bs_surface.hpp>
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 U3dPoint * | getInitialPoint (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 () |
U3dPoint * | getInitialPoint (int ind) |
void | GetInitialPoints (U3dPointsAr &ps) |
U3dMathAbstractSurface & | operator<< (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< GridCell > | GridLine |
typedef std::vector< GridLine > | GridMatrix |
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 |
3D surface object derived from Base spline interpolation
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 |
Destruct object
|
virtual |
Add new point NOT COMPLETELY DONE YET
Reimplemented from U3dSVRGMathAbstractSurface.
|
protectedvirtual |
Approximation method
Implements U3dMathAbstractSurface.
|
protected |
Return 2D base spline in point t with indexies of i and k and knots x
|
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
|
inline |
Get base spline order in q direction
|
virtual |
Return 3D point from provided surface parametric variables 0 <= (p,q) <= 1
Implements U3dMathAbstractSurface.
|
protected |
Construct optimal knots for spline interpolation points dir: 0 - X direction, 1 - Y direction
|
virtual |
Move point with index ind to provided coordinates NOT COMPLETELY DONE YET
Reimplemented from U3dSVRGMathAbstractSurface.
|
inline |
Set spline order for X axis
|
inline |
Set spline order for Y axis
|
protected |
Knots vector of base spline in p-direction (dim = dimension + order)
|
protected |
Knots vector of base spline in q-direction (dim = dimension + order)
|
protected |
Base spline order for x and y directions