C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Conventional notation on base points. More...

#include <mb_symbol.h>

+ Inheritance diagram for MbPointsSymbol:
+ Collaboration diagram for MbPointsSymbol:

Public Member Functions

 MbPointsSymbol (const SArray< MbCartPoint3D > &_points, MbName *_name, uint _component, StateCalc _stateCalc=st_strong)
 Constructor. More...
 
virtual ~MbPointsSymbol ()
 Destructor.
 
void Init (const MbPointsSymbol &)
 Initialization.
 
Common functions of a geometric object.
MbeSpaceType IsA () const override
 Get the type of the object.
 
MbSpaceItemDuplicate (MbRegDuplicate *=nullptr) const override
 Create a copy of the object. More...
 
bool IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const override
 Determine whether an object is equal. More...
 
bool SetEqual (const MbSpaceItem &) override
 Make objects equal if they are similar. More...
 
void Transform (const MbMatrix3D &, MbRegTransform *=nullptr) override
 Convert the object according to the matrix. More...
 
void Move (const MbVector3D &, MbRegTransform *=nullptr) override
 Move an object along a vector. More...
 
void Rotate (const MbAxis3D &, double, MbRegTransform *=nullptr) override
 Rotate an object around an axis at a given angle. More...
 
void GetProperties (MbProperties &) override
 Outstanding properties of the object. More...
 
void SetProperties (const MbProperties &) override
 Change the properties of an object. More...
 
void GetBasisPoints (MbControlData3D &) const override
 Get control points of object.
 
void SetBasisPoints (const MbControlData3D &) override
 Change the object by control points.
 
Functions of conventional notation.
void IncludeGab (MbCube &) const override
 Include own bounding box into 'cube' bounding box.
 
bool IsSymbolOnPlace (const MbPlacement3D &) const override
 Check if conventional notation on the OXY plane of placement.
 
bool IsSymbolUnderPlace (const MbPlacement3D &) const override
 Check if conventional notation on the OXY plane of placement or under it.
 
bool IsSymbolInShell (const MbFaceShell &) const override
 Check if notation on shell or inside it.
 
void GetPointsSymbols (RPArray< MbSymbol > &) const override
 Get an array of notation conventions on the base points which belong to this notation.
 
Own functions of conventional notation on base points.
const SArray< MbCartPoint3D > & GetPoints () const
 Get notation base points.
 
ptrdiff_t GetPointsCount () const
 Get count of notation base points.
 
const MbCartPoint3DGetPoint (size_t ind) const
 Get notation base point by 'ind' index.
 
void SetPoint (const MbCartPoint3D &, size_t)
 Set notation base point by given index.
 
bool StepFound (size_t mapper) const
 Is symbol belong portion of complex section with the specified number?
 
void SetStepIndex (size_t mapper)
 Remember portion of complex section, which owns the symbol.
 
void ClearSteps ()
 Clear data about the portions of complex sections.
 
- Public Member Functions inherited from MbSymbol
MbeSpaceType Type () const override
 Get the group object type.
 
bool IsSimilar (const MbSpaceItem &) const override
 Determine whether an object is similar. More...
 
double DistanceToPoint (const MbCartPoint3D &) const override
 Determine the distance to the point. More...
 
void AddYourGabaritTo (MbCube &) const override
 Expand sent bounding box (a.k.a. gabarit), so that it included the object. More...
 
void CalculateMesh (const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) const override
 Build polygonal copy mesh. More...
 
MbPropertyCreateProperty (MbePrompt name) const override
 Create your own property with the name.
 
StateCalc GetStateCalc () const
 Get visibility calculation type.
 
bool IsStrongStateCalc () const
 Check if visibility calculation type is strong.
 
void SetStateCalc (StateCalc _stateCalc)
 Set visibility calculation type.
 
bool IsName () const
 Is there a non-empty name.
 
MbNameGetName () const
 Get notation name.
 
void SetName (MbName &)
 Set notation name.
 
uint GetComponent () const
 Get notation component.
 
void SetComponent (uint)
 Set notation component.
 
size_t GetIdentifier () const
 Get the thread identifier.
 
void SetIdentifier (size_t)
 Set thread identifier.
 
- Public Member Functions inherited from MbLegend
virtual ~MbLegend ()
 Destructor.
 
MbeSpaceType Family () const override
 Get family of objects.
 
void CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const override
 To compute bounding box in a local coordinate system. More...
 
- Public Member Functions inherited from MbSpaceItem
virtual ~MbSpaceItem ()
 Destructor.
 
void PrepareWrite () const
 Register object. More...
 
MbeRefType RefType () const override
 Get a registration type (for copying, duplication).
 
bool IsFamilyRegistrable () const override
 Whether the object belongs to a registrable family.
 
virtual void Refresh ()
 Translate all the time (mutable) data objects in an inconsistent (initial) state.
 
void CalculateWire (const MbStepData &stepData, MbMesh &mesh) const
 
void CalculateWire (double sag, MbMesh &mesh) const
 
virtual void GetBasisItems (RPArray< MbSpaceItem > &)
 Outstanding reference objects in a container sent.
 
- 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.
 
- 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.
 

Protected Member Functions

 MbPointsSymbol (const MbPointsSymbol &)
 Copy-constructor.
 
 MbPointsSymbol ()
 Default constructor.
 
- Protected Member Functions inherited from MbSymbol
 MbSymbol ()
 Default constructor.
 
 MbSymbol (MbName *_name, uint _component, StateCalc _stateCalc=st_strong)
 Constructor. More...
 
 MbSymbol (const MbSymbol &)
 Copy constructor.
 
- Protected Member Functions inherited from MbLegend
 MbLegend ()
 Constructor.
 
- Protected Member Functions inherited from MbSpaceItem
 MbSpaceItem ()
 Default constructor.
 
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.
 

Protected Attributes

SArray< MbCartPoint3Dpoints
 Notation base points in world coordinate system.
 
- Protected Attributes inherited from MbSymbol
StateCalc stateCalc
 Visibility calculation type.
 
TOwnPointer< MbNamename
 Notation name.
 
uint compHash
 Component of conventional notation (doesn't own).
 
size_t ident
 Thread identifier.
 

Additional Inherited Members

- Public Types inherited from MbSymbol
enum  StateCalc { st_strong = 0 , st_loose = 1 }
 Visibility calculation type. More...
 

Detailed Description

Conventional notation on base points.

Conventional notation on base points.

Constructor & Destructor Documentation

◆ MbPointsSymbol()

MbPointsSymbol::MbPointsSymbol ( const SArray< MbCartPoint3D > &  _points,
MbName _name,
uint  _component,
StateCalc  _stateCalc = st_strong 
)

Constructor.

Constructor of conventional notation on base points.

Parameters
[in]_points- Set of points.
[in]_name- Notation name.
[in]_component- Component of conventional notation.
[in]_stateCalc- Visibility calculation type.

Member Function Documentation

◆ Duplicate()

MbSpaceItem& MbPointsSymbol::Duplicate ( MbRegDuplicate iReg = nullptr) const
overridevirtual

Create a copy of the object.

Create a copy of an object using the registrator. Registrator is used to prevent multiple copy of the object. If the object contains references to the other objects, then nested objects are copied as well. It is allowed not to pass registrator into the function. Then new copy of object will be created. While copying of single object or set of not connected objects, it is allowed not to use registrator. Registrator should be used if it is required to copy several connected objects. It is possible, that objects connection is based on the references to common objects. Then, while copying without using of registrator, it is possible to obtain set of copies, that contain references to the different copies of the same nested object, that leads to loss of connection between copies.

Parameters
[in]iReg- Registrator.
Returns
A copy of the object.

Implements MbSpaceItem.

◆ IsSame()

bool MbPointsSymbol::IsSame ( const MbSpaceItem other,
double  accuracy = LENGTH_EPSILON 
) const
overridevirtual

Determine whether an object is equal.

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

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

Implements MbSpaceItem.

◆ SetEqual()

bool MbPointsSymbol::SetEqual ( const MbSpaceItem item)
overridevirtual

Make objects equal if they are similar.

You can still make only a similar objects.

Parameters
[in]item- The object to initialize.
Returns
Object is changed.

Implements MbSpaceItem.

◆ Transform()

void MbPointsSymbol::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = nullptr 
)
overridevirtual

Convert the object according to the matrix.

Convert the original object according to the matrix using the registrator. If object contains references to the other geometric objects, then nested objects are transformed according to the matrix. Registrator is needed to prevent multiple object copying. It is allowed to use function without registrator, if it is needed to transform single object. If it is needed to transform a set of connected objects, then one should use registrator to prevent repeating transformation of nested objects, because of the possible situation when several objects contain references to the same common objects, that require to be transformed.

Parameters
[in]matr- Transformation matrix.
[in]iReg- Registrator.

Implements MbSpaceItem.

◆ Move()

void MbPointsSymbol::Move ( const MbVector3D to,
MbRegTransform iReg = nullptr 
)
overridevirtual

Move an object along a vector.

Move an object along a geometric vector using the registrator. If object contains references to the other geometric objects then the move operation is applied to the nested objects. Registrator is needed to prevent multiple copying of the object. It is allowed to use function without registrator, if it is needed to transform a single object. If it is needed to transform a set of connected objects, then one should use registrator to prevent repeating transformation of nested objects, because of the possible situation when several objects contain references to the same common objects, that require to be moved.

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

Implements MbSpaceItem.

◆ Rotate()

void MbPointsSymbol::Rotate ( const MbAxis3D axis,
double  angle,
MbRegTransform iReg = nullptr 
)
overridevirtual

Rotate an object around an axis at a given angle.

Rotate an object around an axis at a given angle with the registrator. If object contains references to the other geometric objects then the rotation operation is applied to the nested objects. Registrator is needed to prevent multiple copying of the object. It is allowed to use function without registrator, if it is needed to transform a single object. If it is needed to transform a set of connected objects, then one should use registrator to prevent repeating transformation of nested objects, because of the possible situation when several objects contain references to the same common objects, that require to be rotated.

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

Implements MbSpaceItem.

◆ GetProperties()

void MbPointsSymbol::GetProperties ( MbProperties properties)
overridevirtual

Outstanding properties of the object.

Issue internal data (properties) of the object for viewing and modification.

Parameters
[in]properties- Container for the internal data of the object.

Implements MbSpaceItem.

◆ SetProperties()

void MbPointsSymbol::SetProperties ( const MbProperties properties)
overridevirtual

Change the properties of an object.

Changing the internal data (properties) of the object you are copying the corresponding values from the sent object.

Parameters
[in]properties- Container for the internal data of the object.

Implements MbSpaceItem.


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