HPS.Exchange.Component Class Reference
Inheritance diagram for HPS.Exchange.Component:
HPS.Component HPS.Sprocket HPS.Object HPS.Exchange.ProductOccurrence HPS.Exchange.Sheet

Public Member Functions

bool AddTransform (HPS.MatrixKit in_transform)
 
 Component ()
 
 Component (HPS.Component in_that)
 
 Component (HPS.Exchange.Component in_that)
 
HPS.Component CopyTo (HPS.Component in_new_owner)
 
override void Dispose ()
 
IntPtr GetExchangeEntity ()
 
override HPS.Type ObjectType ()
 
HPS.Exchange.ReloadNotifier Reload (HPS.Exchange.TessellationOptionsKit in_tessellation_options, HPS.Exchange.TranslationOptionsKit in_translation_options)
 
HPS.Exchange.ReloadNotifier Reload (HPS.Exchange.TessellationOptionsKit in_tessellation_options)
 
HPS.Exchange.ReloadNotifier Reload ()
 
bool SetName (string in_new_name)
 
bool SetTransform (HPS.MatrixKit in_transform)
 
void Tessellate (HPS.Exchange.TessellationOptionsKit in_options)
 
HPS.Exchange.TranslationNotifier Translate (HPS.Exchange.Units in_units, HPS.Exchange.TranslationOptionsKit in_translation_options)
 
- Public Member Functions inherited from HPS.Component
void AddKey (HPS.Key in_key)
 
void AddOwner (HPS.Component in_owner, HPS.IncludeKey in_include)
 
void AddOwner (HPS.Component in_owner)
 
void AddReference (HPS.Component in_reference)
 
bool AddTransform (HPS.MatrixKit in_transform)
 
virtual void Assign (HPS.Component in_that)
 
 Component ()
 
 Component (HPS.Component in_that)
 
HPS.Component CopyTo (HPS.Component in_new_owner)
 
void Delete (HPS.Component.DeleteMode mode)
 
void Delete ()
 
override bool Equals (System.Object obj)
 
bool Equals (HPS.Component in_that)
 
void Flush ()
 
HPS.Metadata [] GetAllMetadata ()
 
HPS.Component [] GetAllSubcomponents (HPS.Component.ComponentType in_type)
 
HPS.Component.ComponentType GetComponentType ()
 
override int GetHashCode ()
 
HPS.Key [] GetKeys ()
 
HPS.Metadata GetMetadata (string in_name)
 
string GetName ()
 
HPS.Component [] GetOwners ()
 
HPS.Component [] GetReferences ()
 
HPS.Component [] GetReferrers ()
 
HPS.Component [] GetSubcomponents ()
 
bool HasComponentType (HPS.Component.ComponentType in_mask)
 
bool SetName (string in_new_name)
 
bool SetTransform (HPS.MatrixKit in_transform)
 
- Public Member Functions inherited from HPS.Sprocket
Sprocket (HPS.Sprocket in_that)
 
- Public Member Functions inherited from HPS.Object
virtual bool Empty ()
 
IntPtr GetClassID ()
 
IntPtr GetInstanceID ()
 
bool HasType (HPS.Type in_mask)
 
Object (HPS.Object that)
 
virtual void Reset ()
 
virtual HPS.Type Type ()
 

Protected Member Functions

override void deleteCptr ()
 
- Protected Member Functions inherited from HPS.Object
virtual IntPtr GetNonDirectorClassID ()
 

Additional Inherited Members

- Public Types inherited from HPS.Component
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
}





 
enum  DeleteMode { Standard = 0, Full = 1, StandardAndExchange = 2 }
 
- Static Public Member Functions inherited from HPS.Component
static HPS.KeyPath [] GetKeyPath (HPS.Component in_component)
 
static HPS.KeyPath [] GetKeyPath (HPS.Component[] in_components)
 
static bool operator!= (HPS.Component a, HPS.Component b)
 
static bool operator== (HPS.Component a, HPS.Component b)
 
- Static Public Member Functions inherited from HPS.Object
static IntPtr ClassID< T > ()
 
- Protected Attributes inherited from HPS.Object
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

◆ Component() [1/3]

HPS.Exchange.Component.Component ( )
inline

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

◆ Component() [2/3]

HPS.Exchange.Component.Component ( HPS.Component  in_that)
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_thatThe source Component to copy.

◆ Component() [3/3]

HPS.Exchange.Component.Component ( HPS.Exchange.Component  in_that)
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_thatThe source Component to copy.

Member Function Documentation

◆ AddTransform()

bool HPS.Exchange.Component.AddTransform ( HPS.MatrixKit  in_transform)
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_transformThe transform to apply to this component.
Returns
true if transform was applied correctly, false otherwise.

◆ CopyTo()

HPS.Component HPS.Exchange.Component.CopyTo ( HPS.Component  in_new_owner)
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_ownerThe component which will be the owner of the newly created component.
Returns
The newly created component.
See also
Reload

◆ GetExchangeEntity()

IntPtr HPS.Exchange.Component.GetExchangeEntity ( )
inline

Gets the A3DEntity pointer corresponding to this ExchangeComponent.

Returns
The A3DEntity pointer corresponding to this ExchangeComponent.

◆ ObjectType()

override HPS.Type HPS.Exchange.Component.ObjectType ( )
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.Exchange.ProductOccurrence, and HPS.Exchange.Sheet.

◆ Reload() [1/3]

HPS.Exchange.ReloadNotifier HPS.Exchange.Component.Reload ( HPS.Exchange.TessellationOptionsKit  in_tessellation_options,
HPS.Exchange.TranslationOptionsKit  in_translation_options 
)
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_optionsThe options to use to generate tessellations for new Components (if necessary).
in_translation_optionsThe 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.

◆ Reload() [2/3]

HPS.Exchange.ReloadNotifier HPS.Exchange.Component.Reload ( HPS.Exchange.TessellationOptionsKit  in_tessellation_options)
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_optionsThe 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.

◆ Reload() [3/3]

HPS.Exchange.ReloadNotifier HPS.Exchange.Component.Reload ( )
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.

◆ SetName()

bool HPS.Exchange.Component.SetName ( string  in_new_name)
inline

Rename this component in the PRC.

Parameters
in_new_nameThe new name of the A3DEntity.
Returns
true if the name was set successfully, false otherwise.

◆ SetTransform()

bool HPS.Exchange.Component.SetTransform ( HPS.MatrixKit  in_transform)
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_transformThe transform to apply to this component.
Returns
true if transform was applied correctly, false otherwise.

◆ Tessellate()

void HPS.Exchange.Component.Tessellate ( HPS.Exchange.TessellationOptionsKit  in_options)
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_optionsThe options to use to generate the new tessellation for this Component.

◆ Translate()

HPS.Exchange.TranslationNotifier HPS.Exchange.Component.Translate ( HPS.Exchange.Units  in_units,
HPS.Exchange.TranslationOptionsKit  in_translation_options 
)
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_unitsThe units for the representation item
in_translation_optionsOptions 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