C3D Toolkit  Kernel - 117982, Vision - 2.9.2.2

Vertex. More...

#include <topology.h>

+ Inheritance diagram for MbVertex:
+ Collaboration diagram for MbVertex:

Public Member Functions

 MbVertex (const MbCartPoint3D &)
 Constructor by point.
 
 MbVertex (const MbCartPoint3D &, double s)
 Constructor by point and distance.
 
 MbVertex (const MbVertex &)
 Copy constructor.
 
virtual ~MbVertex ()
 Destructor.
 
MbeTopologyType IsA () const override
 A type of element.
 
virtual MbVertexDataDuplicate (MbRegDuplicate *=nullptr) const
 Create new vertex by copying all data of the initial vertex.
 
void Transform (const MbMatrix3D &, MbRegTransform *=nullptr) override
 Transform according to the matrix. More...
 
void Move (const MbVector3D &, MbRegTransform *=nullptr) override
 Move along a vector. More...
 
void Rotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr) override
 Rotate around an axis. More...
 
double DistanceToPoint (const MbCartPoint3D &) const override
 Calculate the distance to a point.
 
void AddYourGabaritTo (MbCube &) const override
 Add your own bounding box into the sent bounding box.
 
void CalculateLocalGabarit (const MbMatrix3D &into, MbCube &cube) const override
 Calculate bounding box in the local coordinate system which is given by the matrix of transformation to this system.
 
bool IsSame (const MbTopologyItem &other, double accuracy) const override
 Determine whether objects are equal.
 
void CalculateMesh (const MbStepData &stepData, const MbFormNote &note, MbMesh &mesh) const override
 Construct a polygonal copy of an object mesh).
 
const MbCartPoint3DGetCartPoint () const
 Get the Cartesian point of a vertex.
 
MbCartPoint3DSetCartPoint ()
 Get the Cartesian point of a vertex.
 
void GetCartPoint (MbCartPoint3D &cp) const
 Get the Cartesian point of a vertex.
 
void SetCartPoint (const MbCartPoint3D &cp)
 Set the Cartesian point of a vertex.
 
double DistanceToEdge (const MbCurveEdge &edge, MbCartPoint3D &p0, MbCartPoint3D &p1) const
 Calculate the nearest distance to an edge.
 
double DistanceToFace (const MbFace &face, MbCartPoint3D &p0, MbCartPoint3D &p1) const
 Calculate the nearest distance to a face.
 
double GetTolerance () const
 Get a tolerance of edges connection.
 
void SetTolerance (double a)
 Set a tolerance of edges connection.
 
double & SetTolerance ()
 Set a tolerance of edges connection.
 
void GetProperties (MbProperties &)
 Get properties of the object.
 
void SetProperties (const MbProperties &)
 Set properties of the object.
 
- Public Member Functions inherited from MbTopologyItem
virtual ~MbTopologyItem ()
 Destructor.
 
MbeImplicationType ImplicationType () const override
 A type of element. More...
 
const MbNameGetName () const
 Get name of object.
 
MbNameSetName ()
 Get name of object for modification.
 
SimpleName GetMainName () const
 Get main name.
 
void SetMainName (SimpleName n)
 Set main name.
 
SimpleName GetFirstName () const
 Get first name.
 
SimpleName GetNameHash () const
 Get hash of name.
 
void SetName (const MbName &n)
 Set name.
 
bool GetOwnChanged () const
 Get flag which indicates that an object has (not) been changed.
 
bool GetOwnChanged (MbeChangedType n) const
 Get flag which indicates that an object has (not) been changed.
 
void SetOwnChanged (MbeChangedType)
 Set flag which indicates that an object has (not) been changed.
 
void CopyOwnChanged (const MbTopologyItem &ti)
 Copy flag which indicates that an object has (not) been changed.
 
uint16 GetOwnChangedFlag () const
 Get flag which indicates that an object has (not) been changed.
 
template<class Uint >
void SetOwnChangedFlag (Uint n)
 Set flag which indicates that an object has (not) been changed.
 
bool IsOwnRenamedOnly () const
 Get flag which indicates that an object has been renamed only.
 
bool IsOwnTransformedOnly () const
 Get flag which indicates that an object has been transformed only.
 
bool IsOwnReorientedOnly () const
 Get flag which indicates that an object has been reoriented only.
 
bool IsOwnChangedWeakly () const
 Get a flag indicating that only “weak” changes were applied: creation, renaming, transformation, reorientation. More...
 
MbeLabelState GetLabel (void *key=nullptr) const
 Get label.
 
void SetOwnLabel (MbeLabelState l, void *key=nullptr) const
 Set a label of the loop.
 
void SetOwnLabel (MbeLabelState l, void *key, bool setLock) const
 Set a label of the loop.
 
bool ToDelete () const
 Is this object intended for deletion? This is defined by labels.
 
void RemovePrivateLabel (void *key=nullptr) const
 Remove private label.
 
void Assign (const MbTopologyItem &)
 Copying of the object data.
 
void RemoveParentNamesAttribute ()
 Delete an attribute of name type with parent names.
 
- Public Member Functions inherited from MbTopItem
MbeRefType RefType () const override
 Registration type (for copying, duplication).
 
void PrepareWrite () const
 Prepare an object for writing.
 
bool IsAVertex () const
 Is it a vertex?
 
bool IsAWireEdge () const
 Is it an edge of wireframe?
 
bool IsAnEdge () const
 Is it an edge?
 
bool IsAFace () const
 Is it a face?
 
bool IsAShell () const
 Is it a shell?
 
bool IsAProxy () const
 Is it a proxy?
 
- 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.
 
- Public Member Functions inherited from MbAttributeContainer
 MbAttributeContainer ()
 Constructor without parameters.
 
 MbAttributeContainer (MbAttribute &)
 Constructor by attribute.
 
virtual ~MbAttributeContainer ()
 Destructor.
 
void AttributesRead (reader &)
 Read attributes from stream.
 
void AttributesWrite (writer &) const
 Writing attributes to stream.
 
void GetProperties (MbProperties &)
 Get properties of attributes.
 
void SetProperties (const MbProperties &)
 Set properties of attributes.
 
void SetDensity (double)
 Set density of an object.
 
double GetDensity () const
 Get density of an object.
 
void SetVisual (float a, float d, float sp, float sh, float t, float e, uint rgb=0)
 Set visual properties of the object.
 
void SetVisual (const MbRGBA &ambient, const MbRGBA &diffuse, const MbRGBA &specular, const MbRGBA &emission, uint8 shininess, uint8 opacity, uint8 chrom)
 Set visual properties of the object.
 
bool GetVisual (float &a, float &d, float &sp, float &sh, float &t, float &e, uint rgb=0) const
 Get visual properties of the object. More...
 
bool IsColored () const
 
void SetColor (uint32)
 Change color of the object.

 
void SetColor (int R, int G, int B)
 Change color of the object (0-255).
 
uint32 GetColor () const
 Get color of an object.
 
void SetWidth (int)
 Set thickness of lines for object's representation.
 
int GetWidth () const
 Get thickness of lines for object's representation.
 
void SetStyle (int)
 Set style of lines for object's representation.
 
int GetStyle () const
 Get style of lines for object's representation.
 
void SetSelected (bool s=true)
 To allocate or not to allocate an object.
 
bool IsSelected () const
 Is the object selected.
 
bool ReverseSelected ()
 Invert object selection.
 
void SetChanged (bool c=true)
 Set: the object is changed or isn't changed.
 
bool IsChanged () const
 Is the object changed?
 
void SetVisible (bool)
 Set visibility.

 
bool IsVisible () const
 Is the object visible?
 
bool IsInvisible () const
 Is the object invisible?
 
void AttributesAssign (const MbAttributeContainer &)
 Duplicate attributes of a given object, release existing attributes.
 
size_t AttributesCount () const
 Get the number of objects.
 
bool RemoveAttributes (bool onDeleteOwner=false)
 Delete all attributes from container.
 
MbAttributeAddAttribute (MbAttribute *attr, bool checkSame=true)
 Add attribute in container. More...
 
MbAttributeAddAttribute (const MbAttribute &attr, bool checkSame=true)
 Add attribute in container (adds a copy of the attribute if it can be added). More...
 
void GetAttributes (c3d::AttrVector &attrs, MbeAttributeType aFamily, MbeAttributeType subType) const
 Get attributes of a given type or family. More...
 
void GetAttributes (c3d::AttrVector &attrs, MbeAttributeType aType) const
 Get attributes of a given type. More...
 
template<class AttrVector >
void GetAttributes (AttrVector &attrs) const
 Get attributes. More...
 
void GetCommonAttributes (c3d::AttrVector &, const c3d::string_t &samplePrompt, MbeAttributeType subType=at_Undefined, bool firstFound=false) const
 Get attributes using sample of description string.
 
void GetStringAttributes (c3d::AttrVector &, const c3d::string_t &sampleContent) const
 Get string attributes using sample of contents of the string.
 
bool RemoveAttribute (const MbAttribute *, bool checkAccuracySame=false, double accuracy=LENGTH_EPSILON)
 Get an attribute of a given type, the first one is returned if there are many. More...
 
bool RemoveAttributes (MbeAttributeType type, MbeAttributeType subType)
 Delete attributes of a given type.
 
const MbAttributeGetSimpleAttribute (MbeAttributeType) const
 Get a simple attribute of a given subtype.
 
MbAttributeSetSimpleAttribute (MbeAttributeType)
 Get a simple attribute of a given subtype.
 
MbAttributeSetSimpleAttribute (MbAttribute *simpAttr)
 Set a simple attribute of a given subtype.
 
MbAttributeSetSimpleAttribute (const MbAttribute &simpAttr)
 Set a simple attribute of a given subtype (always copies the attribute).
 
void RemoveSimpleAttribute (MbeAttributeType)
 Delete simple attributes (one or more) of a given subtype.
 
MbAttributeDetachSimpleAttribute (MbeAttributeType)
 Detach a simple attribute of a given subtype.
 
void GetUserAttributes (std::vector< MbUserAttribute * > &attrs, const MbUserAttribType &type) const
 Get a user attribute of a given subtype.
 
void RemoveUserAttributes (const MbUserAttribType &type)
 Delete user attributes (one or more) of a given subtype.
 
void DetachUserAttributes (std::vector< MbUserAttribute * > &attrs, const MbUserAttribType &type)
 Detach a user attribute of a given subtype.
 
void AttributesChange ()
 Perform actions when changing the attributes.

 
void AttributesConvert (MbAttributeContainer &other) const
 Perform actions when converting the attributes.

 
void AttributesTransform (const MbMatrix3D &, MbRegTransform *=nullptr)
 Perform actions when transforming the attributes.

 
void AttributesMove (const MbVector3D &, MbRegTransform *=nullptr)
 Perform actions when moving the attributes.

 
void AttributesRotate (const MbAxis3D &, double angle, MbRegTransform *=nullptr)
 Perform actions when rotating the attributes.

 
void AttributesCopy (MbAttributeContainer &other, MbRegDuplicate *=nullptr) const
 Perform actions when copying the attributes.

 
void AttributesMerge (MbAttributeContainer &other)
 Perform actions when merging the attributes.

 
void AttributesReplace (MbAttributeContainer &other)
 Perform actions when replacing the attributes.
 
void AttributesSplit (const std::vector< MbAttributeContainer * > &others)
 Perform actions when splitting the attributes.
 
void AttributesDelete ()
 Perform actions when deleting the attributes.
 

Protected Member Functions

 MbVertex (const MbVertex &, MbRegDuplicate *)
 Copy constructor.
 
- Protected Member Functions inherited from MbTopologyItem
 MbTopologyItem ()
 Constructor without parameters.
 
 MbTopologyItem (const MbTopologyItem &, MbRegDuplicate *)
 Constructor of duplicating.
 
- Protected Member Functions inherited from MbTopItem
 MbTopItem ()
 Constructor.
 
- Protected Member Functions inherited from MbRefItem
 MbRefItem ()
 Constructor without parameters.
 
- Protected Member Functions inherited from MbAttributeContainer
 MbAttributeContainer (const MbAttributeContainer &, MbRegDuplicate *)
 Copy-constructor with the registrator.
 

Protected Attributes

MbCartPoint3D point
 A point.
 
double tolerance
 Maximum distance from a point to incident edges.
 
- Protected Attributes inherited from MbTopologyItem
MbLabel label
 Temporary label for performing of operations.
 

Additional Inherited Members

- Static Public Member Functions inherited from MbAttributeContainer
static MbUserAttributeReduceUserAttrib (const MbExternalAttribute &)
 Convert user attribute to "system" one.
 
static MbExternalAttributeAdvanceUserAttrib (const MbUserAttribute &)
 Convert "system" attribute to user one.
 

Detailed Description

Vertex.

Vertex is used to describe connections of edges and it is a point where edges are connected. Any number of edges may be connected by one vertex. Adjacent edges point to the same common vertex. The maximum tolerance of edges connection is known for a vertex. When the connection is not accurate, the tolerance of the vertex location equals the distance between the point of the vertex and the end of the farthest edge.

Member Function Documentation

◆ Transform()

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

Transform according to the matrix.

Transformation of an object according to the matrix. This object can be contained as pointer in several other objects for transformations. Registrar is used to prevent multiple transformation of this object. When transforming the object with registrator, the existence of the object inside the registrator is verified. If such object is absent, it is stored to the registrator and transformed, otherwise, a transformation of the object is not performed.

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

Implements MbTopologyItem.

◆ Move()

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

Move along a vector.

Move an object along a vector. When transforming the object with registrator, the existence of the object inside the registrator is verified. If such object is absent, it is stored to the registrator and transformed, otherwise, a transformation of the object is not performed.

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

Implements MbTopologyItem.

◆ Rotate()

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

Rotate around an axis.

Rotate an object at a given angle around an axis. When transforming the object with registrator, the existence of the object inside the registrator is verified. If such object is absent, it is stored to the registrator and transformed, otherwise, a transformation of the object is not performed.

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

Implements MbTopologyItem.


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