Public Member Functions | List of all members
HPS::Parasolid::Component Class Reference

#include <sprk_parasolid.h>

Inheritance diagram for HPS::Parasolid::Component:
HPS::Component HPS::Sprocket HPS::Object

Public Member Functions

 Component ()
 
 Component (HPS::Component const &in_that)
 
 Component (Parasolid::Component const &in_that)
 
 Component (Parasolid::Component &&in_that)
 
virtual ~Component ()
 
HPS::Type ObjectType () const
 
Componentoperator= (Component const &in_that)=default
 
Componentoperator= (Parasolid::Component &&in_that)
 
ParasolidEntity GetParasolidEntity () const
 
void Tessellate (Parasolid::FacetTessellationKit const &in_facet_options, Parasolid::LineTessellationKit const &in_line_options)
 
- Public Member Functions inherited from HPS::Component
 Component ()
 
 Component (Component const &in_that)
 
 Component (Component &&in_that)
 
Componentoperator= (Component const &in_that)
 
Componentoperator= (Component &&in_that)
 
virtual void Assign (Component const &in_that)
 
bool Equals (Component const &in_that) const
 
bool operator!= (Component const &in_that) const
 
bool operator== (Component const &in_that) const
 
ComponentType GetComponentType () const
 
bool HasComponentType (ComponentType in_mask) const
 
void AddKey (Key const &in_key)
 
KeyArray GetKeys () const
 
void AddOwner (Component &in_owner, IncludeKey const &in_include=IncludeKey())
 
ComponentArray GetOwners () const
 
ComponentArray GetSubcomponents () const
 
ComponentArray GetAllSubcomponents (ComponentType in_type) const
 
void AddReference (Component &in_reference)
 
ComponentArray GetReferrers () const
 
ComponentArray GetReferences () const
 
MetadataArray GetAllMetadata () const
 
Metadata GetMetadata (char const *in_name) const
 
void Delete ()
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
Objectoperator= (Object const &other_object)
 
 Object (Object &&in_that)
 
Objectoperator= (Object &&in_that)
 
HPS::Type Type () const
 
virtual bool Empty () const
 
virtual void Reset ()
 
bool HasType (HPS::Type in_mask) const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 

Additional Inherited Members

- Public Types inherited from HPS::Component
enum  ComponentType : uint32_t {
  None = 0x00000000, GenericMask = 0xfffff000, ComponentType::ExchangeComponentMask = 0x00001000, ComponentType::ExchangeModelFile = 0x00001001,
  ComponentType::ExchangeProductOccurrence = 0x00001002, ComponentType::ExchangePartDefinition = 0x00001003, ComponentType::ExchangeView = 0x00001004, ComponentType::ExchangeFilter = 0x00001005,
  ComponentType::ExchangeRepresentationItemMask = 0x00003000, ComponentType::ExchangeRIBRepModel = 0x00003001, ComponentType::ExchangeRICurve = 0x00003002, ComponentType::ExchangeRIDirection = 0x00003003,
  ComponentType::ExchangeRIPlane = 0x00003004, ComponentType::ExchangeRIPointSet = 0x00003005, ComponentType::ExchangeRIPolyBRepModel = 0x00003006, ComponentType::ExchangeRIPolyWire = 0x00003007,
  ComponentType::ExchangeRISet = 0x00003008, ComponentType::ExchangeRICoordinateSystem = 0x00003009, ComponentType::ExchangeTopologyMask = 0x00005000, ComponentType::ExchangeTopoBody = 0x00005001,
  ComponentType::ExchangeTopoConnex = 0x00005002, ComponentType::ExchangeTopoShell = 0x00005003, ComponentType::ExchangeTopoFace = 0x00005004, ComponentType::ExchangeTopoLoop = 0x00005005,
  ComponentType::ExchangeTopoCoEdge = 0x00005006, ComponentType::ExchangeTopoEdge = 0x00005007, ComponentType::ExchangeTopoVertex = 0x00005008, ComponentType::ExchangeTopoSingleWireBody = 0x00005009,
  ComponentType::ExchangeTopoWireEdge = 0x0000500a, ComponentType::ExchangeDrawingMask = 0x00006000, ComponentType::ExchangeDrawingModel = 0x00006001, ComponentType::ExchangeDrawingView = 0x00006002,
  ComponentType::ExchangeDrawingSheet = 0x00006003, ComponentType::ExchangeBasicDrawingBlock = 0x00006004, ComponentType::ExchangeOperatorDrawingBlock = 0x00006005, ComponentType::ExchangePMIMask = 0x00009000,
  ComponentType::ExchangePMI = ExchangePMIMask, ComponentType::ExchangePMIText = 0x00009100, ComponentType::ExchangePMIRichText = 0x00009200, ComponentType::ExchangePMIRoughness = 0x00009300,
  ComponentType::ExchangePMIGDT = 0x00009400, ComponentType::ExchangePMIDatum = 0x00009500, ComponentType::ExchangePMILineWelding = 0x00009600, ComponentType::ExchangePMISpotWelding = 0x00009700,
  ComponentType::ExchangePMIDimension = 0x00009800, ComponentType::ExchangePMIBalloon = 0x00009900, ComponentType::ExchangePMICoordinate = 0x00009a00, ComponentType::ExchangePMIFastener = 0x00009b00,
  ComponentType::ExchangePMILocator = 0x00009c00, ComponentType::ExchangePMIMeasurementPoint = 0x00009d00, ComponentType::ParasolidComponentMask = 0x00010000, ComponentType::ParasolidModelFile = 0x00010001,
  ComponentType::ParasolidAssembly = 0x00010002, ComponentType::ParasolidTopologyMask = 0x00050000, ComponentType::ParasolidTopoBody = 0x00050001, ComponentType::ParasolidTopoRegion = 0x00050002,
  ComponentType::ParasolidTopoShell = 0x00050003, ComponentType::ParasolidTopoFace = 0x00050004, ComponentType::ParasolidTopoLoop = 0x00050005, ComponentType::ParasolidTopoFin = 0x00050006,
  ComponentType::ParasolidTopoEdge = 0x00050007, ComponentType::ParasolidTopoVertex = 0x00050008, ComponentType::DWGComponentMask = 0x00100000, ComponentType::DWGModelFile = 0x00100001,
  ComponentType::DWGLayout = 0x00100002, ComponentType::DWGBlockTable = 0x00100003, ComponentType::DWGBlockTableRecord = 0x00100004, ComponentType::DWGEntity = 0x00100005,
  ComponentType::DWGLayerTable = 0x00100006, ComponentType::DWGLayer = 0x00100007
}
 
- Public Types inherited from HPS::Sprocket
enum  UpdateType { Synchronous, Asynchronous }
 
- Static Public Member Functions inherited from HPS::Component
static KeyPathArray GetKeyPath (Component const &in_component)
 
static KeyPathArray GetKeyPath (size_t in_count, Component const in_components[])
 
static KeyPathArray GetKeyPath (ComponentArray const &in_components)
 
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The Component class is a smart pointer. It represents a variety of Parasolid components. The primary purpose of this class is simply to provide access to the underlying ParasolidEntity object for use by Parasolid library functions.

Constructor & Destructor Documentation

HPS::Parasolid::Component::Component ( )

The default constructor creates an uninitialized Parasolid::Component object. The Type() function will return Type::None.

HPS::Parasolid::Component::Component ( HPS::Component const &  in_that)

This constructor creates an Parasolid::Component object that shares the underlying smart-pointer of the source Component. The copy will only be successful if the source component is really an upcast of a Parasolid::Component object. Otherwise the copy will fail and the resulting Parasolid::Component will be invalid.

Parameters
in_thatThe source Component to copy.
HPS::Parasolid::Component::Component ( Parasolid::Component const &  in_that)

The copy constructor creates an Parasolid::Component object that shares the underlying smart-pointer of the source Parasolid::Component.

Parameters
in_thatThe source Parasolid::Component to copy.
HPS::Parasolid::Component::Component ( Parasolid::Component &&  in_that)

The move constructor creates a Parasolid::Component by transferring the underlying object of the rvalue reference to this Parasolid::Component.

Parameters
in_thatAn rvalue reference to an Parasolid::Component to take the underlying object from.
virtual HPS::Parasolid::Component::~Component ( )
virtual

Releases a reference to this Component. The Component will not be deleted unless the final reference is destroyed.

Reimplemented from HPS::Component.

Member Function Documentation

ParasolidEntity HPS::Parasolid::Component::GetParasolidEntity ( ) const

Gets the ParasolidEntity object corresponding to this Parasolid Component.

Returns
The ParasolidEntity object corresponding to this Parasolid Component.
HPS::Type HPS::Parasolid::Component::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Component.

Component& HPS::Parasolid::Component::operator= ( Parasolid::Component &&  in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this Parasolid::Component.

Parameters
in_thatAn rvalue reference to a Parasolid::Component to take the underlying object from.
Returns
A reference to this Parasolid::Component.
void HPS::Parasolid::Component::Tessellate ( Parasolid::FacetTessellationKit const &  in_facet_options,
Parasolid::LineTessellationKit const &  in_line_options 
)

Re-tessellate the given Component with the provided options. Tessellation can only occur at the body or assembly level, so calling this function on Component objects below that level will have no effect.

Parameters
in_facet_optionsThe facet tessellation options to use to generate the new tessellation for this Component.
in_line_optionsThe line tessellation options to use to generate the new tessellation for this Component.

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