C3D Toolkit
Kernel - 117982, Vision - 2.9.2.2
|
The parameters for building the swept mutable section surface. More...
#include <op_swept_parameter.h>
Public Member Functions | |
MbSectionData () | |
Empty constructor. | |
MbSectionData (MbCurve3D &sp, MbeSectionShape f, MbSectionRail &r1, MbSectionRail &r2, MbCurve3D *ap, MbSectionRule &desc, MbPolyCurve *patt, const MbSNameMaker &names) | |
Constructor by parameters. More... | |
MbSectionData (const MbSectionData &other) | |
Copy-constructor. | |
MbSectionData (const MbSectionData &other, MbRegDuplicate *ireg) | |
Copy-constructor. | |
~MbSectionData () | |
Destructor. | |
void | SetSpine (MbCurve3D &s) |
Set reference curve. | |
void | SetSpine (const MbVector3D &a) |
Set the direction vector of the reference curve (if spine= = nullptr). | |
const MbCurve3D * | GetSpine () const |
Get reference curve. | |
MbeSectionShape | GetSectionForm () const |
Get cross-section shape. | |
void | SetSectionForm (MbeSectionShape f) |
Set cross-section shape. More... | |
MbSectionRail & | GetRrail1 () |
The data of the end of section. | |
void | AddFace1 (MbFace &_face, bool side, MbSolid *solid=nullptr) |
Add guide face. | |
void | GetFaces1 (std::vector< MbFace * > &fas) const |
Get surfaces. | |
void | GetFaces2 (std::vector< MbFace * > &fas) const |
Get surfaces. | |
void | GetFaceSide1 (std::vector< bool > &fSide) const |
On which sides to touch surfaces? | |
void | GetFaceSide2 (std::vector< bool > &fSide) const |
On which sides to touch surfaces? | |
void | GetFaceIndex1 (std::vector< MbItemIndex > &fas) const |
Get reference face numbers. | |
size_t | GetFacesCount1 () const |
Get guide faces count. | |
const MbFace * | GetFace1 (size_t i) const |
Get guide face. | |
const MbFace * | GetFace2 (size_t i) const |
Get guide face. | |
void | AddEdge1 (MbCurveEdge &_edge, bool side, MbSolid *solid=nullptr) |
Add guiding to data. | |
void | GetEdges1 (std::vector< MbCurveEdge * > &eds) const |
Get guide edges. | |
void | GetEdges2 (std::vector< MbCurveEdge * > &eds) const |
Get guide edges. | |
void | GetEdgeSide1 (std::vector< bool > &eSide) const |
Which side should the surface join smoothly to? | |
void | GetEdgeSide2 (std::vector< bool > &eSide) const |
Which side should the surface join smoothly to? | |
void | GetEdgeIndex1 (std::vector< MbItemIndex > &eds) const |
Get guide edge numbers. | |
size_t | GetEdgesCount1 () const |
Get guide edges count. | |
const MbCurveEdge * | GetEdge1 (size_t i) const |
Get guide edge. | |
const MbCurveEdge * | GetEdge2 (size_t i) const |
Get guide edge. | |
void | GetSolids1 (std::vector< MbSolid * > &sols) const |
Get solids of reference faces or guide edges. | |
size_t | GetSolidsCount1 () const |
Get solids of reference faces or guide edges count. | |
const MbSolid * | GetSolid1 (size_t i) const |
Get solid by index. | |
void | GetUniqueSolids1 (std::vector< MbSolid * > &sols) const |
Give out unique solids. | |
void | AddCurve1 (MbCurve3D &crv) |
Add guiding to data. | |
void | GetCurves1 (std::vector< MbCurve3D * > &crs) const |
Get additional guide curves. | |
void | GetCurves2 (std::vector< MbCurve3D * > &crs) const |
Get additional guide curves. | |
size_t | GetCurvesCount1 () const |
Get additional guide curves count. | |
const MbCurve3D * | GetCurve1 (size_t i) const |
Get guide curve. | |
const MbCurve3D * | GetCurve2 (size_t i) const |
Get guide curve. | |
void | SetTrack1 (MbCurve3D &tr) |
Add curve that the section should pass through. | |
void | SetTrack2 (MbCurve3D &tr) |
Add curve that the section should pass through. | |
const MbCurve3D * | GetTrack1 () const |
Get the curve that the section should pass through. | |
const MbCurve3D * | GetTrack2 () const |
Get the curve that the section should pass through. | |
MbCurve3D * | SetTrack1 () |
Get the curve that the section should pass through. | |
MbCurve3D * | SetTrack2 () |
Get the curve that the section should pass through. | |
void | SetAngle1 (MbFunction &ang, ThreeStates ts) |
Add functions to data. | |
void | SetAngle2 (MbFunction &ang, ThreeStates ts) |
Add functions to data. | |
const MbFunction * | GetAngle1 () const |
Get angle functions. | |
const MbFunction * | GetAngle2 () const |
Get angle functions. | |
MbFunction * | SetAngle1 () |
Get angle function. | |
MbFunction * | SetAngle2 () |
Get angle function. | |
ThreeStates | GetState1 () const |
What is the angle of the function set to: to the chord, to the surface, to the surface normal. | |
void | SetState1 (ThreeStates st) |
How to count the angle of the function: from the chord, from the surface, from the surface normal. | |
void | SetApexCurve (MbCurve3D &curv) |
Set apex curve. | |
MbCurve3D * | SetApexCurve () |
Get apex curve. | |
const MbCurve3D * | GetApexCurve () const |
Get apex curve. | |
MbeCopyMode | GetCopyMode () const |
Get methods of transferring data while copying shells. | |
void | SetCopyMode (MbeCopyMode m) |
Set methods of transferring data while copying shells. | |
const MbSectionRule & | GetSectionRule () const |
Get section control data. | |
const MbFunction * | GetFunction () const |
Get section control function (radius or discriminant). | |
void | SetFunction (MbFunction &f) |
Set section control function. | |
const MbCurve3D * | GetDescriptCurve () const |
Get section control curve. | |
const MbSurface * | GetDescriptSurface () const |
Get section control surface. | |
const MbFaceShell * | GetDescriptShell () const |
Get section control shell. | |
MbeSmoothForm | GetSubForm () const |
Get a blend surface cross-section form (fillet or chamfer). | |
void | SetSubForm (MbeSmoothForm f) |
Set a blend surface cross-section form (fillet or chamfer). | |
double | GetRatio () const |
Get the ratio. | |
void | SetRatio (double r) |
Set the ratio. | |
const MbPolyCurve * | GetPattern () const |
Get forming curve. | |
void | SetPattern (MbPolyCurve &p) |
Set forming curve. | |
const MbVector3D & | GetDirection () const |
Get the direction from which the angle is calculated. | |
void | SetDirection (const MbVector3D &dir) |
Set the direction from which the angle is calculated. | |
MbeSideShape | GetSideShape () const |
Get the shape of cropping the sides of the surface. | |
void | SetSideShape (MbeSideShape s) |
Set the shape of cropping the sides of the surface. | |
MbeFaceHandling | GetFaceHandling () const |
Get the processing of initial reference faces. | |
void | SetFaceHandling (MbeFaceHandling h) |
Set the processing of initial reference faces. | |
bool | GetFaceSplit () const |
Is divide the shell into faces by segments of guides? | |
void | SetFaceSplit (bool s) |
Set division the shell into faces by segments of guides. | |
bool | GetElongated () const |
How to cut the support shell on the boundary edge? | |
void | SetElongated (bool e) |
Set the support shell cutting on the boundary edge. | |
double | GetUMin () const |
Minimal value of the first parameter. | |
double | GetUMax () const |
Maximal value of the first parameter. | |
void | SetUParams (double u1, double u2) |
Set the first parameter region of the surface. | |
double | GetBuildSag () const |
Angular deviation while moving along curves and surfaces. | |
double | GetAccuracy () const |
An accuracy of building tolerant objects. | |
uint32 | GetCount () const |
Minimum number of steps along the reference curve. | |
bool | GetCheck () const |
Check the self-intersection of the constructed surface. | |
const MbSNameMaker & | GetNameMaker () const |
Get an object defining names generation in the operation. | |
void | Transform (const MbMatrix3D &matr, MbRegTransform *iReg=nullptr) |
Transform the object. | |
void | Move (const MbVector3D &to, MbRegTransform *iReg=nullptr) |
Move the object. | |
void | Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=nullptr) |
Rotate the object. | |
bool | IsSame (const MbSectionData &other, double acc) const |
Determine whether an object is equal? | |
bool | IsSimilar (const MbSectionData &other) const |
Determine whether the objects are similar. | |
bool | SetEqual (const MbSectionData &other) |
Make objects equal. | |
void | operator= (const MbSectionData &other) |
Assignment operator without copying. | |
![]() | |
MbPrecision () | |
Default constructor. | |
MbPrecision (double _precision, double _deviation) | |
Constructor by the specified precision. | |
MbPrecision (const MbPrecision &other) | |
Copy-constructor. | |
~MbPrecision () | |
Destructor. | |
void | Init (const MbPrecision &other) |
Initialization function. | |
void | Init (double _precision) |
Initialization function. | |
MbPrecision & | operator= (const MbPrecision &other) |
Assignment operator. | |
bool | IsSame (const MbPrecision &other, double accuracy) const |
Determine whether an object is equal? | |
double | GetPrecision () const |
Get precision. | |
void | SetPrecision (double a) |
Set precision. | |
Additional Inherited Members | |
![]() | |
static double | GetMaxMetricTolerance () |
Get the maximum metric tolerance. More... | |
static double | GetMaxAngleTolerance () |
Get the maximum angular tolerance. More... | |
![]() | |
double | precision |
The metric precision of the construction of objects. | |
double | deviation |
The angular precision of the construction of objects. | |
The parameters for building the swept mutable section surface.
The swept mutable section surface is form-generating by moving the flat section along the reference curve.
The flat section can start on a guide curve and end on another guide curve. There can be two guide curves, one or none. In addition, control curves can be used in the construction.
The cross section of a surface with a plane perpendicular to the reference curve can have one of five shapes, and some of them can change according to a given law. The cross section can take the form of a circle (or its arc), a straight line segment, a second-order curve, a third-order curve, or a given spline curve.
As an example, consider a section in the form of a second-order curve. In this case, you must specify two edges as MbSectionRail::edges or as MbSectionRail::curves. The second-order curve starts at the intersection of the first guide with the cross-section plane and ends at the intersection of the second guide with the cross-section plane. The direction of the second-order curve on the begining or on the end can be set in one of the following ways:
MbSectionData::MbSectionData | ( | MbCurve3D & | sp, |
MbeSectionShape | f, | ||
MbSectionRail & | r1, | ||
MbSectionRail & | r2, | ||
MbCurve3D * | ap, | ||
MbSectionRule & | desc, | ||
MbPolyCurve * | patt, | ||
const MbSNameMaker & | names | ||
) |
Constructor by parameters.
[in] | sp | - The reference curve. |
[in] | f | - The surface cross-section shape. |
[in] | r1 | - The data of the begining of section. |
[in] | r2 | - The data of the end of section. |
[in] | ap | - The apex curve (may be empty). |
[in] | desc | - Section control function (may be nullptr). |
[in] | patt | - Forming curve (may be nullptr). |
[in] | names | - An object defining names generation in the operation. |
|
inline |
Set cross-section shape.
The data of the begining of section.