Hide menu
No Matches
cadex::ModelData_PMISemanticElement Class Reference

Defines a PMI semantic element. More...

#include <cadex/ModelData_PMISemanticElement.hxx>

Inheritance diagram for cadex::ModelData_PMISemanticElement:


class  ComponentIterator
 Iterator over added components. More...

Public Types

typedef cadex::internal::ModelData_PMISemanticElementImpl ImplType
- Public Types inherited from cadex::ModelData_BaseObject
typedef int IdType
 Defines a type identifier.

Public Member Functions

 ModelData_PMISemanticElement ()
 ModelData_PMISemanticElement (initialized)
 ModelData_PMISemanticElement (ImplType *theImpl)
 Constructor (reserved for internal use).
void AddComponent (const ModelData_PMISemanticElementComponent &theComponent)
 Adds a component.
bool IsEmpty () const
 Returns true if no semantic element components were added.
size_t NumberOfComponents () const
 Returns number of added components.
void Accept (ModelData_PMISemanticElementComponentVisitor &theVisitor) const
 Accepts the visitor.
- Public Member Functions inherited from cadex::ModelData_BaseObject
 ModelData_BaseObject ()
IdType TypeId () const
 Returns an object type id.
template<typename T >
bool IsOfType () const
 Returns true if the object has a type T.
void SetName (const Base_UTF16String &theName)
 Sets an object name.
Base_UTF16String Name () const
void SetUuid (const Base_Uuid &theUuid)
Base_Uuid Uuid () const
void Nullify ()
 Resets reference to implementation object.
bool IsNull () const
 Returns true if the object is nullified.
 operator bool () const
 Casts the object to the bool type.
internal::ModelData_BaseObjectImpl * Impl () const
 Return a handle to backend (reserved for internal use).

Static Public Member Functions

static IdType GetTypeId ()

Additional Inherited Members

- Protected Member Functions inherited from cadex::ModelData_BaseObject
 ModelData_BaseObject (const internal::ModelData_BaseObjectImpl *theImpl)
 Constructor (reserved for internal use).
 ModelData_BaseObject (const internal::ModelData_BaseObjectImpl *theImpl, const Base_UTF16String &theName)
 Constructor (reserved for internal use).
template<typename T >
T * GetOrCreateImpl ()
 Reserved for internal use.

Detailed Description

Defines a PMI semantic element.

Semantic PMI is specific 'attributes' bearing semantics of PMI such as value of dimension, tolerance bounds, etc. that are stored as alphanumeric data, not as a graphical presentation.

The stored information may be annotations associated with a CAD model's edges and faces such as dimensional/geometric tolerances or datum features. Like graphical element semantic element may consists of several components (ModelData_PMISemanticElementComponent subclasses) each one representing specific semantic notation.

It's expected that all components bear the same type.
See also
ModelData_PMITable, ModelData_PMIData, ModelData_PMISemanticElementComponent
exploring/pmi/Program.cs, and exploring/pmi/main.cxx.

Constructor & Destructor Documentation

◆ ModelData_PMISemanticElement() [1/2]

cadex::ModelData_PMISemanticElement::ModelData_PMISemanticElement ( )


Creates uninitialized object, for which IsNull() returns true.

◆ ModelData_PMISemanticElement() [2/2]

cadex::ModelData_PMISemanticElement::ModelData_PMISemanticElement ( initialized  )


Creates initialized object, for which IsNull() returns false.

Member Function Documentation

◆ Accept()

void cadex::ModelData_PMISemanticElement::Accept ( ModelData_PMISemanticElementComponentVisitor theVisitor) const

Accepts the visitor.

The components are visited in the order in which they were added with the AddComponent() method.

exploring/pmi/Program.cs, and exploring/pmi/main.cxx.

◆ IsEmpty()

bool cadex::ModelData_PMISemanticElement::IsEmpty ( ) const

Returns true if no semantic element components were added.

Returns true if IsNull().

See also
AddComponent(), NumberOfComponents()

◆ NumberOfComponents()

size_t cadex::ModelData_PMISemanticElement::NumberOfComponents ( ) const

Returns number of added components.

Returns 0 if IsNull().

See also