C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
Classes | |
class | MbChamferSurface |
Chamfer surface. More... | |
class | MbChannelSurface |
Fillet surface with variable radius is normal or with preservation of edges. More... | |
class | MbConeSurface |
Conical surface. More... | |
class | MbCoonsPatchSurface |
Coons surface on four curves. More... | |
class | MbCornerSurface |
Triangular surface on curves. More... | |
class | MbCoverSurface |
Quadrangular surface on curves. More... | |
class | MbCurveBoundedSurface |
The surface bounded by curves. More... | |
class | MbCylinderSurface |
The cylindrical surface. More... | |
class | MbElementarySurface |
An elementary surface. More... | |
class | MbElevationSurface |
Lofted surface with guide curve. More... | |
class | MbEvolutionSurface |
The swept surface. More... | |
class | MbExactionSurface |
Sweep with guide curve surface with rotating ends. More... | |
class | MbExpansionSurface |
Motion surface (plane-parallel swept surface). More... | |
class | MbExplorationSurface |
The swept surface with scaling and winding of generation curve. More... | |
class | MbExtrusionSurface |
Extrusion surface. More... | |
class | MbFilletSurface |
Fillet surface of constant radii, ordinary or with preservation of fillet. More... | |
class | MbGregorySurface |
The surface on the bounding contour. More... | |
class | MbGridSurface |
Surface based on triangulation. More... | |
class | MbJoinSurface |
The surface of the joint. More... | |
class | MbLoftedSurface |
Lofted surface passing through given family of curves. More... | |
class | MbMeshSurface |
The surface constructed by the grid curves. More... | |
class | MbOffsetSurface |
Offset surface. More... | |
class | MbPlane |
A plane. More... | |
class | MbPolySurface |
A surface specified by rectangular matrix of points. More... | |
class | MbRevolutionSurface |
Revolution surface. More... | |
class | MbRuledSurface |
Ruled surface. More... | |
class | MbSectionSurface |
The mutable section surface. More... | |
class | MbSectorSurface |
Sectorial surface. More... | |
class | MbSmoothSurface |
Smooth surface. More... | |
class | MbSphereSurface |
Spherical surface. More... | |
class | MbSpiralSurface |
Spiral surface. More... | |
class | MbSplineSurface |
NURBS surface. More... | |
class | MbSweptSurface |
Swept surface. More... | |
class | MbTorusSurface |
Toroidal surface. More... | |
class | MbSurface |
Surface in three-dimensional space. More... | |
Enumerations | |
enum | MbeCoonsSurfaceCalcType { cst_DefaultType = 0 , cst_SurfaceType , cst_GregoryPatchType } |
Type of calculation of Coons surface. More... | |
enum | MbeMeshSurfaceVersion { msv_Ver0 = 0 , msv_Ver1 , msv_Ver2 , msv_Ver3 , msv_Ver4 , msv_Ver5 , msv_Count } |
Version of implementation of surface constructed by the grid curves. More... | |
Functions | |
MbeNewtonResult | NearestPoints (const MbSurface &surface, bool ext0, const MbCurve3D &curve, bool ext1, double &u0, double &v0, double &t0, double &dmin, bool t0Calculated=false) |
Calculate parameters of the nearest points of surface and curve. More... | |
MbeNewtonResult | NearestPoints (const MbSurface &surface0, bool ext0, const MbSurface &surface1, bool ext1, double &u0, double &v0, double &u1, double &v1, double &dmin, bool checkCurvilinearBounds) |
Calculate parameters of the nearest points of surfaces. More... | |
Functions for working at surface domain | |
Functions PointOn, Derive... correct parameters when getting out of rectangular domain bounds.
| |
virtual void | MbSurface::PointOn (double &u, double &v, MbCartPoint3D &p) const =0 |
Calculate a point on the surface. More... | |
virtual void | MbSurface::Explore (double &u, double &v, MbCartPoint3D &pnt, MbVector3D &uDer, MbVector3D &vDer) const |
Calculate point and first derivatives with respect to u and with respect to v. More... | |
virtual void | MbSurface::DeriveU (double &u, double &v, MbVector3D &) const =0 |
Calculate first derivative with respect to u. | |
virtual void | MbSurface::DeriveV (double &u, double &v, MbVector3D &) const =0 |
Calculate first derivative with respect to v. | |
virtual void | MbSurface::DeriveUU (double &u, double &v, MbVector3D &) const =0 |
Calculate second derivative with respect to u. | |
virtual void | MbSurface::DeriveVV (double &u, double &v, MbVector3D &) const =0 |
Calculate second derivative with respect to v. | |
virtual void | MbSurface::DeriveUV (double &u, double &v, MbVector3D &) const =0 |
Calculate second derivative. | |
virtual void | MbSurface::DeriveUUU (double &u, double &v, MbVector3D &) const =0 |
Calculate third derivative. | |
virtual void | MbSurface::DeriveUUV (double &u, double &v, MbVector3D &) const =0 |
Calculate third derivative. | |
virtual void | MbSurface::DeriveUVV (double &u, double &v, MbVector3D &) const =0 |
Calculate third derivative. | |
virtual void | MbSurface::DeriveVVV (double &u, double &v, MbVector3D &) const =0 |
Calculate third derivative. | |
virtual void | MbSurface::TangentU (double &u, double &v, MbVector3D &) const |
Calculate tangent vector in u. | |
virtual void | MbSurface::TangentV (double &u, double &v, MbVector3D &) const |
Calculate tangent vector in v. | |
virtual void | MbSurface::Normal (double &u, double &v, MbVector3D &) const |
Calculate normal. | |
virtual void | MbSurface::NormalU (double &u, double &v, MbVector3D &) const |
Calculate derivative of normal with respect to U. | |
virtual void | MbSurface::NormalV (double &u, double &v, MbVector3D &) const |
Calculate derivative of normal with respect to V. | |
Functions for working inside and outside the surface domain. | |
functions _PointOn, _Derive... of surfaces don't correct parameters when getting out of rectangular domain bounds. | |
virtual void | MbSurface::_PointOn (double u, double v, MbCartPoint3D &p) const |
Calculate a point on the surface. More... | |
virtual void | MbSurface::Explore (double &u, double &v, bool ext, MbCartPoint3D &pnt, MbVector3D &uDer, MbVector3D &vDer, MbVector3D *uuDer, MbVector3D *vvDer, MbVector3D *uvDer, MbVector3D *nor) const |
Calculate point and derivatives of object for given parameters. More... | |
virtual void | MbSurface::_PointNormal (double u, double v, MbCartPoint3D &pnt, MbVector3D &deru, MbVector3D &derv, MbVector3D &norm, MbVector3D &noru, MbVector3D &norv, MbVector3D &deruu, MbVector3D &dervv, MbVector3D &deruv) const |
Calculate all derivatives at point. More... | |
virtual void | MbSurface::_DeriveU (double u, double v, MbVector3D &) const |
Calculate first derivative with respect to u on extended surface. | |
virtual void | MbSurface::_DeriveV (double u, double v, MbVector3D &) const |
Calculate first derivative with respect to v on extended surface. | |
virtual void | MbSurface::_DeriveUU (double u, double v, MbVector3D &) const |
Calculate second derivative with respect to u on extended surface. | |
virtual void | MbSurface::_DeriveVV (double u, double v, MbVector3D &) const |
Calculate second derivative with respect to v on extended surface. | |
virtual void | MbSurface::_DeriveUV (double u, double v, MbVector3D &) const |
Calculate second derivative on extended surface. | |
virtual void | MbSurface::_DeriveUUU (double u, double v, MbVector3D &) const |
Calculate third derivative on extended surface. | |
virtual void | MbSurface::_DeriveUUV (double u, double v, MbVector3D &) const |
Calculate third derivative on extended surface. | |
virtual void | MbSurface::_DeriveUVV (double u, double v, MbVector3D &) const |
Calculate third derivative on extended surface. | |
virtual void | MbSurface::_DeriveVVV (double u, double v, MbVector3D &) const |
Calculate third derivative on extended surface. | |
virtual void | MbSurface::_TangentU (double u, double v, MbVector3D &) const |
Calculate tangent vector in u direction on extended surface. | |
virtual void | MbSurface::_TangentV (double u, double v, MbVector3D &) const |
Calculate tangent vector in v direction on extended surface. | |
virtual void | MbSurface::_Normal (double u, double v, MbVector3D &) const |
Calculate a normal on extended surface. | |
virtual void | MbSurface::_NormalU (double u, double v, MbVector3D &) const |
Calculate derivative of normal vector on extended surface. | |
virtual void | MbSurface::_NormalV (double u, double v, MbVector3D &) const |
Calculate derivative of normal vector on extended surface. | |
virtual void | MbSurface::_NormalUU (double u, double v, MbVector3D &) const |
Calculate second derivative of normal vector on extended surface. | |
virtual void | MbSurface::_NormalUV (double u, double v, MbVector3D &) const |
Calculate second derivative of normal vector on extended surface. | |
virtual void | MbSurface::_NormalVV (double u, double v, MbVector3D &) const |
Calculate second derivative of normal vector on extended surface. | |
virtual void | MbSurface::_NormalD (double u, double v, double du, double dv, MbVector3D &der) const |
Calculate derivative of normal vector at the point with the given parameters u and v along the line with the given direction (du,dv). | |
virtual void | MbSurface::_NormalDD (double u, double v, double du, double dv, MbVector3D &der) const |
Calculate second derivative of normal vector at the point with the given parameters u and v along the line with the given direction (du,dv). | |
Functions of moving on surface | |
virtual double | MbSurface::StepU (double u, double v, double sag) const |
Calculate parameter step. More... | |
virtual double | MbSurface::StepV (double u, double v, double sag) const |
Calculate parameter step. More... | |
virtual double | MbSurface::DeviationStepU (double u, double v, double angle) const |
Calculate parameter step. More... | |
virtual double | MbSurface::DeviationStepV (double u, double v, double angle) const |
Calculate parameter step. More... | |
virtual double | MbSurface::MetricStepU (double u, double v, double length) const |
Calculate parameter step. More... | |
virtual double | MbSurface::MetricStepV (double u, double v, double length) const |
Calculate parameter step. More... | |
double | MbSurface::SurfaceStep (const double &u, const double &v, bool alongU, const MbStepData &stepData) const |
Calculate parameter step. More... | |
virtual size_t | MbSurface::GetUCount () const |
The number of splittings by u-parameter for a check of events. | |
virtual size_t | MbSurface::GetVCount () const |
The number of splittings by v-parameter for a check of events. | |
Version of implementation of surface constructed by the grid curves.
Version of implementation of surface constructed by the grid curves.
|
pure virtual |
Calculate a point on the surface.
Correct parameters when getting out of rectangular domain bounds and Calculate a point on the surface.
[in] | u | - First surface parameter. |
[in] | v | - Second surface parameter. |
[out] | p | - A point on the surface. |
Implemented in MbMeshSurface, MbGridSurface, MbGregorySurface, MbCoverSurface, MbCornerSurface, MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbLoftedSurface, MbJoinSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbExactionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoonsPatchSurface, MbConeSurface, and MbChamferSurface.
|
inlinevirtual |
Calculate point and first derivatives with respect to u and with respect to v.
Correct parameters when getting out of rectangular domain bounds and calculate point and first derivatives with respect to u and with respect to v.
[in] | u | - Parameter. |
[in] | v | - Parameter. |
[out] | pnt | - Point. |
[out] | uDer | - Derivative with respect to u. |
[out] | vDer | - Derivative with respect to v. |
Reimplemented in MbSplineSurface.
|
virtual |
Calculate a point on the surface.
Calculate a point on the surface including the outside area determination parameters.
[in] | u | - First surface parameter. |
[in] | v | - Second surface parameter. |
[out] | p | - A point on the surface or on extended surface. |
Reimplemented in MbMeshSurface, MbJoinSurface, MbGregorySurface, MbCoverSurface, MbCornerSurface, MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbLoftedSurface, MbGridSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbExactionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoonsPatchSurface, MbConeSurface, and MbChamferSurface.
|
virtual |
Calculate point and derivatives of object for given parameters.
Values of point and derivatives are calculated on parameters area and on extended surface.
[in] | u | - Parameter. |
[in] | v | - Parameter. |
[in] | ext | - On parameters area (false), on extended surface (true). |
[out] | pnt | - Point. |
[out] | uDer | - Derivative with respect to u. |
[out] | vDer | - Derivative with respect to v. |
[out] | uuDer | - Second derivative with respect to u, if not nullptr. |
[out] | vvDer | - Second derivative with respect to v, if not nullptr. |
[out] | uvDer | - Second derivative with respect to u and v, if not nullptr. |
Reimplemented in MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbMeshSurface, MbLoftedSurface, MbJoinSurface, MbGridSurface, MbGregorySurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbExactionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoverSurface, MbCornerSurface, MbCoonsPatchSurface, MbConeSurface, and MbChamferSurface.
|
virtual |
Calculate all derivatives at point.
Values of point and derivatives are calculated an extended surface.
[in] | u | - Parameter. |
[in] | v | - Parameter. |
[out] | pnt | - Point. |
[out] | deru | - Derivative with respect to u. |
[out] | derv | - Derivative with respect to v. |
[out] | norm | - Normal. |
[out] | noru | - Derivative of normal vector with respect to u. |
[out] | norv | - Derivative of normal vector with respect to v. |
[out] | deruu | - Second derivative with respect to u. |
[out] | dervv | - Second derivative with respect to v. |
[out] | deruv | - Second derivative with respect to u and v. |
Reimplemented in MbFilletSurface, MbTorusSurface, MbSphereSurface, MbPlane, MbOffsetSurface, MbCylinderSurface, MbCurveBoundedSurface, and MbConeSurface.
|
virtual |
Calculate parameter step.
Calculate parameter step for the surface approximation by its sag value along a line with a constant value of v. Calculation of the step is performed with consideration of curvature radius. A step of surface approximation along a curve is chosen in such way, that the deviation from its polygon does not exceed the given value of sag.
[in] | u | - A parameter defining a point on the surface. |
[in] | v | - A parameter defining a point on the surface. |
[in] | sag | - Maximum feasible sag value. |
Reimplemented in MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbMeshSurface, MbLoftedSurface, MbJoinSurface, MbGridSurface, MbGregorySurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoverSurface, MbCornerSurface, MbCoonsPatchSurface, MbConeSurface, and MbChamferSurface.
|
virtual |
Calculate parameter step.
Calculate parameter step for the surface approximation by its sag value along a line with a constant value of u. Calculation of the step is performed with consideration of curvature radius. A step of surface approximation along a curve is chosen in such way, that the deviation from its polygon does not exceed the given value of sag.
[in] | u | - A parameter defining a point on the surface. |
[in] | v | - A parameter defining a point on the surface. |
[in] | sag | - Maximum feasible sag value. |
Reimplemented in MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbMeshSurface, MbLoftedSurface, MbJoinSurface, MbGridSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoverSurface, MbCornerSurface, MbCoonsPatchSurface, MbConeSurface, and MbChamferSurface.
|
virtual |
Calculate parameter step.
Calculate parameter step for the surface approximation by the deviation angle of the tangent vector along a line with a constant value of u. A step of surface approximation along a curve is chosen in such way, that angular deviation of the tangent to the curve at the next point does not exceed the given value ang.
[in] | u | - A parameter defining a point on the surface. |
[in] | v | - A parameter defining a point on the surface. |
[in] | ang | - The maximum feasible deviation angle of tangent. |
Reimplemented in MbSplineSurface, MbOffsetSurface, MbLoftedSurface, MbExpansionSurface, MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbJoinSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbConeSurface, MbChamferSurface, MbMeshSurface, MbGridSurface, MbGregorySurface, MbCoverSurface, MbCornerSurface, and MbCoonsPatchSurface.
|
virtual |
Calculate parameter step.
Calculate parameter step for the surface approximation by the deviation angle of the tangent vector along a line with a constant value of v. A step of surface approximation along a curve is chosen in such way, that angular deviation of the tangent to the curve at the next point does not exceed the given value ang.
[in] | u | - A parameter defining a point on the surface. |
[in] | v | - A parameter defining a point on the surface. |
[in] | ang | - The maximum feasible deviation angle of tangent. |
Reimplemented in MbSplineSurface, MbOffsetSurface, MbLoftedSurface, MbExpansionSurface, MbElevationSurface, MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbJoinSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbConeSurface, MbChamferSurface, MbMeshSurface, MbGridSurface, MbCoverSurface, MbCornerSurface, and MbCoonsPatchSurface.
|
virtual |
Calculate parameter step.
Calculate the parameter step for approximation of a surface by the given metric length of a step along a line with a constant value of u.
[in] | u | - A parameter defining a point on the surface. |
[in] | v | - A parameter defining a point on the surface. |
[in] | len | - The given metric length. |
Reimplemented in MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectionSurface, MbRevolutionSurface, MbPlane, MbJoinSurface, MbExtrusionSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, and MbConeSurface.
|
virtual |
Calculate parameter step.
Calculate the parameter step for approximation of a surface by the given metric length of a step along a line with a constant value of v.
[in] | u | - A parameter defining a point on the surface. |
[in] | v | - A parameter defining a point on the surface. |
[in] | len | - The given metric length. |
Reimplemented in MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbFilletSurface, MbExtrusionSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbConeSurface, and MbChamferSurface.
double MbSurface::SurfaceStep | ( | const double & | u, |
const double & | v, | ||
bool | alongU, | ||
const MbStepData & | stepData | ||
) | const |
Calculate parameter step.
Calculate parameter step for the surface approximation: by diviation sngle of normal; or by its sag value; or by the metric length.
[in] | u | - First surface parameter. |
[in] | v | - Second surface parameter. |
[in] | alongU | - Along the first (true) or second (false) surface parameter. |
[in] | stepData | - Data for step calculation. |
MbeNewtonResult NearestPoints | ( | const MbSurface & | surface, |
bool | ext0, | ||
const MbCurve3D & | curve, | ||
bool | ext1, | ||
double & | u0, | ||
double & | v0, | ||
double & | t0, | ||
double & | dmin, | ||
bool | t0Calculated = false |
||
) |
Calculate parameters of the nearest points of surface and curve.
Calculate parameters of the nearest points of surface and curve and the distance between these points.
[in] | surface | - Surface. |
[in] | ext0 | - An attribute of search at the extension of surface. |
[in] | curve | - A curve. |
[in] | ext1 | - An attribute of search at the extension of curve. |
[in,out] | u0 | - U-parameter of surface point. |
[in,out] | v0 | - V-parameter of surface point. |
[in,out] | t0 | - A curve point parameter. |
[out] | dmin | - The distance between points. |
[in] | tCalc | - The initialization flag t0 if true, then the output parameters u0, v0 and t0 are considered as initial approximations. |
MbeNewtonResult NearestPoints | ( | const MbSurface & | surface0, |
bool | ext0, | ||
const MbSurface & | surface1, | ||
bool | ext1, | ||
double & | u0, | ||
double & | v0, | ||
double & | u1, | ||
double & | v1, | ||
double & | dmin, | ||
bool | checkCurvilinearBounds | ||
) |
Calculate parameters of the nearest points of surfaces.
Calculate parameters of the nearest points of surfaces and the distance between these points.
[in] | surface0 | - Surface. |
[in] | ext0 | - An attribute of search at the extension of a surface 'surface0'. |
[in] | surface1 | - Surface. |
[in] | ext1 | - An attribute of search at the extension of a surface 'surface1'. |
[out] | u0 | - U-parameter of a point on the surface 'surface0'. |
[out] | v0 | - V-parameter of a point on the surface 'surface0'. |
[out] | u1 | - U-parameter of a point on the surface 'surface1'. |
[out] | v1 | - V-parameter of a point on the surface 'surface1'. |
[out] | dmin | - The distance between points on surfaces. |
[in] | checkCurvilinearBounds | - Check for curvilinear boundaries (if they are). |