#include <sprk_exchange.h>

Public Member Functions | |
bool | AddTransform (MatrixKit const &in_transform) |
Component () | |
Component (HPS::Component const &in_that) | |
Component (Exchange::Component const &in_that) | |
Component (Exchange::Component &&in_that) | |
HPS::Component | CopyTo (HPS::Component const &in_new_owner) |
A3DEntity * | GetExchangeEntity () const |
HPS::Type | ObjectType () const |
Component & | operator= (Exchange::Component &&in_that) |
ReloadNotifier | Reload (TessellationOptionsKit const &in_tessellation_options=TessellationOptionsKit(), TranslationOptionsKit const &in_translation_options=TranslationOptionsKit()) |
bool | SetName (char const *in_new_name) |
bool | SetTransform (MatrixKit const &in_transform) |
void | Tessellate (TessellationOptionsKit const &in_options) |
TranslationNotifier | Translate (Units in_units, TranslationOptionsKit const &in_translation_options) |
virtual | ~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 |
Component & | operator= (Component const &in_that) |
Component & | operator= (Component &&in_that) |
bool | operator== (Component const &in_that) const |
bool | SetName (char const *in_new_name) |
bool | SetTransform (MatrixKit const &in_transform) |
![]() | |
Sprocket (Sprocket &&in_that) | |
![]() | |
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) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Static Public Attributes | |
static const HPS::Type | staticType = HPS::Type::ExchangeComponent |
![]() | |
static const HPS::Type | staticType = HPS::Type::Component |
![]() | |
static const HPS::Type | staticType = HPS::Type::None |
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/4]
HPS::Exchange::Component::Component | ( | ) |
The default constructor creates an uninitialized Exchange::Component object. The Type() function will return Type::None.
◆ Component() [2/4]
HPS::Exchange::Component::Component | ( | HPS::Component const & | 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.
- Parameters
-
in_that The source Component to copy.
◆ Component() [3/4]
HPS::Exchange::Component::Component | ( | Exchange::Component const & | in_that | ) |
The copy constructor creates an Exchange::Component object that shares the underlying smart-pointer of the source Exchange::Component.
- Parameters
-
in_that The source Exchange::Component to copy.
◆ Component() [4/4]
HPS::Exchange::Component::Component | ( | Exchange::Component && | in_that | ) |
The move constructor creates an Exchange::Component by transferring the underlying object of the rvalue reference to this Exchange::Component.
- Parameters
-
in_that An rvalue reference to an Exchange::Component to take the underlying object from.
◆ ~Component()
|
virtual |
Releases a reference to this Component. The Component will not be deleted unless the final reference is destroyed.
Reimplemented from HPS::Component.
Member Function Documentation
◆ AddTransform()
bool HPS::Exchange::Component::AddTransform | ( | MatrixKit const & | 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.
- Parameters
-
in_transform The transform to apply to this component.
- Returns
- true if transform was applied correctly, false otherwise.
◆ CopyTo()
HPS::Component HPS::Exchange::Component::CopyTo | ( | HPS::Component const & | 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.
- Parameters
-
in_new_owner The component which will be the owner of the newly created component.
- Returns
- The newly created component.
- See also
- Reload
◆ GetExchangeEntity()
A3DEntity* HPS::Exchange::Component::GetExchangeEntity | ( | ) | const |
◆ 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::Sheet, and HPS::Exchange::ProductOccurrence.
◆ operator=()
Component& HPS::Exchange::Component::operator= | ( | Exchange::Component && | in_that | ) |
The move assignment operator transfers the underlying object of the rvalue reference to this Exchange::Component.
- Parameters
-
in_that An rvalue reference to an Exchange::Component to take the underlying object from.
- Returns
- A reference to this Exchange::Component.
◆ Reload()
ReloadNotifier HPS::Exchange::Component::Reload | ( | TessellationOptionsKit const & | in_tessellation_options = TessellationOptionsKit() , |
TranslationOptionsKit const & | in_translation_options = TranslationOptionsKit() |
||
) |
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.
◆ SetName()
bool HPS::Exchange::Component::SetName | ( | char const * | in_new_name | ) |
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.
◆ SetTransform()
bool HPS::Exchange::Component::SetTransform | ( | MatrixKit const & | 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.
- Parameters
-
in_transform The transform to apply to this component.
- Returns
- true if transform was applied correctly, false otherwise.
◆ Tessellate()
void HPS::Exchange::Component::Tessellate | ( | TessellationOptionsKit const & | 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.
- Parameters
-
in_options The options to use to generate the new tessellation for this Component.
◆ Translate()
TranslationNotifier HPS::Exchange::Component::Translate | ( | Units | in_units, |
TranslationOptionsKit const & | 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.
- 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:
- include/sprk_exchange.h