UNIVERS
15.3
UNIVERS base processing software API
|
#include <u3d_bspl3_surface3d.hpp>
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 U3dAbstractPRGrid2d * | grtGrid () |
U3dBspl3MatrixType | getType () |
virtual int | getInitialPointsNum () |
virtual U3dPoint * | getInitialPoint (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 () |
U3dPoint * | getInitialPoint (int ind) |
void | GetInitialPoints (U3dPointsAr &ps) |
U3dMathAbstractSurface & | operator<< (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 | |
U3dAbstractPRGrid2d * | m_grid |
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 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 |
3D surface object derived from base spline interpolation with 3rd order
|
protected |
Simple spline vector
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 |
Destruct object
|
virtual |
Main approximation method. Requires base matrix, initial points and minimal regular grid step. Old initial points surface are deleting.
|
protected |
Clear internal data
|
inlinestaticprotected |
Correct variable (p or q) parameter for permissible values using defined accurace
|
protected |
Return point of expanded grid with boundary nodes. i = 0..m+3, j=0..n+3. Return true if ok.
|
virtual |
Get initial point with index ind. If no such point then return NULL
Implements U3dMathAbstractSurface.
|
virtual |
Return initial points array
Implements U3dMathAbstractSurface.
|
virtual |
Return initial points array (const)
Implements U3dMathAbstractSurface.
|
virtual |
Return number of initial points
Implements U3dMathAbstractSurface.
|
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 |
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.
|
inline |
Return 2D regular grid pointer.
|
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 |
Pseudo regular grid
|
protected |
Accuracy in pq-space.