C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
The parameters of spline surface. More...
#include <op_shell_parameter.h>
Public Member Functions | |
NurbsSurfaceValues () | |
Default constructor. More... | |
NurbsSurfaceValues (const NurbsSurfaceValues &) | |
Copy-constructor. | |
~NurbsSurfaceValues () | |
Destructor. | |
bool | InitMesh (ptrdiff_t uDeg, bool uCls, ptrdiff_t vDeg, bool vCls, const Array2< MbCartPoint3D > &pnts, bool checkSelfInt) |
Initialization by grid of points. More... | |
bool | InitMesh (ptrdiff_t uDeg, bool uCls, ptrdiff_t vDeg, bool vCls, const Array2< MbCartPoint3D > &pnts, const Array2< double > *wts, bool checkSelfInt) |
Initialization by grid of points. More... | |
bool | InitCloud (ptrdiff_t uvDeg, const Array2< MbCartPoint3D > &pnts, const MbPlacement3D *cloudPlace, bool checkSelfInt) |
Initialization by point cloud. More... | |
void | operator= (const NurbsSurfaceValues &) |
Copy-operator. | |
bool | IsValid (bool checkPoints) const |
Initial check of parameters correctness. | |
ptrdiff_t | GetUDegree () const |
Get splines degree along U. | |
ptrdiff_t | GetVDegree () const |
Get splines degree along V. | |
bool | GetUClosed () const |
Closedness along U. | |
bool | GetVClosed () const |
Closedness along V. | |
size_t | GetUCount () const |
A count of points along U. | |
size_t | GetVCount () const |
A count of points along V. | |
bool | SetUDegree (size_t uDeg) |
Set spline degree along u. | |
bool | SetVDegree (size_t vDeg) |
Set spline degree along v. | |
void | SetUClosed (bool uCls) |
Set closedness along U. | |
void | SetVClosed (bool vCls) |
Set closedness along V. | |
bool | GetUVPoint (size_t ui, size_t vi, MbCartPoint3D &) const |
Get point by position. | |
bool | GetUVWeight (size_t ui, size_t vi, double &) const |
Get weight by position. | |
bool | GetCommonWeight (double &) const |
Get total weight (return true if all the weights are the same). | |
bool | SetUVPoint (size_t ui, size_t vi, const MbCartPoint3D &) |
Set points by position. | |
bool | SetUVWeight (size_t ui, size_t vi, const double &) |
Set weight by position. | |
bool | SetCommonWeight (double) |
Set total weight. | |
void | Transform (const MbMatrix3D &, MbRegTransform *ireg) |
Transform data according to the matrix. | |
void | Move (const MbVector3D &, MbRegTransform *ireg) |
Move data along a vector. | |
void | Rotate (const MbAxis3D &, double angle, MbRegTransform *ireg) |
Rotate data at a given angle around an axis. | |
bool | SetSize (size_t ucnt, size_t vcnt, bool keepData=false) |
Set the size of arrays of points and weights without saving or with saving of existing data. | |
void | SetThroughPoints (bool tp) |
Set flag of surface passing through the points. | |
bool | IsThroughPoints () const |
Whether the surface passes through the points? | |
bool | IsPointsCloud () const |
Whether the array is point cloud? | |
bool | IsOwnCloudPlane () const |
Whether the own plane of projection is used (in the case of array by point cloud)? | |
bool | CheckSelfInt () const |
Whether it is necessary to check self-intersections? | |
void | GetCheckLines (CSSArray< size_t > &checkNumbers) const |
Get the array of indices of checked rows. | |
void | GetCheckCols (CSSArray< size_t > &checkNumbers) const |
Get the array of indices of checked columns. | |
size_t | GetPointsLines () const |
Get the count of rows. | |
size_t | GetPointsColumns () const |
Get the count of columns. | |
bool | GetPoints (Array2< MbCartPoint3D > &pnts) const |
Get array of points. | |
bool | IsWeighted () const |
Is there weights? | |
bool | GetWeights (Array2< double > &wts) const |
Get array of weights. | |
const MbPlane * | GetCloudPlane () const |
Get the plane of projection. | |
ptrdiff_t | GetMinCloudDegree () const |
The smallest possible order of splines in the case of point cloud. More... | |
ptrdiff_t | GetMaxCloudDegree () const |
The maximum possible order of splines in the case of point cloud. More... | |
bool | SetCloudDegreeRange (const NurbsSurfaceValues &meshParam) const |
Set the maximum possible order by processed (regularized) point cloud. | |
Friends | |
class | MbNurbsSurfacesSolid |
The parameters of spline surface.
The parameters determines control points, weights, knots of spline surface.
NurbsSurfaceValues::NurbsSurfaceValues | ( | ) |
Default constructor.
Constructor of parameters of non-closed spline surface of second order along the u and v directions.
bool NurbsSurfaceValues::InitMesh | ( | ptrdiff_t | uDeg, |
bool | uCls, | ||
ptrdiff_t | vDeg, | ||
bool | vCls, | ||
const Array2< MbCartPoint3D > & | pnts, | ||
bool | checkSelfInt | ||
) |
Initialization by grid of points.
Initialization of parameters of spline surface by grid of points.
[in] | uDeg,vDeg | - Order along u and v. |
[in] | uCls,vCls | - Attribute of surface closedness along u and v. |
[in] | pnts | - A point set. |
[in] | checkSelfInt | - Attribute of check for self-intersection. |
bool NurbsSurfaceValues::InitMesh | ( | ptrdiff_t | uDeg, |
bool | uCls, | ||
ptrdiff_t | vDeg, | ||
bool | vCls, | ||
const Array2< MbCartPoint3D > & | pnts, | ||
const Array2< double > * | wts, | ||
bool | checkSelfInt | ||
) |
Initialization by grid of points.
Initialization of parameters of spline surface by grid of points.
[in] | uDeg,vDeg | - Order along u and v. |
[in] | uCls,vCls | - Attribute of surface closedness along u and v. |
[in] | pnts | - A point set. |
[in] | wts | - Weights of points. |
[in] | checkSelfInt | - Attribute of check for self-intersection. |
bool NurbsSurfaceValues::InitCloud | ( | ptrdiff_t | uvDeg, |
const Array2< MbCartPoint3D > & | pnts, | ||
const MbPlacement3D * | cloudPlace, | ||
bool | checkSelfInt | ||
) |
Initialization by point cloud.
Initialization by point cloud (used the original plane).
If uvDeg < 0, then set of triangular plates is created
(by triangulation of points projections on the cloudPlace)
[in] | uvDeg | - Order along u and v. |
[in] | pnts | - Set of points. Set of points is suitable for initialization (is a point cloud) if it is one-dimensional array of points which don't lie on a straight line without coincidence. |
[in] | cloudPlace | - Support plane of point cloud. |
[in] | checkSelfInt | - Attribute of check for self-intersection. |
|
inline |
The smallest possible order of splines in the case of point cloud.
The smallest possible order of splines in the case of point cloud.
Request after the successful creation of the surface otherwise returns a negative value.
|
inline |
The maximum possible order of splines in the case of point cloud.
The maximum possible order of splines in the case of point cloud.
Request after the successful creation of the surface otherwise returns a negative value.