C3D Toolkit
Kernel - 117958, Vision - 2.7.6.12
|
The surface section control function. More...
#include <op_swept_parameter.h>
Public Member Functions | |
MbSectionRail () | |
Empty constructor. | |
MbSectionRail (std::vector< MbCurveEdge * > &edges_, std::vector< bool > &eSides, std::vector< MbFace * > &faces_, std::vector< bool > &fSides, std::vector< MbCurve3D * > &cs, MbCurve3D *trk, MbFunction *ang, ThreeStates st) | |
Constructor by parameters. More... | |
MbSectionRail (const MbSectionRail &other) | |
Copy-constructor. | |
MbSectionRail (const MbSectionRail &other, MbRegDuplicate *ireg) | |
Copy-constructor. | |
~MbSectionRail () | |
Destructor. | |
void | AddFace (MbFace &_face, bool side, MbSolid *solid=nullptr) |
Add surface to data. | |
void | GetFaces (std::vector< MbFace * > &fas) const |
Get faces. | |
void | GetFaceSide (std::vector< bool > &fSide) const |
On which sides to touch surfaces? | |
void | GetFaceIndex (std::vector< MbItemIndex > &fas) const |
Get reference face numbers. | |
size_t | GetFacesCount () const |
Get guide faces count. | |
const MbFace * | GetFace (size_t i) const |
Get guide face. | |
void | SetFaceSide (size_t i, bool s) |
Set face side. | |
void | AddEdge (MbCurveEdge &_edge, bool side, MbSolid *solid=nullptr) |
Add guiding to data. | |
void | GetEdges (std::vector< MbCurveEdge * > &eds) const |
Get guide edges. | |
void | GetEdgeSide (std::vector< bool > &eSide) const |
Which side should the surface join smoothly to? | |
void | GetEdgeIndex (std::vector< MbItemIndex > &ads) const |
Get guide edge numbers. | |
size_t | GetEdgesCount () const |
Get guide edges count. | |
const MbCurveEdge * | GetEdge (size_t i) const |
Get guide edge. | |
void | SetEdgeSide (size_t i, bool s) |
Set edge side. | |
void | GetSolids (std::vector< MbSolid * > &sols) const |
Get solids of reference faces or guide edges. | |
size_t | GetSolidsCount () const |
Get solids of reference faces or guide edges count. | |
const MbSolid * | GetSolid (size_t i) const |
Get solid by index. | |
void | SolidsClear () |
Solid conteiner clear. | |
void | GetUniqueSolids (std::vector< MbSolid * > &sols) const |
Give out unique solids. | |
void | AddCurve (MbCurve3D &_curve) |
Add curve to data. | |
void | AddCurves (std::vector< MbCurve3D * > &_curves) |
Add curves to data. | |
void | GetCurves (std::vector< MbCurve3D * > &crs) const |
Get additional guide curves. | |
size_t | GetCurvesCount () const |
Get additional guide curves count. | |
const MbCurve3D * | GetCurve (size_t i) const |
Get additional guide curve. | |
void | SetTrack (MbCurve3D &trk) |
Add curve to data. | |
const MbCurve3D * | GetTrack () const |
Get the curve that the section should pass through. | |
void | SetAngle (MbFunction &an, ThreeStates ts) |
Set section control function. | |
const MbFunction * | GetAngle () const |
Get section control function (radius or discriminant). | |
ThreeStates | GetState () const |
What is the angle of the function set to: to the chord, to the surface, to the surface normal. | |
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 MbSectionRail &other, double accuracy) const |
Determine whether an object is equal? | |
bool | IsSimilar (const MbSectionRail &other) const |
Determine whether the objects are similar. | |
bool | SetEqual (const MbSectionRail &other) |
Make objects equal. | |
bool | FindIndex (const MbFaceShell &shell) |
Find the numbers of edges and faces in the shell. | |
void | operator= (const MbSectionRail &other) |
Assignment operator without copying. | |
The surface section control function.
The end of the section is determined as point either edges, or curves. The direction on the end of the section is determined as either the surfaces of edges, or the surfaces of faces, or a function of the angle.
MbSectionRail::MbSectionRail | ( | std::vector< MbCurveEdge * > & | edges_, |
std::vector< bool > & | eSides, | ||
std::vector< MbFace * > & | faces_, | ||
std::vector< bool > & | fSides, | ||
std::vector< MbCurve3D * > & | cs, | ||
MbCurve3D * | trk, | ||
MbFunction * | ang, | ||
ThreeStates | st | ||
) |
Constructor by parameters.
[in] | eds | - The guide edges. |
[in] | eSide | - Which side should the surface join smoothly to (synchronously with edges). |
[in] | fcs | - The guide faces (may be empty). |
[in] | fSide | - On which sides to touch surfaces (synchronously with faces). |
[in] | cs | - The guide curves (may be empty). |
[in] | trk | - The curve that the section should pass through (may be nullptr). |
[in] | ang | - The function of the angle of inclination (may be nullptr). |
[in] | st | - How to use ang. |