REFERENCE MANUAL
The Component class is a smart pointer. More...
Public Member Functions | |
void | AddKey (HPS.Key in_key) |
Adds a key to be associated with this Component. More... | |
void | AddOwner (HPS.Component in_owner, HPS.IncludeKey in_include) |
Adds an owner to this Component. More... | |
void | AddOwner (HPS.Component in_owner) |
Adds an owner to this Component. More... | |
void | AddReference (HPS.Component in_reference) |
Adds a Component as a reference to this Component. More... | |
virtual void | Assign (HPS.Component in_that) |
Share the underlying smart-pointer of the Component source. More... | |
Component () | |
The default constructor creates an uninitialized Component object. More... | |
Component (HPS.Component in_that) | |
The copy constructor creates a Component object that shares the underlying smart-pointer of the source Component. More... | |
void | Delete () |
Removes all references owning Components have to this Component, deletes all owned subcomponents, and deletes any underlying keys. More... | |
override void | Dispose () |
override bool | Equals (System.Object obj) |
bool | Equals (HPS.Component in_that) |
Check if the source Component points to the same underlying impl as this Component. More... | |
HPS.Metadata[] | GetAllMetadata () |
Get all Metadata objects associated with this Component. More... | |
HPS.Component[] | GetAllSubcomponents (HPS.Component.ComponentType in_type) |
Gets all components under this Component that have the specified ComponentType mask. More... | |
HPS.Component.ComponentType | GetComponentType () |
Gets the specific format-dependent type this Component represents. More... | |
override int | GetHashCode () |
HPS.Key[] | GetKeys () |
Get the underlying keys (if any) which represent this Component. More... | |
HPS.Metadata | GetMetadata (string in_name) |
Get the single Metadata object with the given name associated with this Component (if present). More... | |
HPS.Component[] | GetOwners () |
Get the Component objects (if any) which "own" this Component. More... | |
HPS.Component[] | GetReferences () |
Get the Component objects (if any) which are referenced by this Component. More... | |
HPS.Component[] | GetReferrers () |
Gets the Component objects which refer to this Component (if any). More... | |
HPS.Component[] | GetSubcomponents () |
Get the subcomponent objects (if any) owned or referenced by this Component. More... | |
bool | HasComponentType (HPS.Component.ComponentType in_mask) |
This function indicates whether this Component has the given ComponentType mask. More... | |
override HPS.Type | ObjectType () |
This function returns the type the object, as declared. More... | |
![]() | |
override void | Dispose () |
Sprocket (HPS.Sprocket in_that) | |
![]() | |
virtual bool | Empty () |
Indicates whether this object has any values set on it. More... | |
IntPtr | GetClassID () |
IntPtr | GetInstanceID () |
Returns an identifier that can be used to identify which instance of a class an object is. More... | |
bool | HasType (HPS.Type in_mask) |
This function indicates whether this Object has the given Type mask. More... | |
Object (HPS.Object in_that) | |
The move constructor creates an Object by transferring the underlying impl of the rvalue reference to this Object thereby avoiding a copy and allocation. More... | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
HPS.Type | Type () |
This function returns the true type of the underlying object. More... | |
Static Public Member Functions | |
static HPS.KeyPath[] | GetKeyPath (HPS.Component in_component) |
Gets the list of KeyPath objects that correspond to the given Component. More... | |
static HPS.KeyPath[] | GetKeyPath (HPS.Component[] in_components) |
Gets the list of KeyPath objects that correspond to the given Component path. More... | |
static bool | operator!= (HPS.Component a, HPS.Component b) |
static bool | operator== (HPS.Component a, HPS.Component b) |
![]() | |
static IntPtr | ClassID< T > () |
Protected Member Functions | |
override void | deleteCptr () |
![]() | |
override void | deleteCptr () |
![]() | |
virtual IntPtr | GetNonDirectorClassID () |
Additional Inherited Members | |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
HandleRef | scptr |
The Component class is a smart pointer.
It represents an arbitrary component of a structured file.
enum HPS.Component.ComponentType : uint |
Enumerates the format-dependent types a Component can represent.
Enumerator | |
---|---|
ExchangeComponentMask |
Mask for any Exchange components. |
ExchangeModelFile |
Represents an A3DAsmModelFile in Exchange. This will be represented by an Exchange::CADModel. |
ExchangeProductOccurrence |
Represents an A3DAsmProductOccurrence in Exchange. This will be represented by an Exchange::Component. |
ExchangePartDefinition |
Represents an A3DAsmPartDefinition in Exchange. This will be represented by an Exchange::Component. |
ExchangeView |
Represents an A3DMkpView in Exchange. This will be represented by an Exchange::Capture component. |
ExchangeFilter |
Represents an A3DMkpFilter in Exchange. This will be represented by an Exchange::Filter component. |
ExchangeRepresentationItemMask |
Mask for any Exchange representation items. |
ExchangeRIBRepModel |
Represents an A3DRiBrepModel in Exchange. This will be represented by an Exchange::Component. |
ExchangeRICurve |
Represents an A3DRiCurve in Exchange. This will be represented by an Exchange::Component. |
ExchangeRIDirection |
Represents an A3DRiDirection in Exchange. This will be represented by an Exchange::Component. |
ExchangeRIPlane |
Represents an A3DRiPlane in Exchange. This will be represented by an Exchange::Component. |
ExchangeRIPointSet |
Represents an A3DRiPointSet in Exchange. This will be represented by an Exchange::Component. |
ExchangeRIPolyBRepModel |
Represents an A3DRiPolyBrepModel in Exchange. This will be represented by an Exchange::Component. |
ExchangeRIPolyWire |
Represents an A3DRiPolyWire in Exchange. This will be represented by an Exchange::Component. |
ExchangeRISet |
Represents an A3DRiSet in Exchange. This will be represented by an Exchange::Component. |
ExchangeRICoordinateSystem |
Represents an A3DRiCoordinateSystem in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopologyMask |
Mask for any Exchange topology items. |
ExchangeTopoBody |
Represents an A3DTopoBody in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoConnex |
Represents an A3DTopoConnex in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoShell |
Represents an A3DTopoShell in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoFace |
Represents an A3DTopoFace in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoLoop |
Represents an A3DTopoLoop in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoCoEdge |
Represents an A3DTopoCoEdge in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoEdge |
Represents an A3DTopoEdge in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoVertex |
Represents an A3DTopoVertex in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoSingleWireBody |
Represents an A3DTopoSingleWireBody in Exchange. This will be represented by an Exchange::Component. |
ExchangeTopoWireEdge |
Represents an A3DTopoWireEdge in Exchange. This will be represented by an Exchange::Component. |
ExchangeDrawingMask |
Mask for any Exchange drawing item. |
ExchangeDrawingModel |
Represents an A3DDrawingModel in Exchange. This is the starting point of a drawing. It is found under a product occurrence. Generally there is only one Drawing Model per file, but it is possible to have more than one. This will be represented by an Exchange::Component. |
ExchangeDrawingView |
Represents an A3DDrawingView in Exchange. A Drawing Sheet can contain views. Views are basically snapshot of the model from a particular angle. Each view has a name and a type, for example, front view, side view, section, etc. This will be represented by an Exchange::Component. |
ExchangeDrawingSheet |
Represents an A3DDrawingSheet in Exchange. A DrawingModel contains one or more sheets. Each sheet represents a physical sheet of paper. Generally a sheet defines the frame of the drawing, contains the name of the paper format it reproduces, and contains a transform. One of the sheets is classified as the "active sheet" by the model, and this one will be what you see when you first load a drawing. There can only be one active sheet at the time, with all the inactive ones being hidden. Drawing sheets have metadata associated with them called 'IsDefaultSheet'. This is a BooleanMetadata. It will return true if the sheet is the active sheet, and false otherwise. This will be represented by an Exchange::Component. |
ExchangeBasicDrawingBlock |
Represents an A3DDrawingBlockBasic in Exchange. Sheets and views contain blocks. Blocks can be of two types: basic or operator blocks. Operator blocks are blocks which reference a particular view. These two types are internally treated as the same thing. Blocks contain the actual representation items which will be tessellated and drawn on the screen. This will be represented by an Exchange::Component. |
ExchangeOperatorDrawingBlock |
Represents an A3DDrawingBlockOperator in Exchange. Sheets and views contain blocks. Blocks can be of two types: basic or operator blocks. Operator blocks are blocks which reference a particular view. These two types are internally treated as the same thing. Blocks contain the actual representation items which will be tessellated and drawn on the screen. This will be represented by an Exchange::Component. |
ExchangePMIMask |
Mask for any Exchange PMI items. |
ExchangePMI |
Represents a generic A3DMkpMarkup in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIText |
Represents an A3DMarkupText in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIRichText |
Represents an A3DMarkupRichText in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIRoughness |
Represents an A3DMarkupRoughness in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIGDT |
Represents an A3DMarkupGDT in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIDatum |
Represents an A3DMarkupDatum in Exchange. This will be represented by an Exchange::Component. |
ExchangePMILineWelding |
Represents an A3DMarkupLineWelding in Exchange. This will be represented by an Exchange::Component. |
ExchangePMISpotWelding |
Represents an A3DMarkupSpotWelding in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIDimension |
Represents an A3DMarkupDimension in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIBalloon |
Represents an A3DMarkupBalloon in Exchange. This will be represented by an Exchange::Component. |
ExchangePMICoordinate |
Represents an A3DMarkupCoordinate in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIFastener |
Represents an A3DMarkupFastener in Exchange. This will be represented by an Exchange::Component. |
ExchangePMILocator |
Represents an A3DMarkupLocator in Exchange. This will be represented by an Exchange::Component. |
ExchangePMIMeasurementPoint |
Represents an A3DMarkupMeasurementPoint in Exchange. This will be represented by an Exchange::Component. |
ParasolidComponentMask |
Mask for any Parasolid components. |
ParasolidModelFile |
Abstract component representing the root of a Parasolid file. Does not map to any Parasolid element. |
ParasolidAssembly |
Represents a PK_ASSEMBLY in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopologyMask |
Mask for any Parasolid topological items. |
ParasolidTopoBody |
Represents a PK_BODY in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoRegion |
Represents a PK_REGION in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoShell |
Represents a PK_SHELL in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoFace |
Represents a PK_FACE in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoLoop |
Represents a PK_LOOP in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoFin |
Represents a PK_FIN in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoEdge |
Represents a PK_EDGE in Parasolid. This will be represented by a Parasolid::Component. |
ParasolidTopoVertex |
Represents a PK_VERTEX in Parasolid. This will be represented by a Parasolid::Component. |
HPS.Component.Component | ( | ) |
HPS.Component.Component | ( | HPS.Component | in_that | ) |
void HPS.Component.AddKey | ( | HPS.Key | in_key | ) |
Adds a key to be associated with this Component.
This will additionally ensure this key can be used to find this Component via CADModel::GetComponentFromKey on the owning CADModel. In general, this will either be a SegmentKey or a GeometryKey (or a subclass thereof), but it may also be an IncludeKey, which is necessary for an instanced Component. If an IncludeKey is associated with this Component, the underlying target of the include will be associated with this Component, though the include will be stored as well to determine things like the associated KeyPath correctly.
in_key | The key to associate with this <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref>. |
void HPS.Component.AddOwner | ( | HPS.Component | in_owner, |
HPS.IncludeKey | in_include | ||
) |
Adds an owner to this Component.
This is intended to facilitate adding additional owners to an instanced Component, and allows specifying the associated IncludeKey for the additional owner. It is possible to add an owner without adding an IncludeKey, and, if desired, add the IncludeKey separately via AddKey.
in_owner | The <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref> to act as an additional owner for this <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref>. |
in_include | The IncludeKey for this <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref> for this new owner. This defaults to an uninitialized IncludeKey. |
void HPS.Component.AddOwner | ( | HPS.Component | in_owner | ) |
Adds an owner to this Component.
This is intended to facilitate adding additional owners to an instanced Component, and allows specifying the associated IncludeKey for the additional owner. It is possible to add an owner without adding an IncludeKey, and, if desired, add the IncludeKey separately via AddKey.
void HPS.Component.AddReference | ( | HPS.Component | in_reference | ) |
|
virtual |
void HPS.Component.Delete | ( | ) |
bool HPS.Component.Equals | ( | HPS.Component | in_that | ) |
Check if the source Component points to the same underlying impl as this Component.
in_that | The source <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref> to compare to this <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref>. |
HPS.Metadata [] HPS.Component.GetAllMetadata | ( | ) |
HPS.Component [] HPS.Component.GetAllSubcomponents | ( | HPS.Component.ComponentType | in_type | ) |
HPS.Component.ComponentType HPS.Component.GetComponentType | ( | ) |
|
static |
Gets the list of KeyPath objects that correspond to the given Component.
There will be at least one KeyPath, and possibly more than one if a particular Component is instanced, e.g., if the Component corresponds to the wheel of a car, a KeyPath would be returned for each wheel (driver side front and rear, and passenger side front and rear). Each KeyPath in the list will also include the portion of the path above the Model (associated with the root CADModel) for each View, Layout layer, and Canvas permutation which includes the Model. This function will not take into account any includes or paths which do not come from the Component hierarchy or the View, Layout, and Canvas permutations which include the Model.
|
static |
Gets the list of KeyPath objects that correspond to the given Component path.
This function can be used to get the KeyPath for a particular instance of an instanced Component. For a non-instanced Component, since the Component path can be determined unambiguously, the KeyPath returned will be the same as if only the leaf non-instanced Component was given to this function. There will be at least one KeyPath returned, and possibly more than one for each View, Layout layer, and Canvas which include the Model associated with the root CADModel. This function will not take into account any includes or paths which do not come from the Component hierarchy or the View, Layout, and Canvas permutations which include the Model.
in_count | Size of the following array. |
in_components | The <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref> path for which to compute the corresponding KeyPath objects. The path should be defined such that the first element is the leaf <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref>, and the last element is the root <ref refid="class_h_p_s_1_1_c_a_d_model" kindref="compound">CADModel</ref>. Each element in the path should be an owner of the preceding <ref refid="class_h_p_s_1_1_component" kindref="compound">Component</ref>, otherwise an exception will be thrown. |
HPS.Key [] HPS.Component.GetKeys | ( | ) |
HPS.Metadata HPS.Component.GetMetadata | ( | string | in_name | ) |
Get the single Metadata object with the given name associated with this Component (if present).
HPS.Component [] HPS.Component.GetOwners | ( | ) |
HPS.Component [] HPS.Component.GetReferences | ( | ) |
HPS.Component [] HPS.Component.GetReferrers | ( | ) |
HPS.Component [] HPS.Component.GetSubcomponents | ( | ) |
bool HPS.Component.HasComponentType | ( | HPS.Component.ComponentType | in_mask | ) |
|
virtual |
This function returns the type the object, as declared.
This does not necessarily give the true type of the underlying object.
Reimplemented from HPS.Object.
Reimplemented in HPS.Parasolid.CADModel, HPS.Parasolid.Component, HPS.Exchange.Filter, HPS.Exchange.Capture, HPS.Exchange.CADModel, HPS.Exchange.Sheet, HPS.Exchange.Component, and HPS.Filter.