UNIVERS
15.3
UNIVERS base processing software API
|
#include <u3d_svrg_math_bspl3_surface.hpp>
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 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 | 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 Types | |
typedef std::vector < U3dSimpleBspl3Surface * > | BsplLine |
Protected Types inherited from U3dSVRGMathAbstractSurface | |
typedef std::vector< GridCell > | GridLine |
typedef std::vector< GridLine > | GridMatrix |
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< BsplLine > | m_bspls_z |
U3dBspl3AbstractMatrix * | m_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 |
3D surface object derived from base spline interpolation with 3rd order
|
protected |
Simple spline vector
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 |
Destruct object
|
protectedvirtual |
Approximation method. True if all ok.
Implements U3dMathAbstractSurface.
|
inlinestaticprotected |
Correct variable (p or q) parameter for permissible values using defined accurace
|
staticprotected |
Find base spline element derived from p (or q) variable. Return true if all ok.
|
protected |
Return point of expanded grid with boundary nodes. i = 0..m+3, j=0..n+3. Return true if ok.
|
virtual |
Return 3D point from provided surface parametric variables true if ok.
Implements U3dMathAbstractSurface.
|
virtual |
Return partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method
Reimplemented from U3dMathAbstractSurface.
|
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 |
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 |
Return partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method
Reimplemented from U3dMathAbstractSurface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method
Reimplemented from U3dMathAbstractSurface.
|
inlinestaticprotected |
Update index of one corrdinate direction for pseudoregular grid border expanding
|
protected |
Spline surface base matrix
|
protected |
x(p) and y(q) direction curves arrays
|
protected |
Matrix of simple base spline z(p,q) surface for z direction
|
protected |
Accuracy in pq-space. Just defined in constructor as 1e-9.