Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::ExchangeParasolid::File Class Reference

The File class provides functions to import CAD files via Exchange and manage the BRep data with Parasolid. More...

#include <sprk_exchange_parasolid.h>

Static Public Member Functions

static ImportNotifier Import (char const *in_filename, Exchange::ImportOptionsKit const &in_import_options, Exchange::TranslationOptionsKit const &in_translation_options, Parasolid::FacetTessellationKit const &in_facet_tessellation, Parasolid::LineTessellationKit const &in_line_tessellation)
 Performs an asynchronous import of the specified CAD file with the provided options. More...
 
static Exchange::ReloadNotifier Reload (Exchange::Component const &in_component, Exchange::TranslationOptionsKit const &in_translation_options, Parasolid::FacetTessellationKit const &in_facet_tessellation, Parasolid::LineTessellationKit const &in_line_tessellation)
 Performs an asynchronous reload of the specified Exchange::Component with the provided options. More...
 
static Exchange::ReloadNotifier Reload (Exchange::CADModel const &in_cad_model, Exchange::TranslationOptionsKit const &in_translation_options, Parasolid::FacetTessellationKit const &in_facet_tessellation, Parasolid::LineTessellationKit const &in_line_tessellation)
 Performs an asynchronous reload of the specified Exchange::CADModel with the provided options. More...
 
static void Tessellate (Exchange::Component const &in_component, Parasolid::FacetTessellationKit const &in_facet_tessellation, Parasolid::LineTessellationKit const &in_line_tessellation)
 Re-tessellate the given Exchange::Component with the provided options. More...
 
static void Tessellate (Exchange::CADModel const &in_cad_model, Parasolid::FacetTessellationKit const &in_facet_tessellation, Parasolid::LineTessellationKit const &in_line_tessellation)
 Re-tessellate the given Exchange::CADModel with the provided options. More...
 
static Parasolid::Component AddEntity (ComponentPath const &in_path_to_owner, ParasolidEntity in_entity, MatrixKit const &in_transform=MatrixKit(), Parasolid::FacetTessellationKit const &in_facet_tessellation=Parasolid::FacetTessellationKit::GetDefault(), Parasolid::LineTessellationKit const &in_line_tessellation=Parasolid::LineTessellationKit::GetDefault())
 Renders the entity specified, according to the tessellation options provided. More...
 
static Parasolid::Component AddEntity (Exchange::CADModel const &in_owner, ParasolidEntity in_entity, MatrixKit const &in_transform=MatrixKit(), Parasolid::FacetTessellationKit const &in_facet_tessellation=Parasolid::FacetTessellationKit::GetDefault(), Parasolid::LineTessellationKit const &in_line_tessellation=Parasolid::LineTessellationKit::GetDefault())
 Renders the entity specified, according to the tessellation options provided. More...
 

Private Member Functions

 File ()
 Private default constructor to prevent instantiation. More...
 

Detailed Description

The File class provides functions to import CAD files via Exchange and manage the BRep data with Parasolid.

Constructor & Destructor Documentation

◆ File()

HPS::ExchangeParasolid::File::File ( )
private

Private default constructor to prevent instantiation.

Member Function Documentation

◆ AddEntity() [1/2]

static Parasolid::Component HPS::ExchangeParasolid::File::AddEntity ( ComponentPath const &  in_path_to_owner,
ParasolidEntity  in_entity,
MatrixKit const &  in_transform = MatrixKit(),
Parasolid::FacetTessellationKit const &  in_facet_tessellation = Parasolid::FacetTessellationKit::GetDefault(),
Parasolid::LineTessellationKit const &  in_line_tessellation = Parasolid::LineTessellationKit::GetDefault() 
)
static

Renders the entity specified, according to the tessellation options provided.

Only entities of type PK_CLASS_body can be used with this function. This function is intended to be used with Exchange CADModels. If you wish to add a Parasolid entity to a Parasolid CADModel you should use the Parasolid::CADModel::AddEntity function.

Parameters
in_path_to_ownerThe component path to the location where the entity should be added. [0] should be a PartDefiniton component and in_path_to_owner[n] should be a CADModel component
in_entityThe Parasolid entity to add.
in_transformA matrix to apply to the created Representation Item
in_facet_tessellationThe facet tessellation parameters used during import.
in_line_tessellationThe line tessellation parameters used during import.
Returns
The component created as part of the import of the provided entity. As part of the process of adding an entity, a new Representation Item component will be created under in_path_to_owner[0]. The component referring to the added Parasolid part will be located under this newly created Representation Item component.

◆ AddEntity() [2/2]

static Parasolid::Component HPS::ExchangeParasolid::File::AddEntity ( Exchange::CADModel const &  in_owner,
ParasolidEntity  in_entity,
MatrixKit const &  in_transform = MatrixKit(),
Parasolid::FacetTessellationKit const &  in_facet_tessellation = Parasolid::FacetTessellationKit::GetDefault(),
Parasolid::LineTessellationKit const &  in_line_tessellation = Parasolid::LineTessellationKit::GetDefault() 
)
static

Renders the entity specified, according to the tessellation options provided.

Only entities of type PK_CLASS_body can be used with this function. This function is intended to be used with Exchange CADModels. If you wish to add a Parasolid entity to a Parasolid CADModel you should use the Parasolid::CADModel::AddEntity function. If you have not imported a file prior to calling this function, you will need to create a CADModel object through Factory::CreateCADModel and pass it to this function.

Parameters
in_ownerThe CADModel which will own the entity you wish to add.
in_entityThe Parasolid entity to add.
in_transformA matrix to apply to the created Representation Item
in_facet_tessellationThe facet tessellation parameters used during import.
in_line_tessellationThe line tessellation parameters used during import.
Returns
The component created as part of the import of the provided entity. As part of the process of adding an entity, a new Product Occurrence, Part Definition and Representation Item component will be created under the CADModel The component referring to the added Parasolid part will be located under this newly created Representation Item component.

◆ Import()

static ImportNotifier HPS::ExchangeParasolid::File::Import ( char const *  in_filename,
Exchange::ImportOptionsKit const &  in_import_options,
Exchange::TranslationOptionsKit const &  in_translation_options,
Parasolid::FacetTessellationKit const &  in_facet_tessellation,
Parasolid::LineTessellationKit const &  in_line_tessellation 
)
static

Performs an asynchronous import of the specified CAD file with the provided options.

May throw an IOException prior to starting the asynchronous import. Note that if the import is successful, the CADModel created from this import will own its associated A3DAsmModelFile (see Exchange::CADModel::GetEntityOwnership for more details).

Parameters
in_filenameThe name of the CAD file to import.
in_import_optionsThe options controlling the import of the CAD file.
in_translation_optionsThe options controlling the translation of the CAD data to Parasolid.
in_facet_tessellationThe options controlling the facet tessellation for the Parasolid data.
in_line_tessellationThe options controlling the line tessellation for the Parasolid data.
Returns
An ImportNotfier object that can be used to query the import progress and status.

◆ Reload() [1/2]

static Exchange::ReloadNotifier HPS::ExchangeParasolid::File::Reload ( Exchange::Component const &  in_component,
Exchange::TranslationOptionsKit const &  in_translation_options,
Parasolid::FacetTessellationKit const &  in_facet_tessellation,
Parasolid::LineTessellationKit const &  in_line_tessellation 
)
static

Performs an asynchronous reload of the specified Exchange::Component with the provided options.

May throw an IOException prior to starting the asynchronous reload. This function differs from the Exchange::Component::Reload function in that it allows one to specify all Parasolid-related tessellation options, rather than restricting those options to the subset supported by Exchange and Parasolid.

Parameters
in_translation_optionsThe options controlling the translation of the CAD data to Parasolid.
in_facet_tessellationThe options controlling the facet tessellation for the Parasolid data.
in_line_tessellationThe options controlling the line tessellation for the Parasolid data.
Returns
An Exchange::ReloadNotifier object that can be used to query the reload progress and status.

◆ Reload() [2/2]

static Exchange::ReloadNotifier HPS::ExchangeParasolid::File::Reload ( Exchange::CADModel const &  in_cad_model,
Exchange::TranslationOptionsKit const &  in_translation_options,
Parasolid::FacetTessellationKit const &  in_facet_tessellation,
Parasolid::LineTessellationKit const &  in_line_tessellation 
)
static

Performs an asynchronous reload of the specified Exchange::CADModel with the provided options.

May throw an IOException prior to starting the asynchronous reload. This function differs from the Exchange::CADModel::Reload function in that it allows one to specify all Parasolid-related tessellation options, rather than restricting those options to the subset supported by Exchange and Parasolid.

Parameters
in_translation_optionsThe options controlling the translation of the CAD data to Parasolid.
in_facet_tessellationThe options controlling the facet tessellation for the Parasolid data.
in_line_tessellationThe options controlling the line tessellation for the Parasolid data.
Returns
An Exchange::ReloadNotifier object that can be used to query the reload progress and status.

◆ Tessellate() [1/2]

static void HPS::ExchangeParasolid::File::Tessellate ( Exchange::Component const &  in_component,
Parasolid::FacetTessellationKit const &  in_facet_tessellation,
Parasolid::LineTessellationKit const &  in_line_tessellation 
)
static

Re-tessellate the given Exchange::Component with the provided options.

Tessellation will occur for Parasolid bodies under the Exchange component, 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 Parasolid bodies underneath that Component will be re-tessellated with the provided options. This function differs from the Exchange::Component::Tessellate function in that it allows one to specify all Parasolid-related tessellation options, rather than restricting those options to the subset supported by Exchange and Parasolid.

Parameters
in_facet_tessellationThe options controlling the facet tessellation for the Parasolid data.
in_line_tessellationThe options controlling the line tessellation for the Parasolid data.

◆ Tessellate() [2/2]

static void HPS::ExchangeParasolid::File::Tessellate ( Exchange::CADModel const &  in_cad_model,
Parasolid::FacetTessellationKit const &  in_facet_tessellation,
Parasolid::LineTessellationKit const &  in_line_tessellation 
)
static

Re-tessellate the given Exchange::CADModel with the provided options.

Tessellation will occur for Parasolid bodies. This function differs from the Exchange::Component::Tessellate function in that it allows one to specify all Parasolid-related tessellation options, rather than restricting those options to the subset supported by Exchange and Parasolid.

Parameters
in_facet_tessellationThe options controlling the facet tessellation for the Parasolid data.
in_line_tessellationThe options controlling the line tessellation for the Parasolid data.

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