#include <sprk.h>

Inheritance diagram for HPS::CADModel:
HPS::Component HPS::Sprocket HPS::Object HPS::DWG::CADModel HPS::Exchange::CADModel HPS::Parasolid::CADModel

Public Member Functions

View ActivateDefaultCapture ()
 
 CADModel ()
 
 CADModel (Component const &in_that)
 
 CADModel (CADModel const &in_that)
 
 CADModel (CADModel &&in_that)
 
 CADModel (Model const &in_that)
 
FilterArray GetActiveFilters (View const &in_view) const
 
CaptureArray GetAllCaptures () const
 
FilterArray GetAllFilters () const
 
Component GetComponentFromKey (Key const &in_key) const
 
ComponentPath GetComponentPath (KeyPath const &in_key_path, ComponentPath::PathType in_path_type=ComponentPath::PathType::Unique) const
 
ComponentPath GetComponentPath (SelectionItem const &in_item, ComponentPath::PathType in_path_type=ComponentPath::PathType::Unique) const
 
Model GetModel () const
 
HPS::Type ObjectType () const
 
CADModeloperator= (CADModel &&in_that)
 
void ResetVisibility (Canvas &in_canvas, size_t in_layer=0)
 
- Public Member Functions inherited from HPS::Component
void AddKey (Key const &in_key)
 
void AddOwner (Component &in_owner, IncludeKey const &in_include=IncludeKey())
 
void AddReference (Component &in_reference)
 
bool AddTransform (MatrixKit const &in_transform)
 
virtual void Assign (Component const &in_that)
 
 Component ()
 
 Component (Component const &in_that)
 
 Component (Component &&in_that)
 
Component CopyTo (HPS::Component const &in_new_owner)
 
void Delete (HPS::Component::DeleteMode mode=HPS::Component::DeleteMode::Standard)
 
bool Equals (Component const &in_that) const
 
void Flush ()
 
MetadataArray GetAllMetadata () const
 
ComponentArray GetAllSubcomponents (ComponentType in_type) const
 
ComponentType GetComponentType () const
 
KeyArray GetKeys () const
 
Metadata GetMetadata (char const *in_name) const
 
UTF8 GetName () const
 
ComponentArray GetOwners () const
 
ComponentArray GetReferences () const
 
ComponentArray GetReferrers () const
 
ComponentArray GetSubcomponents () const
 
bool HasComponentType (ComponentType in_mask) const
 
bool operator!= (Component const &in_that) const
 
Componentoperator= (Component const &in_that)
 
Componentoperator= (Component &&in_that)
 
bool operator== (Component const &in_that) const
 
bool SetName (char const *in_new_name)
 
bool SetTransform (MatrixKit const &in_transform)
 
virtual ~Component ()
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::CADModel
 
- Static Public Attributes inherited from HPS::Component
static const HPS::Type staticType = HPS::Type::Component
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

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 = 0x00009000, ComponentType::ExchangeDrawingModel = 0x00009001, ComponentType::ExchangeDrawingView = 0x00009002,
  ComponentType::ExchangeDrawingSheet = 0x00009003, ComponentType::ExchangeBasicDrawingBlock = 0x00009004, ComponentType::ExchangeOperatorDrawingBlock = 0x00009005, ComponentType::ExchangePMIMask = 0x00011000,
  ComponentType::ExchangePMI = ExchangePMIMask, ComponentType::ExchangePMIText = 0x00011100, ComponentType::ExchangePMIRichText = 0x00011200, ComponentType::ExchangePMIRoughness = 0x00011300,
  ComponentType::ExchangePMIGDT = 0x00011400, ComponentType::ExchangePMIDatum = 0x00011500, ComponentType::ExchangePMILineWelding = 0x00011600, ComponentType::ExchangePMISpotWelding = 0x00011700,
  ComponentType::ExchangePMIDimension = 0x00011800, ComponentType::ExchangePMIBalloon = 0x00011900, ComponentType::ExchangePMICoordinate = 0x00011a00, ComponentType::ExchangePMIFastener = 0x00011b00,
  ComponentType::ExchangePMILocator = 0x00011c00, ComponentType::ExchangePMIMeasurementPoint = 0x00011d00, ComponentType::ParasolidComponentMask = 0x00020000, ComponentType::ParasolidModelFile = 0x00020001,
  ComponentType::ParasolidAssembly = 0x00020002, ComponentType::ParasolidInstance = 0x00020003, ComponentType::ParasolidTopologyMask = 0x00060000, ComponentType::ParasolidTopoBody = 0x00060001,
  ComponentType::ParasolidTopoRegion = 0x00060002, ComponentType::ParasolidTopoShell = 0x00060003, ComponentType::ParasolidTopoFace = 0x00060004, ComponentType::ParasolidTopoLoop = 0x00060005,
  ComponentType::ParasolidTopoFin = 0x00060006, ComponentType::ParasolidTopoEdge = 0x00060007, ComponentType::ParasolidTopoVertex = 0x00060008, ComponentType::DWGComponentMask = 0x00100000,
  ComponentType::DWGModelFile = 0x00100001, ComponentType::DWGLayout = 0x00100002, ComponentType::DWGBlockTable = 0x00100003, ComponentType::DWGBlockTableRecord = 0x00100004,
  ComponentType::DWGEntity = 0x00100005, ComponentType::DWGLayerTable = 0x00100006, ComponentType::DWGLayer = 0x00100007, ComponentType::UserComponent = 0x01000000
}





 
enum  DeleteMode { Standard, Full, StandardAndExchange }
 
- 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 CADModel class is a smart pointer. It represents the root Component for a structured file format.

Constructor & Destructor Documentation

◆ CADModel() [1/5]

HPS::CADModel::CADModel ( )

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

◆ CADModel() [2/5]

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

This constructor creates a CADModel 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 CADModel object. Otherwise the copy will fail and the resulting CADModel will be invalid.

Parameters
in_thatThe source Component to copy.

◆ CADModel() [3/5]

HPS::CADModel::CADModel ( CADModel const &  in_that)

The copy constructor creates a CADModel object that shares the underlying smart-pointer of the source CADModel.

Parameters
in_thatThe source CADModel to copy.

◆ CADModel() [4/5]

HPS::CADModel::CADModel ( CADModel &&  in_that)

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

Parameters
in_thatAn rvalue reference to a CADModel to take the underlying object from.

◆ CADModel() [5/5]

HPS::CADModel::CADModel ( Model const &  in_that)

This constructor creates a CADModel object that is associated with the given Model. This will throw an exception if the given Model is not associated with a CADModel.

Parameters
in_thatThe source Model to use to find the associated CADModel.

Member Function Documentation

◆ ActivateDefaultCapture()

View HPS::CADModel::ActivateDefaultCapture ( )

Creates a new View object corresponding to the default capture for this CADModel. The View object that is returned will have the corresponding visibility settings, material settings, transformation settings, and camera for the default capture set on it.

Returns
A newly created View object corresponding to this Capture.

◆ GetActiveFilters()

FilterArray HPS::CADModel::GetActiveFilters ( View const &  in_view) const

Get a list of the active filters on the given View.

Parameters
in_viewThe View for which to get the active filters.
Returns
A list of the active filters on the given View.

◆ GetAllCaptures()

CaptureArray HPS::CADModel::GetAllCaptures ( ) const

Get a list of all captures from all subcomponents for this CADModel.

Returns
A list of all captures from all subcomponents for this CADModel.

◆ GetAllFilters()

FilterArray HPS::CADModel::GetAllFilters ( ) const

Get a list of all filters from all subcomponents for this CADModel.

Returns
A list of all filters from all subcomponents for this CADModel.

◆ GetComponentFromKey()

Component HPS::CADModel::GetComponentFromKey ( Key const &  in_key) const

Find the Component associated with the given Key (if any).

Parameters
in_keyThe Key from which to find the associated Component.
Returns
The Component associated with the given Key (if any).

◆ GetComponentPath() [1/2]

ComponentPath HPS::CADModel::GetComponentPath ( KeyPath const &  in_key_path,
ComponentPath::PathType  in_path_type = ComponentPath::PathType::Unique 
) const

Get the ComponentPath which corresponds to the given KeyPath.


The returned path will contain the Components which occurs along the given KeyPath, up to the CADModel.

If the path type requested is Unique, Components associated with keys which are implicitly along the key path will be included in the returned path, provided they can be determined unambiguously.

If the path type requested is Complete, all Components associated with keys which are implicitly along the path will be included in the returned path, if an entry cannot be determined unambiguously, it will be filled with the first eligible component found.

Example: a component with two owners will select the first owner out of the two, if the key path does not specify which of the two owners to consider, when using a Complete path type. It will instead not include any of the two owners when using Unique path type.

This function will throw an InvalidSpecificationException if the provided key path does not proceed from leaf to root. An error will be logged if the key path is ambiguous, and only components associated with the explicit keys in the key path will be returned in this case.

Parameters
in_key_pathThe KeyPath for which to compute the corresponding ComponentPath.
in_path_typeThe type of ComponentPath returned by this function.
Returns
The ComponentPath corresponding to the given KeyPath.

◆ GetComponentPath() [2/2]

ComponentPath HPS::CADModel::GetComponentPath ( SelectionItem const &  in_item,
ComponentPath::PathType  in_path_type = ComponentPath::PathType::Unique 
) const

Get the ComponentPath which corresponds to the given SelectionItem. The returned path will be the Component associated with each key which occurs along the KeyPath associated with the SelectionItem, up to the CADModel.

If the path type requested is Unique, Components associated with keys which are implicitly along the key path will be included in the returned path, provided they can be determined unambiguously.

If the path type requested is Complete, all Components associated with keys which are implicitly along the path will be included in the returned path, if an entry cannot be determined unambiguously, it will be filled with the first eligible component found.

Example: a component with two owners will select the first owner out of the two, if the key path associated with the selection path does not specify which of the two owners to consider, when using a Complete path type. It will instead not include any of the two owners when using Unique path type.

This function will throw an InvalidSpecificationException if the provided key path does not proceed from leaf to root. An error will be logged if the key path is ambiguous, and only components associated with the explicit keys in the key path will be returned in this case.

Parameters
in_itemThe SelectionItem for which to compute the corresponding ComponentPath.
in_path_typeThe type of ComponentPath returned by this function.
Returns
The ComponentPath corresponding to the given SelectionItem.

◆ GetModel()

Model HPS::CADModel::GetModel ( ) const

Get the Model associated with this CADModel.

Returns
The Model associated with this CADModel.

◆ ObjectType()

HPS::Type HPS::CADModel::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

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

Reimplemented from HPS::Component.

Reimplemented in HPS::Parasolid::CADModel, HPS::Exchange::CADModel, and HPS::DWG::CADModel.

◆ operator=()

CADModel& HPS::CADModel::operator= ( CADModel &&  in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this CADModel.

Parameters
in_thatAn rvalue reference to a CADModel to take the underlying object from.
Returns
A reference to this CADModel.

◆ ResetVisibility()

void HPS::CADModel::ResetVisibility ( Canvas in_canvas,
size_t  in_layer = 0 
)

Resets the visibility in the view specified by the given Canvas and layer. This will undo any hides, shows or isolates performed on components contained within this CADModel via ComponentPath calls.

Parameters
in_canvasThe Canvas in which to perform the the visibility reset.
in_layerThe layer in the Canvas in which to perform the visibility reset.
See also
ComponentPath::Hide
ComponentPath::Show
ComponentPath::Isolate

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