C3D Toolkit  Kernel - 117982, Vision -

Conventional notation. More...

#include <mb_symbol.h>

+ Inheritance diagram for MbSymbol:
+ Collaboration diagram for MbSymbol:

Public Types

enum  StateCalc { st_strong = 0 , st_loose = 1 }
 Visibility calculation type. More...

Public Member Functions

Common functions of a geometric object.
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.
Own functions of conventional notation.
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.
virtual void IncludeGab (MbCube &) const =0
 Include own bounding box into 'cube' bounding box.
virtual bool IsSymbolOnPlace (const MbPlacement3D &) const =0
 Check if conventional notation on the OXY plane of placement.
virtual bool IsSymbolUnderPlace (const MbPlacement3D &) const =0
 Check if conventional notation on the OXY plane of placement or under it.
virtual bool IsSymbolInShell (const MbFaceShell &) const =0
 Check if notation on shell or inside it.
virtual void GetPointsSymbols (RPArray< MbSymbol > &) const =0
 Get an array of notation conventions on the base points which belong to this notation.
- Public Member Functions inherited from MbLegend
virtual ~MbLegend ()
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 ()
void PrepareWrite () const
 Register object. More...
MbeRefType RefType () const override
 Get a registration type (for copying, duplication).
virtual MbeSpaceType IsA () const =0
 Get the type of the object.
bool IsFamilyRegistrable () const override
 Whether the object belongs to a registrable family.
virtual MbSpaceItemDuplicate (MbRegDuplicate *iReg=nullptr) const =0
 Create a copy of the object. More...
virtual void Transform (const MbMatrix3D &matr, MbRegTransform *iReg=nullptr)=0
 Convert the object according to the matrix. More...
virtual void Move (const MbVector3D &to, MbRegTransform *iReg=nullptr)=0
 Move an object along a vector. More...
virtual void Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=nullptr)=0
 Rotate an object around an axis at a given angle. More...
virtual bool IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const =0
 Determine whether an object is equal. More...
virtual bool SetEqual (const MbSpaceItem &item)=0
 Make objects equal if they are similar. More...
virtual void Refresh ()
 Translate all the time (mutable) data objects in an inconsistent (initial) state.
virtual void GetProperties (MbProperties &properties)=0
 Outstanding properties of the object. More...
virtual void SetProperties (const MbProperties &properties)=0
 Change the properties of an object. More...
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.
virtual void GetBasisPoints (MbControlData3D &) const
 Get control points of object.
virtual void SetBasisPoints (const MbControlData3D &)
 Change the object by control points.
- Public Member Functions inherited from TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 TapeBase (const TapeBase &)
virtual ~TapeBase ()
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

 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 ()
- Protected Member Functions inherited from MbSpaceItem
 MbSpaceItem ()
 Default constructor.
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.

Protected Attributes

StateCalc stateCalc
 Visibility calculation type.
TOwnPointer< MbNamename
 Notation name.
uint compHash
 Component of conventional notation (doesn't own).
size_t ident
 Thread identifier.

Detailed Description

Conventional notation.

Abstract base class of conventional notation MbSymbol.

Member Enumeration Documentation

◆ StateCalc

Visibility calculation type.

Visibility calculation type.


Strong, all points have to be visible.


Not strong, at least one point has to be visible.

Constructor & Destructor Documentation

◆ MbSymbol()

MbSymbol::MbSymbol ( MbName _name,
uint  _component,
StateCalc  _stateCalc = st_strong 


Constructor of conventional notation.

[in]_name- Notation name.
[in]_component- Component of conventional notation
[in]_ident- A thread identifier.
[in]_stateCalc- Visibility calculation type.

Member Function Documentation

◆ IsSimilar()

bool MbSymbol::IsSimilar ( const MbSpaceItem item) const

Determine whether an object is similar.

Such are considered the same objects whose data are similar.

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

Reimplemented from MbSpaceItem.

◆ DistanceToPoint()

double MbSymbol::DistanceToPoint ( const MbCartPoint3D point) const

Determine the distance to the point.

Determine the distance to the point.

[in]point- Point.
Distance to point

Implements MbSpaceItem.

◆ AddYourGabaritTo()

void MbSymbol::AddYourGabaritTo ( MbCube cube) const

Expand sent bounding box (a.k.a. gabarit), so that it included the object.

Expand sent bounding box, so that it included the object.

[in,out]cube- The bounding box to expand.

Implements MbSpaceItem.

◆ CalculateMesh()

void MbSymbol::CalculateMesh ( const MbStepData stepData,
const MbFormNote note,
MbMesh mesh 
) const

Build polygonal copy mesh.

Build a polygonal copy of the object that is represented by polygons or/and fasets.

[in]stepData- Data for еру step calculation for polygonal object.
[in]note- Way for polygonal object constructing.
[in,out]mesh- The builded polygonal object.

Implements MbSpaceItem.

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