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

#include <u3d_bspl3_surface4d.hpp>

Public Member Functions

 U3dBspl3Surface4d (const U3dBspl3AbstractMatrix &bm, const U3dPoints4dAr &points, double g_step)
 
 U3dBspl3Surface4d (const U3dBspl3Surface4d &obj)
 
virtual ~U3dBspl3Surface4d ()
 
virtual void approximate (const U3dBspl3AbstractMatrix &bm, const U3dPoints4dAr &points, double g_step)
 
virtual bool getPoint (double p, double q, double r, U3dPoint4d &point)
 
void getAreaSize (U3dPoint4d &min, U3dPoint4d &max)
 
bool isInterpolated ()
 
U3dBspl3MatrixType getType ()
 

Protected Types

typedef std::vector
< U3dSimpleBspl3Surf3d * > 
BsplLine
 
typedef std::vector< BsplLineBsplMatrix
 

Protected Member Functions

void clear ()
 
bool get_expanded_gp (int i, int j, int k, U3dPoint4d &point)
 

Protected Attributes

std::vector< BsplMatrixm_bspls_x4
 
std::vector
< U3dSimpleBspl3Curve * > 
m_bspls_x1
 
std::vector
< U3dSimpleBspl3Curve * > 
m_bspls_x2
 
std::vector
< U3dSimpleBspl3Curve * > 
m_bspls_x3
 
U3dPRGrid3dm_grid
 
U3dBspl3AbstractMatrixm_bm
 
bool m_is_ip_done
 

Detailed Description

4d surface constructed from the third order base spline on pseudoregular grid.

Member Typedef Documentation

typedef std::vector<U3dSimpleBspl3Surf3d*> U3dBspl3Surface4d::BsplLine
protected

Simple base spline 3d surfaces vector (line)

typedef std::vector<BsplLine> U3dBspl3Surface4d::BsplMatrix
protected

Simple base spline 3d surfaces matrix

Constructor & Destructor Documentation

U3dBspl3Surface4d::U3dBspl3Surface4d ( const U3dBspl3AbstractMatrix bm,
const U3dPoints4dAr &  points,
double  g_step 
)

Construct surface with provided interpolation points and for minimal grid step value. Base matrix defines approximation type.

U3dBspl3Surface4d::U3dBspl3Surface4d ( const U3dBspl3Surface4d obj)

Copy constructor

virtual U3dBspl3Surface4d::~U3dBspl3Surface4d ( )
virtual

Destruct object

Member Function Documentation

virtual void U3dBspl3Surface4d::approximate ( const U3dBspl3AbstractMatrix bm,
const U3dPoints4dAr &  points,
double  g_step 
)
virtual

Main approximation method. Requires base matrix, initial points and minimal regular grid step. Old initial points surface are deleting.

void U3dBspl3Surface4d::clear ( )
protected

Clear all data

bool U3dBspl3Surface4d::get_expanded_gp ( int  i,
int  j,
int  k,
U3dPoint4d point 
)
protected

Return point of expanded grid with boundary nodes. i = 0..m+3, j=0..n+3, k=0..k+3. Return true if ok.

void U3dBspl3Surface4d::getAreaSize ( U3dPoint4d min,
U3dPoint4d max 
)

Return current area size. Actually if approximation was made.

virtual bool U3dBspl3Surface4d::getPoint ( double  p,
double  q,
double  r,
U3dPoint4d point 
)
virtual

Get 4d point from provided pqr=[0..1]^3 parameters. Return true if interpolation was made.

U3dBspl3MatrixType U3dBspl3Surface4d::getType ( )

Return base spline surface type. If object is not ready return "Undefined".

bool U3dBspl3Surface4d::isInterpolated ( )
inline

Return true if interpolation was made

Member Data Documentation

U3dBspl3AbstractMatrix* U3dBspl3Surface4d::m_bm
protected

Beta surface base matrix

std::vector<U3dSimpleBspl3Curve*> U3dBspl3Surface4d::m_bspls_x1
protected

x1(p), x2(q), x3(r) spline curves

std::vector<BsplMatrix> U3dBspl3Surface4d::m_bspls_x4
protected

Simple base spline 3d surfaces cube Sijk(p,q,r)

U3dPRGrid3d* U3dBspl3Surface4d::m_grid
protected

Pseudo regular grid

bool U3dBspl3Surface4d::m_is_ip_done
protected

Is interpolation was made


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