C3D Toolkit  Kernel - 117958, Vision -

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)
 MbSectionRail (const MbSectionRail &other, MbRegDuplicate *ireg)
 ~MbSectionRail ()
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 MbFaceGetFace (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 MbCurveEdgeGetEdge (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 MbSolidGetSolid (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 MbCurve3DGetCurve (size_t i) const
 Get additional guide curve.
void SetTrack (MbCurve3D &trk)
 Add curve to data.
const MbCurve3DGetTrack () const
 Get the curve that the section should pass through.
void SetAngle (MbFunction &an, ThreeStates ts)
 Set section control function.
const MbFunctionGetAngle () 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.

Detailed Description

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.

Constructor & Destructor Documentation

◆ MbSectionRail()

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.

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