UNIVERS
15.3
UNIVERS base processing software API
|
#include <u3d_svrg_math_abstract_surface.hpp>
Classes | |
struct | GridCell |
Public Member Functions | |
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 | 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 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 Types | |
typedef std::vector< GridCell > | GridLine |
typedef std::vector< GridLine > | GridMatrix |
Protected Member Functions | |
void | construct_grid (U3dPointsAr &points) |
void | push_ip (U3dPoint *point) |
Protected Member Functions inherited from U3dMathAbstractSurface | |
virtual bool | approximate ()=0 |
Static Protected Member Functions | |
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 | |
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 | U3dSVRGMathAbstractSurf4d |
Additional Inherited Members | |
Static Protected Attributes inherited from U3dMathAbstractSurface | |
static double | m_min_dpq |
3D surface abstract object provides pseudoregular grid generation
|
protected |
Grid cell line
|
protected |
Grid cell matrix
U3dSVRGMathAbstractSurface::U3dSVRGMathAbstractSurface | ( | U3dPointsAr & | points, |
double | g_step | ||
) |
Construct surface with points coordinates and minimal grid step provided
U3dSVRGMathAbstractSurface::U3dSVRGMathAbstractSurface | ( | U3dSVRGMathAbstractSurface * | ps | ) |
Copy constructor JUST DO IT !!!
|
virtual |
Destruct object
|
virtual |
|
protected |
Construct grid for provided initial points and minimal grid step value provided
|
inlinestaticprotected |
Correct index value in case of its array size.
|
staticprotected |
Return proper index of provided x-coordinate for "regular" addition to pseudoregular grid. Also correct xmn and xmx values. The parameters are: x - coordinate of additional point, grd_x - array of points in grid direction, xmn, xmx - sizes of grid direction, dx - precission
int U3dSVRGMathAbstractSurface::getGridPoint | ( | int | i, |
int | j, | ||
U3dPoint & | p | ||
) |
Return point associated with grid. This function returns type of point: initial is 1, otherwise 0. If indexies are out of range this method will return boundary values. Nothing for point if object is empty (return -1)
|
inline |
Return number of x-coordinate grid elements
|
inline |
Return number of y-coordinate grid elements
|
inline |
Return minimal distance between points lines when they will be in different grid rows or cols
|
virtual |
Move initial point with index ind to provided coordinates place JUST DO IT !!!
Implements U3dMathAbstractSurface.
Reimplemented in U3dSVRGMathBSSurface.
|
protected |
Push initial point to array of initial points and to proper grid cell
|
virtual |
Remove initial points with index ind. If no such point return false, otherwise return true JUST DO IT !!!
Implements U3dMathAbstractSurface.
|
inline |
Set minimal distance between points lines when they will be in different grid rows or cols
|
protected |
Grid x and y coordinates vectors
|
protected |
Pseudoregular grid matrix
|
protected |
Minimal distance between points lines when they will be in different grid rows or cols