UNIVERS
15.3
UNIVERS base processing software API
|
#include <u3d_math_abstract_surface.hpp>
Classes | |
struct | Area3d |
Public Member Functions | |
U3dMathAbstractSurface () | |
U3dMathAbstractSurface (const U3dMathAbstractSurface &obj) | |
virtual | ~U3dMathAbstractSurface () |
virtual bool | getPoint (double p, double q, U3dPoint &point)=0 |
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 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 | getPoint (double p, double q, U3dPoint &point)=0 |
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 | |
virtual bool | approximate ()=0 |
Protected Attributes | |
bool | m_is_ip_done |
struct U3dMathAbstractSurface::Area3d | area3d |
U3dPointsAr | m_ips |
Static Protected Attributes | |
static double | m_min_dpq |
Abstract mathematical surface interface
U3dMathAbstractSurface::U3dMathAbstractSurface | ( | ) |
Default constructor with 3d points provided. Points are not copying and surface is not ready.
U3dMathAbstractSurface::U3dMathAbstractSurface | ( | const U3dMathAbstractSurface & | obj | ) |
Copy constructor
|
virtual |
Destruct object
|
protectedpure virtual |
Approximation method. Return true if all ok.
Implemented in U3dSVRGMathBSSurface, and U3dSVRGMathBspl3Surface.
Return current 3D area size. Return 0 0 0 and 0 0 0 if no points were added
Return current 3D area size. Return 0 0 0 and 0 0 0 if no points were added
|
virtual |
Interface for curvity value gaining from pq=[0..1]x[0..1] parametric point
|
virtual |
Interface for curvity value gaining from pq=[0..1]x[0..1] parametric point
|
pure virtual |
Get initial point with index ind. If no such point then return NULL
Implemented in U3dBspl3Surface3d.
U3dPoint* U3dMathAbstractSurface::getInitialPoint | ( | int | ind | ) |
Get initial point with index ind. If no such point then return NULL
|
inline |
Return initial points ??? WHAT ???
|
pure virtual |
Return initial points array
Implemented in U3dBspl3Surface3d.
|
pure virtual |
Return initial points array (const)
Implemented in U3dBspl3Surface3d.
|
inline |
Return number of initial points
|
pure virtual |
Return number of initial points
Implemented in U3dBspl3Surface3d.
|
virtual |
Interface for minimal curvity value gaining from pq=[0..1]x[0..1] parametric sector [p1..p2]x[q1..q2]
|
virtual |
Interface for minimal curvity value gaining from pq=[0..1]x[0..1] parametric sector [p1..p2]x[q1..q2]
|
pure virtual |
Interface for points gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.
Implemented in U3dBspl3Surface3d, U3dSVRGMathBspl3Surface, and U3dSVRGMathBSSurface.
|
pure virtual |
Interface for points gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.
Implemented in U3dBspl3Surface3d, U3dSVRGMathBspl3Surface, and U3dSVRGMathBSSurface.
|
virtual |
Interface for points coordinates gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.
|
virtual |
Interface for points coordinates gaining from pq=[0..1]x[0..1] parametric coordinates. Return true if ok.
|
virtual |
Return partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameter p. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameters p and q. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameters p and q. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
virtual |
Return second level partial derivatives of coordinates XYZ by parameter q. This method in current class is using getXYZ method
Reimplemented in U3dBspl3Surface3d, and U3dSVRGMathBspl3Surface.
|
inline |
Return true if interpolation was made
|
inline |
Return true if interpolation was made
|
protected |
Array of initial points
|
protected |
Add one point Add new sorface point Remove one point Is interpolated
Is interpolated
|
staticprotected |
Array of initial points Minimal delta for p and q directions for any calculation
Minimal delta for p and q directions for any calculation