
Public Member Functions | |
bool | AddTransform (HPS.MatrixKit in_transform) |
Appends a transform to the underlying PRC data associated with this component. Only components of type ExchangeProductOccurrence, or components that have the type ExchangeRepresentationItemMask can have transforms applied to them. Additionally, AddTransform does not work on Exchange models which have a Drawing structure to them. This would include CATDrawing files and 2D DWG files loaded through Exchange. Any attempt to use this function on those models will produce a warning. More... | |
Component () | |
The default constructor creates an uninitialized Exchange.Component object. The Type() function will return Type.None. More... | |
Component (HPS.Component in_that) | |
This constructor creates an Exchange.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 an Exchange.Component object. Otherwise the copy will fail and the resulting Exchange.Component will be invalid. More... | |
Component (HPS.Exchange.Component in_that) | |
This constructor creates an Exchange.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 an Exchange.Component object. Otherwise the copy will fail and the resulting Exchange.Component will be invalid. More... | |
HPS.Component | CopyTo (HPS.Component in_new_owner) |
Create a copy of this component under another component. This function will create a copy of the A3DEntity underlying this component and put it under the Exchange entity associated with the new owner. It will also create a new component, the keys associated to it and include those keys under the new owner. You are required to sync the HPS model tree with the PRC structures after calling this via Reload. More... | |
override void | Dispose () |
IntPtr | GetExchangeEntity () |
Gets the A3DEntity pointer corresponding to this ExchangeComponent. More... | |
override HPS.Type | ObjectType () |
HPS.Exchange.ReloadNotifier | Reload (HPS.Exchange.TessellationOptionsKit in_tessellation_options, HPS.Exchange.TranslationOptionsKit in_translation_options) |
Asynchronously reloads this component. This will delete all underlying subcomponents and then reparse the underlying Exchange data. This function should be invoked on the Component corresponding to an entity which was edited or a Component above such a Component. More... | |
HPS.Exchange.ReloadNotifier | Reload (HPS.Exchange.TessellationOptionsKit in_tessellation_options) |
Asynchronously reloads this component. This will delete all underlying subcomponents and then reparse the underlying Exchange data. This function should be invoked on the Component corresponding to an entity which was edited or a Component above such a Component. More... | |
HPS.Exchange.ReloadNotifier | Reload () |
Asynchronously reloads this component. This will delete all underlying subcomponents and then reparse the underlying Exchange data. This function should be invoked on the Component corresponding to an entity which was edited or a Component above such a Component. More... | |
bool | SetName (string in_new_name) |
Rename this component in the PRC. More... | |
bool | SetTransform (HPS.MatrixKit in_transform) |
Applies a transform to the underlying PRC data associated with this component, replacing any transform currently set on it. Only components of type ExchangeProductOccurrence, or components that have the type ExchangeRepresentationItemMask can have transforms applied to them. Additionally, SetTransform does not work on Exchange models which have a Drawing structure to them. This would include CATDrawing files and 2D DWG files loaded through Exchange. Any attempt to use this function on those models will produce a warning. More... | |
void | Tessellate (HPS.Exchange.TessellationOptionsKit in_options) |
Re-tessellate the given Component with the provided options. Tessellation occurs at the representation item level in Exchange, so calling this function on Component objects below that level will have no effect. If this function is invoked on Component objects above that level, e.g., at the product occurrence level, all representation items underneath that Component will be re-tessellated with the provided options. Additionally, only components for which there is BRep data can the tessellation be regenerated. More... | |
HPS.Exchange.TranslationNotifier | Translate (HPS.Exchange.Units in_units, HPS.Exchange.TranslationOptionsKit in_translation_options) |
Asynchronously translates this component into an array of Parasolid parts, using the options provided. A valid Parasolid session is required for this function to succeed. The component has to be a Representation Item for this function to succeed. More... | |
![]() | |
void | 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. More... | |
void | 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. More... | |
void | 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. More... | |
void | AddReference (HPS.Component in_reference) |
Adds a Component as a reference to this Component. More... | |
bool | AddTransform (HPS.MatrixKit in_transform) |
Appends a transform to the underlying PRC or Parasolid data associated with 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. The Type() function will return Type.None. More... | |
Component (HPS.Component in_that) | |
The copy constructor creates a Component object that shares the underlying smart-pointer of the source Component. More... | |
HPS.Component | CopyTo (HPS.Component in_new_owner) |
Creates a deep copy of this component under another component. Please note how entity copying is handled for each type of entity: More... | |
void | Delete (HPS.Component.DeleteMode mode) |
void | Delete () |
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... | |
void | Flush () |
Removes all references to the underlying subcomponents, but leaves this Component around. If a subcomponent of the component being flushed has multiple owners, the flush will simply remove the reference to that subcomponent. If a subcomponent of the component being flushed has only one owner (the component being flushed), that subcomponent will be deleted. Any handles to the deleted components will become invalid. 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. This will examine this subcomponents of this Component, the subcomponents of the subcomponents, and so on. 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. Generally this will either be a segment or geometry key. More... | |
HPS.Metadata | GetMetadata (string in_name) |
Get the single Metadata object with the given name associated with this Component (if present). More... | |
string | GetName () |
Gets the name for this Component. This is a convenience function equivalent to getting the "Name" metadata for this Component. If a Component does not have a name, an empty UTF8 object will be returned. More... | |
HPS.Component[] | GetOwners () |
Get the Component objects (if any) which "own" this Component. Generally this will be a single element or no elements for a root component. It is possible for there to be multiple owners of a Component if it is instanced (i.e., it may have both a prototype and a containing Component). More... | |
HPS.Component[] | GetReferences () |
Get the Component objects (if any) which are referenced by this Component. These are Component objects which are associated with this Component, but not "owned" by this Component, and would not be deleted if this Component is deleted (though the reference relationship will be removed). More... | |
HPS.Component[] | GetReferrers () |
Gets the Component objects which refer to this Component (if any). These relationships are defined in the original CAD file and can be arbitrarily assigned between Components. <linebreak><linebreak> For the Exchange implementation of the Component hierarchy, Referrers will typically indicate which PMI elements refer to the Component being inspected. More... | |
HPS.Component[] | GetSubcomponents () |
Get the subcomponent objects (if any) owned or referenced by this Component. These Component objects would be deleted if this Component is deleted. More... | |
bool | HasComponentType (HPS.Component.ComponentType in_mask) |
This function indicates whether this Component has the given ComponentType mask. More... | |
bool | SetName (string in_new_name) |
Sets the name for this component. More... | |
bool | SetTransform (HPS.MatrixKit in_transform) |
Applies a transform to the underlying PRC or Parasolid data associated with this component, replacing any transforms currently set on it. More... | |
![]() | |
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. Different keys and controls will return the same value if they are backed by the same database resource. More... | |
bool | HasType (HPS.Type in_mask) |
This function indicates whether this Object has the given Type mask. More... | |
Object (HPS.Object that) | |
virtual void | Reset () |
Resets this object to its initial, uninitialized state. More... | |
virtual HPS.Type | Type () |
This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types. More... | |
Protected Member Functions | |
override void | deleteCptr () |
![]() | |
virtual IntPtr | GetNonDirectorClassID () |
Additional Inherited Members | |
![]() | |
enum | ComponentType : uint { 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 = 0x00011000, 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 } |
Enumerates the format-dependent types a Component can represent. More... | |
enum | DeleteMode { Standard = 0, Full = 1, StandardAndExchange = 2 } |
Enumerates whether The Delete operation will use the mode Standard, Full or StandardAndExchange. More... | |
enum | Visibility : uint { Visibility.PreserveUserDefined = 0x00000000, Visibility.PreserveModelDefined = 0x00000001, Visibility.PreserveNone = 0x00000002, Visibility.PreserveAll = 0x00000003 } |
Enumerates whether visibility will be overridden for the subtree under a ComponentPath. More... | |
![]() | |
static HPS.KeyPath[] | GetKeyPath (HPS.Component in_component) |
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. More... | |
static HPS.KeyPath[] | GetKeyPath (HPS.Component[] in_components) |
Gets the list of KeyPath objects that correspond to the given ComponentPath. This function can be used to get the KeyPath for a particular instance of an instanced Component. For a non-instanced Component, since the ComponentPath 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. More... | |
static bool | operator!= (HPS.Component a, HPS.Component b) |
static bool | operator== (HPS.Component a, HPS.Component b) |
![]() | |
static IntPtr | ClassID< T > () |
![]() | |
bool | cMemOwn |
HandleRef | cptr |
Detailed Description
The Component class is a smart pointer. It represents a variety of Exchange components. The primary purpose of this class is simply to provide access to the underlying A3DEntity pointer for use by Exchange library functions.
Constructor & Destructor Documentation
|
inline |
The default constructor creates an uninitialized Exchange.Component object. The Type() function will return Type.None.
|
inline |
This constructor creates an Exchange.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 an Exchange.Component object. Otherwise the copy will fail and the resulting Exchange.Component will be invalid.
- Parameters
-
in_that The source Component to copy.
|
inline |
This constructor creates an Exchange.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 an Exchange.Component object. Otherwise the copy will fail and the resulting Exchange.Component will be invalid.
- Parameters
-
in_that The source Component to copy.
Member Function Documentation
|
inline |
Appends a transform to the underlying PRC data associated with this component. Only components of type ExchangeProductOccurrence, or components that have the type ExchangeRepresentationItemMask can have transforms applied to them. Additionally, AddTransform does not work on Exchange models which have a Drawing structure to them. This would include CATDrawing files and 2D DWG files loaded through Exchange. Any attempt to use this function on those models will produce a warning.
- Parameters
-
in_transform The transform to apply to this component.
- Returns
- true if transform was applied correctly, false otherwise.
|
inline |
Create a copy of this component under another component. This function will create a copy of the A3DEntity underlying this component and put it under the Exchange entity associated with the new owner. It will also create a new component, the keys associated to it and include those keys under the new owner. You are required to sync the HPS model tree with the PRC structures after calling this via Reload.
- Parameters
-
in_new_owner The component which will be the owner of the newly created component.
- Returns
- The newly created component.
Reload
|
inline |
Gets the A3DEntity pointer corresponding to this ExchangeComponent.
- Returns
- The A3DEntity pointer corresponding to this ExchangeComponent.
|
inline |
Asynchronously reloads this component. This will delete all underlying subcomponents and then reparse the underlying Exchange data. This function should be invoked on the Component corresponding to an entity which was edited or a Component above such a Component.
- Parameters
-
in_tessellation_options The options to use to generate tessellations for new Components (if necessary). in_translation_options The options to use for translation from Exchange BRep to Parasolid. This option only applies if a file was loaded via the ExchangeParasolid module and there are components underlying this component that need to be translated to Parasolid.
- Returns
- A ReloadNotifier object that can be used to query the reload progress and status.
|
inline |
Asynchronously reloads this component. This will delete all underlying subcomponents and then reparse the underlying Exchange data. This function should be invoked on the Component corresponding to an entity which was edited or a Component above such a Component.
- Parameters
-
in_tessellation_options The options to use to generate tessellations for new Components (if necessary).
- Returns
- A ReloadNotifier object that can be used to query the reload progress and status.
|
inline |
Asynchronously reloads this component. This will delete all underlying subcomponents and then reparse the underlying Exchange data. This function should be invoked on the Component corresponding to an entity which was edited or a Component above such a Component.
- Returns
- A ReloadNotifier object that can be used to query the reload progress and status.
|
inline |
Rename this component in the PRC.
- Parameters
-
in_new_name The new name of the A3DEntity.
- Returns
- true if the name was set successfully, false otherwise.
|
inline |
Applies a transform to the underlying PRC data associated with this component, replacing any transform currently set on it. Only components of type ExchangeProductOccurrence, or components that have the type ExchangeRepresentationItemMask can have transforms applied to them. Additionally, SetTransform does not work on Exchange models which have a Drawing structure to them. This would include CATDrawing files and 2D DWG files loaded through Exchange. Any attempt to use this function on those models will produce a warning.
- Parameters
-
in_transform The transform to apply to this component.
- Returns
- true if transform was applied correctly, false otherwise.
|
inline |
Re-tessellate the given Component with the provided options. Tessellation occurs at the representation item level in Exchange, so calling this function on Component objects below that level will have no effect. If this function is invoked on Component objects above that level, e.g., at the product occurrence level, all representation items underneath that Component will be re-tessellated with the provided options. Additionally, only components for which there is BRep data can the tessellation be regenerated.
- Parameters
-
in_options The options to use to generate the new tessellation for this Component.
|
inline |
Asynchronously translates this component into an array of Parasolid parts, using the options provided. A valid Parasolid session is required for this function to succeed. The component has to be a Representation Item for this function to succeed.
- Parameters
-
in_units The units for the representation item in_translation_options Options used during the translation.
- Returns
- A TranslationNotifier object that can be used to query the translation progress and status.
The documentation for this class was generated from the following file:
- internals/hps_sprk_exchange/source/cs/HPS.Exchange.cs