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

The base class for various component types. More...

#include <cadex/PMI/SemanticComponent.hxx>

Inheritance diagram for cadex::PMI::SemanticComponent:
cadex::BaseObject cadex::PMI::DatumComponent cadex::PMI::DimensionComponent cadex::PMI::GeometricToleranceComponent cadex::PMI::SurfaceFinishComponent

Public Member Functions

void AddAttribute (const SemanticAttribute &theAttribute)
 Adds the attribute.
 
const std::vector< PMI::SemanticAttribute > & Attributes () const
 Returns the attributes.
 
bool HasAttributes () const
 Returns true if semantic attributes were added and false otherwise.
 
size_t NumberOfAttributes () const
 Returns the number of added attributes.
 
void Accept (SemanticAttributeVisitor &theVisitor) const
 Accepts an attribute visitor.
 
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 SemanticComponent type.
 

Protected Member Functions

 SemanticComponent (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

The base class for various component types.

Contains a collection of PMI semantic attributes that are specific to each derived component.

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

Member Function Documentation

◆ Accept()

void cadex::PMI::SemanticComponent::Accept ( SemanticAttributeVisitor & theVisitor) const

Accepts an attribute visitor.

The order of visiting will match the order of adding attributes with AddAttribute().

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

◆ Attributes()

const std::vector< PMI::SemanticAttribute > & cadex::PMI::SemanticComponent::Attributes ( ) const

Returns the attributes.

See also
AddAttribute(), HasAttributes()

◆ HasAttributes()

bool cadex::PMI::SemanticComponent::HasAttributes ( ) const

Returns true if semantic attributes were added and false otherwise.

Returns false if IsNull().

See also
AddAttribute(), NumberOfAttributes()
Examples
exploring/pmi/Program.cs, and exploring/pmi/main.cxx.

◆ NumberOfAttributes()

size_t cadex::PMI::SemanticComponent::NumberOfAttributes ( ) const

Returns the number of added attributes.

Returns 0 if IsNull().

See also
AddAttribute(), HasAttributes(),
Attributes()