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

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. More...

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

Public Member Functions

override void Dispose ()
 
 Component ()
 The default constructor creates an uninitialized Parasolid::Component object. The Type() function will return Type::None. More...
 
 Component (HPS.Component 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. More...
 
 Component (HPS.Parasolid.Component 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. More...
 
override HPS.Type ObjectType ()
 This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object. More...
 
int GetParasolidEntity ()
 Gets the ParasolidEntity object corresponding to this ParasolidComponent. More...
 
void Tessellate (HPS.Parasolid.FacetTessellationKit in_facet_options, HPS.Parasolid.LineTessellationKit 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. More...
 
- Public Member Functions inherited from HPS.Component
 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...
 
virtual void Assign (HPS.Component in_that)
 Share the underlying smart-pointer of the Component source. More...
 
override bool Equals (System.Object obj)
 
override int GetHashCode ()
 
bool Equals (HPS.Component in_that)
 Check if the source Component points to the same underlying impl as this Component. More...
 
HPS.Component.ComponentType GetComponentType ()
 Gets the specific format-dependent type this Component represents. More...
 
bool HasComponentType (HPS.Component.ComponentType in_mask)
 This function indicates whether this Component has the given ComponentType mask. 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...
 
HPS.Key[] GetKeys ()
 Get the underlying keys (if any) which represent this Component. Generally this will either be a segment or geometry key. 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...
 
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. 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...
 
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...
 
void AddReference (HPS.Component in_reference)
 Adds a Component as a reference to this Component. More...
 
HPS.Component[] GetReferrers ()
 Gets the Component objects which refer to this Component (if any). 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.Metadata[] GetAllMetadata ()
 Get all Metadata objects associated with 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...
 
void Delete ()
 Removes all references components have to this Component, removes all references to any subcomponents, and deletes any underlying keys. If a subcomponent of the component being deleted has multiple owners, the deletion will simply remove that reference to the subcomponent, not delete it as well. If a subcomponent of the component being deleted has only one owner (the component being deleted), that subcomponent will be deleted. Any handles to the deleted components will become invalid. More...
 
- Public Member Functions inherited from HPS.Sprocket
 Sprocket (HPS.Sprocket in_that)
 
- Public Member Functions inherited from HPS.Object
IntPtr GetClassID ()
 
 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...
 
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...
 
virtual bool Empty ()
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS.Type in_mask)
 This function indicates whether this Object has the given Type mask. More...
 
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...
 

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 = 0x00006000, ComponentType.ExchangeDrawingModel = 0x00006001, ComponentType.ExchangeDrawingView = 0x00006002,
  ComponentType.ExchangeDrawingSheet = 0x00006003, ComponentType.ExchangeBasicDrawingBlock = 0x00006004, ComponentType.ExchangeOperatorDrawingBlock = 0x00006005, ComponentType.ExchangePMIMask = 0x00009000,
  ComponentType.ExchangePMI = 0x00009000, 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
}
 Enumerates the format-dependent types a Component can represent. More...
 
- Public Types inherited from HPS.Sprocket
enum  UpdateType { Synchronous = 0, Asynchronous = 1 }
 The type of update to perform, either synchronous or asynchronous. More...
 
- Static Public Member Functions inherited from HPS.Component
static bool operator== (HPS.Component a, HPS.Component b)
 
static bool operator!= (HPS.Component a, HPS.Component b)
 
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 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. More...
 
- Static Public Member Functions inherited from HPS.Object
static IntPtr ClassID< T > ()
 
- Protected Attributes inherited from HPS.Object
HandleRef cptr
 
HandleRef scptr
 
bool cMemOwn
 

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 ( )
inline

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

HPS.Parasolid.Component.Component ( HPS.Component  in_that)
inline

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 <ref refid="class_h_p_s_1_1_parasolid_1_1_component" kindref="compound">Component</ref> to copy.
HPS.Parasolid.Component.Component ( HPS.Parasolid.Component  in_that)
inline

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 <ref refid="class_h_p_s_1_1_parasolid_1_1_component" kindref="compound">Component</ref> to copy.

Member Function Documentation

int HPS.Parasolid.Component.GetParasolidEntity ( )
inline

Gets the ParasolidEntity object corresponding to this ParasolidComponent.

Returns
The ParasolidEntity object corresponding to this ParasolidComponent.
override HPS.Type HPS.Parasolid.Component.ObjectType ( )
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.

void HPS.Parasolid.Component.Tessellate ( HPS.Parasolid.FacetTessellationKit  in_facet_options,
HPS.Parasolid.LineTessellationKit  in_line_options 
)
inline

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 <ref refid="class_h_p_s_1_1_parasolid_1_1_component" kindref="compound">Component</ref>.
in_line_optionsThe line tessellation options to use to generate the new tessellation for this <ref refid="class_h_p_s_1_1_parasolid_1_1_component" kindref="compound">Component</ref>.

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