C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Constructor of object of the geometric model. More...

#include <creator.h>

Inherits MbRefItem, and TapeBase.

Inherited by MbAttributeProvider, MbBeadSolid, MbBeamCreator, MbBendAnySolid, MbBendOverSegSolid, MbBendUnbendSolid, MbBendsByEdgesSolid, MbBooleanMeshCreator, MbBooleanSolid, MbBuildSheetMetalSolid, MbClosedCornerSolid, MbConnectingCurveCreator, MbCurveSweptSolid, MbCutMeshCreator, MbCuttingSolid, MbDetachSolid, MbDraftSolid, MbDuplicationSolid, MbElementarySolid, MbExtendCurveCreator, MbExtensionShell, MbFaceModifiedSolid, MbFilletWireFrameCreator, MbFireClothoidCreator, MbFireCreator, MbIntCurveCreator, MbJalousieSolid, MbJogSolid, MbJoinShell, MbJointBendSolid, MbMedianShell, MbMeshShell, MbModifiedNurbsItem, MbMotionMaker, MbNormalizeHolesSolid, MbNurbs3DCreator, MbNurbsBlockSolid, MbNurbsModification, MbNurbsSurfacesSolid, MbNurbsWireFrameCreator, MbOffsetCurveCreator, MbPatchCreator, MbProjCurveCreator, MbRemoveOperationSolid, MbRestoredEdgesSolid, MbReverseCreator, MbReverseMeshCreator, MbRibSolid, MbRotationMaker, MbRuledShell, MbRuledSolid, MbSectionShell, MbSheetMetalSolid, MbSheetUnionSolid, MbShellSolid, MbSimpleCreator, MbSimpleMeshCreator, MbSimpleWireFrameCreator, MbSimplifyFlatSolid, MbSmoothSolid, MbSphericalStampSolid, MbSplitShell, MbStampRibSolid, MbStampSolid, MbStitchedSolid, MbSurfaceSplineCreator, MbSymmetrySolid, MbThinShellCreator, MbTransformationMaker, MbTransformedSolid, MbTrimmedWireFrameCreator, MbTruncatedShell, MbUnWrapPointCreator, MbUnionSolid, MbUnwrapCurveCreator, MbUserStampSolid, MbWrapCurveCreator, and MbWrapPointCreator.

+ Collaboration diagram for MbCreator:

Public Member Functions

virtual ~MbCreator ()
 Destructor.
 
Common functions of the shell creator.
MbeRefType RefType () const override
 Get the registration type (for copying, duplication).
 
virtual MbeCreatorType IsA () const =0
 Get the object type.
 
virtual MbeCreatorType Type () const
 Get the group type of the object.
 
virtual MbCreatorDuplicate (MbRegDuplicate *iReg=nullptr) const =0
 Create a copy of the object. More...
 
virtual void Transform (const MbMatrix3D &matr, MbRegTransform *iReg=nullptr)=0
 Transform according to the matrix. More...
 
virtual void Move (const MbVector3D &to, MbRegTransform *iReg=nullptr)=0
 Translate along a vector. More...
 
virtual void Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=nullptr)=0
 Rotate an object about the axis. More...
 
virtual bool IsSame (const MbCreator &other, double accuracy) const =0
 Determine whether an object is equal? More...
 
virtual bool IsSimilar (const MbCreator &item) const
 Determine whether an object is similar? More...
 
virtual bool SetEqual (const MbCreator &)=0
 Make the objects equal if they are similar.
 
virtual bool CreateShell (MbFaceShell *&shell, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=nullptr)
 Create a shell from the initial data. More...
 
bool CreateShell (c3d::ShellSPtr &shell, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=nullptr)
 Create a shell from the initial data. More...
 
virtual bool CreateWireFrame (MbWireFrame *&frame, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=nullptr)
 Create a wire-frame from the source data. More...
 
bool CreateWireFrame (SPtr< MbWireFrame > &frame, MbeCopyMode sameShell)
 Create a wire-frame from the source data. More...
 
virtual bool CreatePointFrame (MbPointFrame *&frame, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=nullptr)
 Create a point-frame from the source data. More...
 
bool CreatePointFrame (SPtr< MbPointFrame > &frame, MbeCopyMode sameShell)
 Create a point-frame from the source data. More...
 
virtual bool CreateMesh (MbMesh *&mesh, MbeCopyMode sameShell, RPArray< MbSpaceItem > *items=nullptr)
 Create a polygonal object from the source data. More...
 
bool CreateMesh (SPtr< MbMesh > &mesh, MbeCopyMode sameShell)
 Create a polygonal object from the source data. More...
 
virtual void GetProperties (MbProperties &)
 Get properties of the object.
 
virtual void SetProperties (const MbProperties &)
 Set properties of the object.
 
virtual MbePrompt GetPropertyName ()=0
 Get a name of object property.
 
virtual void Refresh (MbFaceShell &)
 Update the shell shape.
 
virtual void Refresh (MbWireFrame &)
 Update the frame shape.
 
virtual void GetBasisItems (RPArray< MbSpaceItem > &)
 Get the basis objects.
 
virtual void GetBasisPoints (MbControlData3D &) const
 Get control points of object.
 
virtual void SetBasisPoints (const MbControlData3D &)
 Change the object by control points.
 
virtual size_t GetCreatorsCount (MbeCreatorType ct) const
 Count internal creators by type.
 
virtual bool GetInternalCreators (MbeCreatorType, c3d::ConstCreatorsSPtrVector &) const
 Get internal creators by type.
 
virtual bool SetInternalCreators (MbeCreatorType, c3d::CreatorsSPtrVector &)
 Get internal creators by type.
 
virtual bool Perform (MbCreator *) const
 Displace/Change the creator.
 
virtual void SetYourVersion (VERSION version, bool forAll)
 Set the objects version.
 
VERSION GetYourVersion () const
 Get the object version.
 
const MbSNameMakerGetYourNameMaker () const
 Get the name-maker.
 
MbSNameMakerSetYourNameMaker ()
 Get the object's name-maker for editing.
 
void SetNameMaker (const MbSNameMaker &n)
 Set the object's name-maker.
 
SimpleName GetMainName () const
 Get the main name of the object.
 
void SetMainName (SimpleName n)
 Set the main name of the object.
 
MbeProcessState GetStatus () const
 Get the flag of state.
 
void SetStatus (MbeProcessState l)
 Set the flag of state.
 
void PrepareWrite () const
 Register the object. More...
 
- Public Member Functions inherited from MbRefItem
refcount_t GetUseCount () const
 Get count of references (get count of owners of an object).
 
refcount_t AddRef () const
 Increase count of references by one.
 
refcount_t DecRef () const
 Decrease count of references by one.
 
refcount_t Release () const
 Decrease count of references by one and if count of references became zero, then remove itself.
 
- Public Member Functions inherited from TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Constructor.
 
 TapeBase (const TapeBase &)
 Copy-constructor.
 
virtual ~TapeBase ()
 Destructor.
 
RegistrableRec GetRegistrable () const
 Whether the stream class is registrable.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Set the state of registration of the stream class.
 
virtual const char * GetPureName (const VersionContainer &) const
 Get the class name.
 
virtual bool IsFamilyRegistrable () const
 Whether the object belongs to a registrable family.
 

Protected Member Functions

 MbCreator (MbSNameMaker *)
 Constructor by name-maker.
 
 MbCreator (const MbSNameMaker &)
 Constructor by name-maker.
 
 MbCreator (const MbCreator &)
 Copy-constructor.
 
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.
 

Protected Attributes

SPtr< MbSNameMakernames
 An object defining the names of elements and objects created by the constructor.
 
MbeProcessState status
 State of the constructor and of the operation result.
 

Detailed Description

Constructor of object of the geometric model.

The constructor performs one operation while creating the object of a geometric model and contains the information necessary for this.
Array of constructors forms the history tree of geometric model.
Creators are mostly required while creating a shell of solid MbSolid. Initially solid are created on the base of curves or surfaces. Most shells can be created by moving the composite curve which is called generatrix, along the trajectory specified by the guide curve. A shell can be constructed passing through a given set of curves. A shell in the form of a sheet of finite thickness can be constructed on the base of a surface. Let's call such shells simple.
More complex shells can be obtained by operations. Operation is a set of actions on the shells which result in creation of a new shell.
Examples of operations are boolean operations, thin-walled shell construction, edges fillet or chamfers creation.

Member Function Documentation

◆ Duplicate()

virtual MbCreator& MbCreator::Duplicate ( MbRegDuplicate iReg = nullptr) const
pure virtual

Create a copy of the object.

Create a copy of the object using the registrator. The registrator is used to prevent multiple copying of an object. If the object contains references to other objects, then the included objects are copied too. It is allowed not to pass the registrator to a function. Then the new copy of the object will be created. It is allowed not to use the registrator while copying a single object or a set of disconnected objects. The registrator must be used to copy several correlated objects successively. It is possible that the relation between objects means that the objects contain references on the common objects. Then, while copying without using the registrator, one can get a set of copies which contain references to the different copies of a single embedded object, what leads to loss of relationship between the copies.

Parameters
[in]iReg- Registrator.
Returns
The object copy.

Implemented in MbWrapPointCreator, MbWrapCurveCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbTrimmedWireFrameCreator, MbSurfaceSplineCreator, MbProjCurveCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbs3DCreator, MbIntCurveCreator, MbFilletWireFrameCreator, MbFireChangeCreator, MbFireClothoidCreator, MbFireFilletCreator, MbExtendCurveCreator, MbConnectingCurveCreator, MbBeamCreator, MbSimpleWireFrameCreator, MbUnionSolid, MbTruncatedShell, MbTransformedSolid, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbStitchedSolid, MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbStampRibSolid, MbRemoveOperationSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbSplitShell, MbReverseCreator, MbSimpleCreator, MbSheetUnionSolid, MbSimplifyFlatSolid, MbRestoredEdgesSolid, MbNormalizeHolesSolid, MbSheetMetalSolid, MbJointBendSolid, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendUnbendSolid, MbBendOverSegSolid, MbBendsByEdgesSolid, MbBendAnySolid, MbSectionShell, MbRuledShell, MbRibSolid, MbCurveRevolutionSolid, MbPatchCreator, MbNurbsSurfacesSolid, MbNurbsBlockSolid, MbFaceModifiedSolid, MbNurbsModification, MbModifiedNurbsItem, MbMeshShell, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbMedianShell, MbCurveLoftedSolid, MbJoinShell, MbHoleSolid, MbFilletSolid, MbCurveExtrusionSolid, MbExtensionShell, MbCurveEvolutionSolid, MbElementarySolid, MbDuplicationSolid, MbDraftSolid, MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbDetachSolid, MbCuttingSolid, MbChamferSolid, MbBooleanSolid, and MbAttributeProvider.

◆ Transform()

virtual void MbCreator::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = nullptr 
)
pure virtual

Transform according to the matrix.

Transform the initial object according to the matrix using the registrator. If the object contains references to the other geometric objects, then the nested objects are transformed according to the matrix. The registrator is used for preventing multiple transformation of the object. The function can be used without the registrator to transform a single object. The registrator must be used to transform a set of interdependent objects to prevent repeated transformation of the nested objects, since it is not ruled out that several objects from the set contain references to one or several common objects subject to transformation.

Parameters
[in]matr- A transformation matrix.
[in]iReg- Registrator.

Implemented in MbStampRibSolid, MbSmoothSolid, MbRestoredEdgesSolid, MbSheetMetalSolid, MbJointBendSolid, MbBendUnbendSolid, MbBendsByEdgesSolid, MbFilletSolid, MbExtensionShell, MbDetachSolid, MbAttributeProvider, MbSheetUnionSolid, MbBooleanSolid, MbWrapPointCreator, MbWrapCurveCreator, MbSimpleWireFrameCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbUnionSolid, MbTruncatedShell, MbTrimmedWireFrameCreator, MbTransformedSolid, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbSurfaceSplineCreator, MbStitchedSolid, MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbRemoveOperationSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbSplitShell, MbReverseCreator, MbSimpleCreator, MbSimplifyFlatSolid, MbNormalizeHolesSolid, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendOverSegSolid, MbBendAnySolid, MbSectionShell, MbRuledShell, MbRibSolid, MbCurveRevolutionSolid, MbProjCurveCreator, MbPatchCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbsSurfacesSolid, MbNurbsBlockSolid, MbNurbs3DCreator, MbFaceModifiedSolid, MbNurbsModification, MbModifiedNurbsItem, MbMeshShell, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbMedianShell, MbCurveLoftedSolid, MbJoinShell, MbIntCurveCreator, MbHoleSolid, MbFilletWireFrameCreator, MbFireClothoidCreator, MbFireCreator, MbCurveExtrusionSolid, MbExtendCurveCreator, MbCurveEvolutionSolid, MbElementarySolid, MbDuplicationSolid, MbDraftSolid, MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbCuttingSolid, MbConnectingCurveCreator, and MbBeamCreator.

◆ Move()

virtual void MbCreator::Move ( const MbVector3D to,
MbRegTransform iReg = nullptr 
)
pure virtual

Translate along a vector.

Move a geometric object along the vector using the registrator. If the object contains references to the other objects, then the translation operation is applied to the nested objects. The registrator is used for preventing multiple transformation of the object. The function can be used without the registrator to transform a single object. The registrator must be used to transform a set of interdependent objects to prevent repeated transformation of the nested objects, since it is not ruled out that several objects from the set contain references to one or several common objects subject to moving.

Parameters
[in]to- Movement vector.
[in]iReg- Registrator.

Implemented in MbStampRibSolid, MbSmoothSolid, MbRestoredEdgesSolid, MbSheetMetalSolid, MbJointBendSolid, MbBendUnbendSolid, MbBendsByEdgesSolid, MbFilletSolid, MbExtensionShell, MbDetachSolid, MbAttributeProvider, MbSheetUnionSolid, MbBooleanSolid, MbWrapPointCreator, MbWrapCurveCreator, MbSimpleWireFrameCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbUnionSolid, MbTruncatedShell, MbTrimmedWireFrameCreator, MbTransformedSolid, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbSurfaceSplineCreator, MbStitchedSolid, MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbRemoveOperationSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbSplitShell, MbReverseCreator, MbSimpleCreator, MbSimplifyFlatSolid, MbNormalizeHolesSolid, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendOverSegSolid, MbBendAnySolid, MbSectionShell, MbRuledShell, MbRibSolid, MbCurveRevolutionSolid, MbProjCurveCreator, MbPatchCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbsSurfacesSolid, MbNurbsBlockSolid, MbNurbs3DCreator, MbFaceModifiedSolid, MbNurbsModification, MbModifiedNurbsItem, MbMeshShell, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbMedianShell, MbCurveLoftedSolid, MbJoinShell, MbIntCurveCreator, MbHoleSolid, MbFilletWireFrameCreator, MbFireClothoidCreator, MbFireCreator, MbCurveExtrusionSolid, MbExtendCurveCreator, MbCurveEvolutionSolid, MbElementarySolid, MbDuplicationSolid, MbDraftSolid, MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbCuttingSolid, MbConnectingCurveCreator, and MbBeamCreator.

◆ Rotate()

virtual void MbCreator::Rotate ( const MbAxis3D axis,
double  angle,
MbRegTransform iReg = nullptr 
)
pure virtual

Rotate an object about the axis.

Rotate an object about the axis by the given angle using the registrator. If the object contains references to the other geometric objects, then the rotation operation is applied to the nested objects too. The registrator is used for preventing multiple transformation of the object. The function can be used without the registrator to transform a single object. The registrator must be used to transform a set of interdependent objects to prevent repeated transformation of the nested objects, since it is not ruled out that several objects from the set contain references to one or several common objects subject to rotation.

Parameters
[in]axis- The rotation axis.
[in]angle- The rotation angle.
[in]iReg- Registrator.

Implemented in MbStampRibSolid, MbSmoothSolid, MbRestoredEdgesSolid, MbSheetMetalSolid, MbJointBendSolid, MbBendUnbendSolid, MbBendsByEdgesSolid, MbFilletSolid, MbExtensionShell, MbDetachSolid, MbAttributeProvider, MbRemoveOperationSolid, MbSimplifyFlatSolid, MbNormalizeHolesSolid, MbBendAnySolid, MbSheetUnionSolid, MbBooleanSolid, MbWrapPointCreator, MbWrapCurveCreator, MbSimpleWireFrameCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbUnionSolid, MbTruncatedShell, MbTrimmedWireFrameCreator, MbTransformedSolid, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbSurfaceSplineCreator, MbStitchedSolid, MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbSplitShell, MbReverseCreator, MbSimpleCreator, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendOverSegSolid, MbSectionShell, MbRuledShell, MbRibSolid, MbCurveRevolutionSolid, MbProjCurveCreator, MbPatchCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbsSurfacesSolid, MbNurbsBlockSolid, MbNurbs3DCreator, MbFaceModifiedSolid, MbNurbsModification, MbModifiedNurbsItem, MbMeshShell, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbMedianShell, MbCurveLoftedSolid, MbJoinShell, MbIntCurveCreator, MbHoleSolid, MbFilletWireFrameCreator, MbFireClothoidCreator, MbFireCreator, MbCurveExtrusionSolid, MbExtendCurveCreator, MbCurveEvolutionSolid, MbElementarySolid, MbDuplicationSolid, MbDraftSolid, MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbCuttingSolid, MbConnectingCurveCreator, and MbBeamCreator.

◆ IsSame()

virtual bool MbCreator::IsSame ( const MbCreator other,
double  accuracy 
) const
pure virtual

Determine whether an object is equal?

Still considered objects of the same type, all data is the same (equal).

Parameters
[in]other- The object to compare.
[in]accuracy- The accuracy to compare.
Returns
Whether the objects are equal.

Implemented in MbTransformedSolid, MbStitchedSolid, MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbStampRibSolid, MbRemoveOperationSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbReverseCreator, MbSheetUnionSolid, MbSimplifyFlatSolid, MbRestoredEdgesSolid, MbNormalizeHolesSolid, MbSheetMetalSolid, MbJointBendSolid, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendUnbendSolid, MbBendOverSegSolid, MbBendsByEdgesSolid, MbBendAnySolid, MbNurbsBlockSolid, MbFaceModifiedSolid, MbNurbsModification, MbModifiedNurbsItem, MbReverseMeshCreator, MbFilletSolid, MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbChamferSolid, MbWrapPointCreator, MbWrapCurveCreator, MbSimpleWireFrameCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbUnionSolid, MbTruncatedShell, MbTrimmedWireFrameCreator, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbSurfaceSplineCreator, MbSplitShell, MbSimpleCreator, MbSectionShell, MbRuledShell, MbRibSolid, MbCurveRevolutionSolid, MbProjCurveCreator, MbPatchCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbsSurfacesSolid, MbNurbs3DCreator, MbMeshShell, MbCutMeshCreator, MbBooleanMeshCreator, MbSimpleMeshCreator, MbMedianShell, MbCurveLoftedSolid, MbJoinShell, MbIntCurveCreator, MbHoleSolid, MbFilletWireFrameCreator, MbFireChangeCreator, MbFireClothoidCreator, MbFireFilletCreator, MbCurveExtrusionSolid, MbExtensionShell, MbExtendCurveCreator, MbCurveEvolutionSolid, MbElementarySolid, MbDuplicationSolid, MbDraftSolid, MbDetachSolid, MbCuttingSolid, MbConnectingCurveCreator, MbBooleanSolid, MbBeamCreator, and MbAttributeProvider.

◆ IsSimilar()

virtual bool MbCreator::IsSimilar ( const MbCreator item) const
virtual

Determine whether an object is similar?

Such are considered the same objects whose data are similar.

Parameters
[in]item- The object to compare.
Returns
Whether the objects are similar.

Reimplemented in MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbStampRibSolid, MbRemoveOperationSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbSheetUnionSolid, MbSimplifyFlatSolid, MbRestoredEdgesSolid, MbNormalizeHolesSolid, MbSheetMetalSolid, MbJointBendSolid, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendUnbendSolid, MbBendOverSegSolid, MbBendsByEdgesSolid, MbBendAnySolid, MbWrapPointCreator, MbWrapCurveCreator, MbSimpleWireFrameCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbUnionSolid, MbTruncatedShell, MbTrimmedWireFrameCreator, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbSurfaceSplineCreator, MbSplitShell, MbSmoothSolid, MbReverseCreator, MbSimpleCreator, MbSectionShell, MbRibSolid, MbCurveRevolutionSolid, MbProjCurveCreator, MbPatchCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbs3DCreator, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbMedianShell, MbCurveLoftedSolid, MbJoinShell, MbIntCurveCreator, MbHoleSolid, MbFilletWireFrameCreator, MbFilletSolid, MbFireChangeCreator, MbFireClothoidCreator, MbFireFilletCreator, MbCurveExtrusionSolid, MbExtensionShell, MbExtendCurveCreator, MbCurveEvolutionSolid, MbElementarySolid, MbDuplicationSolid, MbDraftSolid, MbDetachSolid, MbCuttingSolid, MbConnectingCurveCreator, MbBooleanSolid, MbBeamCreator, and MbAttributeProvider.

◆ CreateShell() [1/2]

virtual bool MbCreator::CreateShell ( MbFaceShell *&  shell,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = nullptr 
)
virtual

Create a shell from the initial data.

Construction of a new shell or modification of the given one from the source data according to the constructor.

Parameters
[in]shell- A shell to be modified or a new shell.
[in]sameShell- Whether to perform complete copying of elements while constructing.
[in]items- Container for the elements of not performed constructions (can be nullptr).
Returns
Whether the construction is performed.

Reimplemented in MbUnionSolid, MbTruncatedShell, MbShellSolid, MbThinShellCreator, MbSymmetrySolid, MbCurveSweptSolid, MbStitchedSolid, MbUserStampSolid, MbSphericalStampSolid, MbStampSolid, MbRuledSolid, MbStampRibSolid, MbRemoveOperationSolid, MbJogSolid, MbJalousieSolid, MbBeadSolid, MbSplitShell, MbReverseCreator, MbSimpleCreator, MbSheetUnionSolid, MbSimplifyFlatSolid, MbRestoredEdgesSolid, MbNormalizeHolesSolid, MbSheetMetalSolid, MbJointBendSolid, MbClosedCornerSolid, MbBuildSheetMetalSolid, MbBendUnbendSolid, MbBendOverSegSolid, MbBendsByEdgesSolid, MbBendAnySolid, MbSectionShell, MbRuledShell, MbPatchCreator, MbNurbsSurfacesSolid, MbNurbsBlockSolid, MbNurbsModification, MbModifiedNurbsItem, MbMeshShell, MbMedianShell, MbJoinShell, MbHoleSolid, MbFilletSolid, MbCurveExtrusionSolid, MbExtensionShell, MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbDetachSolid, MbChamferSolid, MbBooleanSolid, MbAttributeProvider, MbRibSolid, MbFaceModifiedSolid, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbTransformedSolid, MbDuplicationSolid, MbElementarySolid, MbDraftSolid, and MbCuttingSolid.

◆ CreateShell() [2/2]

bool MbCreator::CreateShell ( c3d::ShellSPtr shell,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = nullptr 
)

Create a shell from the initial data.

Construction of a new shell or modification of the given one from the source data according to the constructor.

Parameters
[in]shell- A shell to be modified or a new shell.
[in]sameShell- Whether to perform complete copying of elements while constructing.
[in]items- Container for the elements of not performed constructions (can be nullptr).
Returns
Whether the construction is performed.

◆ CreateWireFrame() [1/2]

virtual bool MbCreator::CreateWireFrame ( MbWireFrame *&  frame,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = nullptr 
)
virtual

Create a wire-frame from the source data.

Construction of a new frame (of curves) or modification of the given one from the source data according to the constructor.

Parameters
[in]frame- A frame to be modified or a new frame.
[in]sameShell- Whether to perform complete copying of elements while constructing.
[in]items- Container for the elements of not performed constructions (can be nullptr).
Returns
Whether the construction is performed.

Reimplemented in MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbWrapPointCreator, MbWrapCurveCreator, MbUnWrapPointCreator, MbUnwrapCurveCreator, MbTrimmedWireFrameCreator, MbSurfaceSplineCreator, MbProjCurveCreator, MbOffsetCurveCreator, MbNurbsWireFrameCreator, MbNurbs3DCreator, MbIntCurveCreator, MbFilletWireFrameCreator, MbConnectingCurveCreator, MbSimpleWireFrameCreator, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbFireChangeCreator, MbFireClothoidCreator, MbFireFilletCreator, MbExtendCurveCreator, and MbBeamCreator.

◆ CreateWireFrame() [2/2]

bool MbCreator::CreateWireFrame ( SPtr< MbWireFrame > &  frame,
MbeCopyMode  sameShell 
)

Create a wire-frame from the source data.

Construction of a new frame (of curves) or modification of the given one from the source data according to the constructor.

Parameters
[in]frame- A frame to be modified or a new frame.
[in]sameShell- Whether to perform complete copying of elements while constructing.
Returns
Whether the construction is performed.

◆ CreatePointFrame() [1/2]

virtual bool MbCreator::CreatePointFrame ( MbPointFrame *&  frame,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = nullptr 
)
virtual

Create a point-frame from the source data.

Creation of a new frame (of points) or modification of the given one from the given data according to the constructor.

Parameters
[in]frame- A frame to be modified or a new frame.
[in]sameShell- Whether to perform complete copying of elements while constructing.
[in]items- Container for the elements of not performed constructions (can be nullptr).
Returns
Whether the construction is performed.

Reimplemented in MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, and MbSimpleMeshCreator.

◆ CreatePointFrame() [2/2]

bool MbCreator::CreatePointFrame ( SPtr< MbPointFrame > &  frame,
MbeCopyMode  sameShell 
)

Create a point-frame from the source data.

Creation of a new frame (of points) or modification of the given one from the given data according to the constructor.

Parameters
[in]frame- A frame to be modified or a new frame.
[in]sameShell- Whether to perform complete copying of elements while constructing.
Returns
Whether the construction is performed.

◆ CreateMesh() [1/2]

virtual bool MbCreator::CreateMesh ( MbMesh *&  mesh,
MbeCopyMode  sameShell,
RPArray< MbSpaceItem > *  items = nullptr 
)
virtual

Create a polygonal object from the source data.

Creation of a new polygonal object or modification of the given one from the given data according to the constructor.

Parameters
[in]mesh- A polygonal object to be modified or a new one.
[in]sameShell- Whether to perform complete copying of elements while constructing.
[in]items- Container for the elements of not performed constructions (can be nullptr).
Returns
Whether the construction is performed.

Reimplemented in MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbTransformationMaker, MbRotationMaker, and MbMotionMaker.

◆ CreateMesh() [2/2]

bool MbCreator::CreateMesh ( SPtr< MbMesh > &  mesh,
MbeCopyMode  sameShell 
)

Create a polygonal object from the source data.

Creation of a new polygonal object or modification of the given one from the given data according to the constructor.

Parameters
[in]mesh- A polygonal object to be modified or a new one.
[in]sameShell- Whether to perform complete copying of elements while constructing.
Returns
Whether the construction is performed.

◆ PrepareWrite()

void MbCreator::PrepareWrite ( ) const
inline

Register the object.

Object registration for preventing its multiple writing. Other objects may contain a pointer to the given object. The function sets a flag that allow to write the object once and to use the references to the recorded instance in the other records. Reading is performed once too, in other cases of reading the address of the already read object is used.


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