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.
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 MbCreator & | Duplicate (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 MbSNameMaker & | GetYourNameMaker () const |
Get the name-maker. | |
MbSNameMaker & | SetYourNameMaker () |
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< MbSNameMaker > | names |
An object defining the names of elements and objects created by the constructor. | |
MbeProcessState | status |
State of the constructor and of the operation result. | |
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.
|
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.
[in] | iReg | - Registrator. |
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.
|
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.
[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.
|
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.
[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.
|
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.
[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.
|
pure virtual |
Determine whether an object is equal?
Still considered objects of the same type, all data is the same (equal).
[in] | other | - The object to compare. |
[in] | accuracy | - The accuracy to compare. |
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.
|
virtual |
Determine whether an object is similar?
Such are considered the same objects whose data are similar.
[in] | item | - The object to compare. |
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.
|
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.
[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). |
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.
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.
[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). |
|
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.
[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). |
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.
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.
[in] | frame | - A frame to be modified or a new frame. |
[in] | sameShell | - Whether to perform complete copying of elements while constructing. |
|
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.
[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). |
Reimplemented in MbTransformationMaker, MbRotationMaker, MbMotionMaker, MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, and MbSimpleMeshCreator.
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.
[in] | frame | - A frame to be modified or a new frame. |
[in] | sameShell | - Whether to perform complete copying of elements while constructing. |
|
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.
[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). |
Reimplemented in MbCutMeshCreator, MbBooleanMeshCreator, MbReverseMeshCreator, MbSimpleMeshCreator, MbTransformationMaker, MbRotationMaker, and MbMotionMaker.
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.
[in] | mesh | - A polygonal object to be modified or a new one. |
[in] | sameShell | - Whether to perform complete copying of elements while constructing. |
|
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.