Hide menu
Loading...
Searching...
No Matches

Defines a PMI semantic representation. More...

#include <cadex/PMI/SemanticRepresentation.hxx>

Inheritance diagram for cadex::PMI::SemanticRepresentation:
cadex::BaseObject

Public Member Functions

 SemanticRepresentation (Initialized)
 Constructor.
 
 SemanticRepresentation (const SemanticComponent &theComponent)
 
void AddComponent (const SemanticComponent &theComponent)
 Adds the representation.
 
const std::vector< SemanticComponent > & Components () const
 Returns the semantic components.
 
size_t NumberOfComponents () const
 Returns the number of added components.
 
bool IsEmpty () const
 Returns true if no semantic components were added.
 
void Accept (SemanticComponentVisitor &theVisitor) const
 Accepts the visitor.
 
- Public Member Functions inherited from cadex::BaseObject
size_t Id () const
 Return unique identifier of public object.
 
internal::BaseObjectImpl * Impl () const
 
bool IsNull () const
 
 operator bool () const
 
template<typename T >
bool IsOfType () const
 
template<typename T >
T * Impl () const
 Reserved for internal use.
 

Static Public Member Functions

static bool CompareType (const BaseObject &theObject)
 Returns true if theObject has the SemanticRepresentation type.
 

Protected Member Functions

 SemanticRepresentation (const ImplType &theImpl)
 
- Protected Member Functions inherited from cadex::BaseObject
 BaseObject (const ImplType &theImpl)
 

Additional Inherited Members

- Public Types inherited from cadex::BaseObject
typedef std::shared_ptr< internal::BaseObjectImpl > ImplType
 

Detailed Description

Defines a PMI semantic representation.

A 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 representation or semantic representation may consists of several components (SemanticComponent subclasses) each one representing specific semantic notation.

Note
It's expected that all components bear the same type.
See also
Data, Element, SemanticComponent
Examples
exploring/pmi/Program.cs, and exploring/pmi/main.cxx.

Member Function Documentation

◆ Accept()

void cadex::PMI::SemanticRepresentation::Accept ( SemanticComponentVisitor & theVisitor) const

Accepts the visitor.

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

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

◆ IsEmpty()

bool cadex::PMI::SemanticRepresentation::IsEmpty ( ) const

Returns true if no semantic components were added.

Returns true if IsNull().

See also
AddComponent(), NumberOfComponents()
Examples
exploring/pmi/Program.cs.

◆ NumberOfComponents()

size_t cadex::PMI::SemanticRepresentation::NumberOfComponents ( ) const

Returns the number of added components.

Returns 0 if IsNull().

See also
AddComponent()