C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

The parameters for building the swept mutable section surface. More...

#include <op_swept_parameter.h>

+ Inheritance diagram for MbSectionData:
+ Collaboration diagram for MbSectionData:

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 MbCurve3DGetSpine () const
 Get reference curve.
 
MbeSectionShape GetSectionForm () const
 Get cross-section shape.
 
void SetSectionForm (MbeSectionShape f)
 Set cross-section shape. More...
 
MbSectionRailGetRrail1 ()
 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 MbFaceGetFace1 (size_t i) const
 Get guide face.
 
const MbFaceGetFace2 (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 MbCurveEdgeGetEdge1 (size_t i) const
 Get guide edge.
 
const MbCurveEdgeGetEdge2 (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 MbSolidGetSolid1 (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 MbCurve3DGetCurve1 (size_t i) const
 Get guide curve.
 
const MbCurve3DGetCurve2 (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 MbCurve3DGetTrack1 () const
 Get the curve that the section should pass through.
 
const MbCurve3DGetTrack2 () const
 Get the curve that the section should pass through.
 
MbCurve3DSetTrack1 ()
 Get the curve that the section should pass through.
 
MbCurve3DSetTrack2 ()
 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 MbFunctionGetAngle1 () const
 Get angle functions.
 
const MbFunctionGetAngle2 () const
 Get angle functions.
 
MbFunctionSetAngle1 ()
 Get angle function.
 
MbFunctionSetAngle2 ()
 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.
 
MbCurve3DSetApexCurve ()
 Get apex curve.
 
const MbCurve3DGetApexCurve () 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 MbSectionRuleGetSectionRule () const
 Get section control data.
 
const MbFunctionGetFunction () const
 Get section control function (radius or discriminant).
 
void SetFunction (MbFunction &f)
 Set section control function.
 
const MbCurve3DGetDescriptCurve () const
 Get section control curve.
 
const MbSurfaceGetDescriptSurface () const
 Get section control surface.
 
const MbFaceShellGetDescriptShell () 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 MbPolyCurveGetPattern () const
 Get forming curve.
 
void SetPattern (MbPolyCurve &p)
 Set forming curve.
 
const MbVector3DGetDirection () 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 MbSNameMakerGetNameMaker () 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.
 
- Public Member Functions inherited from MbPrecision
 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.
 
MbPrecisionoperator= (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 Public Member Functions inherited from MbPrecision
static double GetMaxMetricTolerance ()
 Get the maximum metric tolerance. More...
 
static double GetMaxAngleTolerance ()
 Get the maximum angular tolerance. More...
 
- Protected Attributes inherited from MbPrecision
double precision
 The metric precision of the construction of objects.
 
double deviation
 The angular precision of the construction of objects.
 

Detailed Description

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:

  • the face surface of the edge (s) MbSectionRail::edges, where MbSectionRail::edgeSide specifies the face on the left or on the right;
  • surface of the curve (s) MbSectionRail::curves, if the curve has a surface in its data;
  • function of the tangent angle MbSectionRail:: angle, the parameter MbSectionRail::state specifies from what the angle is calculated;
  • an additional control curve MbSectionRail::track, the second-order curve should pass through the point of intersection of the control curve with the cross-section plane;
  • vertex curve MbSectionData::apexCurve, whose intersection point with the section plane determines the intersection point of the tangents of second-order curve at the begining and at the end; The second-order curve discriminant can be set in one of the following ways:
  • the function for changing the discriminant MbSectionRule:: discr;
  • an additional control curve MbSectionRule::track, the second-order curve should pass through the point of intersection of the control curve with the cross-section plane;
  • an additional surface MbSsectionRule::touch that the second-order curve of the section should touch; If there are guide curves and their bearing surfaces, the constructed sweep surface is smoothly joined to the bearing surfaces.

Constructor & Destructor Documentation

◆ MbSectionData()

MbSectionData::MbSectionData ( MbCurve3D sp,
MbeSectionShape  f,
MbSectionRail r1,
MbSectionRail r2,
MbCurve3D ap,
MbSectionRule desc,
MbPolyCurve patt,
const MbSNameMaker names 
)

Constructor by parameters.

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.

Member Function Documentation

◆ SetSectionForm()

void MbSectionData::SetSectionForm ( MbeSectionShape  f)
inline

Set cross-section shape.

The data of the begining of section.


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