UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
U3dPRGrid2d Class Reference

#include <u3d_prgrid2d.hpp>

Inheritance diagram for U3dPRGrid2d:
U3dAbstractPRGrid2d U3dPRGrid2dAD U3dPRGrid2dMaze

Public Member Functions

 U3dPRGrid2d ()
 
 U3dPRGrid2d (const U3dPointsAr &points, double g_step, U3dBox *area=NULL)
 
 U3dPRGrid2d (const U3dPoints &points, double g_step, U3dBox *area=NULL)
 
 U3dPRGrid2d (const U3dPoints &points, double g_step_x, double g_step_y, U3dBox *area=NULL)
 
 U3dPRGrid2d (const U3dPointsAr &points, double g_step_x, double g_step_y, U3dBox *area=NULL)
 
 U3dPRGrid2d (const U3dPRGrid2d &obj)
 
virtual ~U3dPRGrid2d ()
 
virtual void construct (const U3dPointsAr &points, double g_step_x, double g_step_y, U3dBox *area=NULL)
 
virtual void construct (const U3dPoints &points, double g_step_x, double g_step_y, U3dBox *area=NULL)
 
- Public Member Functions inherited from U3dAbstractPRGrid2d
 U3dAbstractPRGrid2d ()
 
 U3dAbstractPRGrid2d (const U3dPointsAr &points, double g_step, U3dBox *area=NULL)
 
 U3dAbstractPRGrid2d (const U3dPoints &points, double g_step, U3dBox *area=NULL)
 
 U3dAbstractPRGrid2d (const U3dPoints &points, double g_step_x, double g_step_y, U3dBox *area=NULL)
 
 U3dAbstractPRGrid2d (const U3dPointsAr &points, double g_step_x, double g_step_y, U3dBox *area=NULL)
 
 U3dAbstractPRGrid2d (const U3dAbstractPRGrid2d &obj)
 
virtual ~U3dAbstractPRGrid2d ()
 
virtual U3dAbstractPRGrid2dclone ()
 
virtual void construct (const U3dPointsAr &points, double g_step, U3dBox *area=NULL)
 
virtual void construct (const U3dPoints &points, double g_step, U3dBox *area=NULL)
 
void setMinGridStepX (double eps)
 
void setMinGridStepY (double eps)
 
double getMinGridStepX ()
 
double getMinGridStepY ()
 
void getGridArea (U3dPoint &min, U3dPoint &max)
 
int getGridXSize () const
 
int getGridYSize () const
 
int getGridPoint (int i, int j, U3dPoint &p) const
 
int setGridPointZ (int i, int j, double z)
 
U3dPointsAr & getInitialPoints ()
 
virtual void addPoint (U3dPoint *)
 
virtual bool removePoint (int)
 

Protected Member Functions

virtual void push_ip (const U3dPoint *point)
 
void clear ()
 
virtual void calc_grid_z_levels ()
 
virtual double calc_nip_z (double x, double y)
 
void expand_grid_area (U3dBox *area)
 

Static Protected Member Functions

static int get_ip_id (double x, std::vector< double > &grd_x, double dx, double &xmn, double &xmx)
 
static bool add_grid_cell (int ix, int jy, GridCell &cell, GridMatrix &rgrid, double &zmn, double &zmx, double &pzmn, double &pzmx, std::vector< double > &xgd, std::vector< double > &ygd, double x, double y, bool is_increase_xy=true)
 
- Static Protected Member Functions inherited from U3dAbstractPRGrid2d
static void correct_id (int &id, int size)
 

Friends

class U3dPRGrid3d
 

Additional Inherited Members

- Public Types inherited from U3dAbstractPRGrid2d
typedef std::vector< GridCellGridLine
 
typedef std::vector< GridLineGridMatrix
 
- Protected Attributes inherited from U3dAbstractPRGrid2d
U3dPointsAr m_ips
 
double minGridEpsX
 
double minGridEpsY
 
std::vector< double > m_grd_x
 
std::vector< double > m_grd_y
 
GridMatrix m_grid
 
Area3d m_area3d
 

Detailed Description

2D pseudo regular grid constructed for a number of 3D points.

Constructor & Destructor Documentation

U3dPRGrid2d::U3dPRGrid2d ( )

Default construct, object is empty

U3dPRGrid2d::U3dPRGrid2d ( const U3dPointsAr &  points,
double  g_step,
U3dBox area = NULL 
)

Construct grid with points, minimal grid step and expanded area provided

U3dPRGrid2d::U3dPRGrid2d ( const U3dPRGrid2d obj)

Copy constructor

virtual U3dPRGrid2d::~U3dPRGrid2d ( )
virtual

Destruct object

Member Function Documentation

static bool U3dPRGrid2d::add_grid_cell ( int  ix,
int  jy,
GridCell cell,
GridMatrix rgrid,
double &  zmn,
double &  zmx,
double &  pzmn,
double &  pzmx,
std::vector< double > &  xgd,
std::vector< double > &  ygd,
double  x,
double  y,
bool  is_increase_xy = true 
)
staticprotected

Add provided grid cell to current grid with indexies (ix,jy). If any index is < 0 it means that in this direction new point or line is too close (look minGridEps) to other and indexies go in negative direction like ind_new = -(old_ind+1). Return true if new initial point was placed on the grid, otherwise fase.

virtual void U3dPRGrid2d::calc_grid_z_levels ( )
protectedvirtual

Calculate z-levels for not initial grid points

Reimplemented in U3dPRGrid2dAD, and U3dPRGrid2dMaze.

virtual double U3dPRGrid2d::calc_nip_z ( double  x,
double  y 
)
protectedvirtual

Calculate z-coordinate value of not initial grid point. Current array of initial points is used for calculations. x and y is planar coordinates of not initial point.

Reimplemented in U3dPRGrid2dAD.

void U3dPRGrid2d::clear ( )
protected

Clear internal data

virtual void U3dPRGrid2d::construct ( const U3dPointsAr &  points,
double  g_step_x,
double  g_step_y,
U3dBox area = NULL 
)
virtual

Construct grid for provided initial points, minimal grid step value and predefined area provided

void U3dPRGrid2d::expand_grid_area ( U3dBox area)
protected

Expand area if it is provided

static int U3dPRGrid2d::get_ip_id ( double  x,
std::vector< double > &  grd_x,
double  dx,
double &  xmn,
double &  xmx 
)
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

virtual void U3dPRGrid2d::push_ip ( const U3dPoint point)
protectedvirtual

Push initial point to array of initial points and to the proper grid cell


The documentation for this class was generated from the following file: