HPS::Exchange::ModelFileImportOptionsKit Class Reference

#include <sprk_exchange.h>

Inheritance diagram for HPS::Exchange::ModelFileImportOptionsKit:
HPS::Sprocket HPS::Object

Public Member Functions

bool Empty () const
 
bool Equals (ModelFileImportOptionsKit const &in_kit) const
 
 ModelFileImportOptionsKit ()
 
 ModelFileImportOptionsKit (ModelFileImportOptionsKit const &in_kit)
 
 ModelFileImportOptionsKit (ModelFileImportOptionsKit &&in_that)
 
HPS::Type ObjectType () const
 
bool operator!= (ModelFileImportOptionsKit const &in_kit) const
 
ModelFileImportOptionsKitoperator= (ModelFileImportOptionsKit &&in_that)
 
ModelFileImportOptionsKitoperator= (ModelFileImportOptionsKit const &in_kit)
 
bool operator== (ModelFileImportOptionsKit const &in_kit) const
 
void Set (ModelFileImportOptionsKit const &in_kit)
 
ModelFileImportOptionsKitSetAnnotationCaptureFitting (AnnotationCaptureFitting in_fitting)
 
ModelFileImportOptionsKitSetIFCEdges (bool in_state)
 
ModelFileImportOptionsKitSetLocation (ComponentPath const &in_path, MatrixKit const &in_transform=MatrixKit())
 
ModelFileImportOptionsKitSetNURBSConversion (HPS::Exchange::NURBSConversionOptionsKit const &in_nurbs_conversion_options)
 
ModelFileImportOptionsKitSetPMIFlipping (bool in_flip)
 
ModelFileImportOptionsKitSetSewingTolerance (double in_tolerance)
 
ModelFileImportOptionsKitSetTessellationAccuracy (Tessellation::Accuracy in_type, bool in_accurate_normals=true)
 
ModelFileImportOptionsKitSetTessellationCleanup (bool in_cleanup)
 
ModelFileImportOptionsKitSetTessellationLevel (Tessellation::Level in_level)
 
ModelFileImportOptionsKitSetTessellationLevel (Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance)
 
ModelFileImportOptionsKitSetTessellationMaximumEdgeLength (double in_length)
 
ModelFileImportOptionsKitSetTessellationPreservesUVPoints (bool in_state)
 
void Show (ModelFileImportOptionsKit &out_kit) const
 
bool ShowAnnotationCaptureFitting (AnnotationCaptureFitting &out_fitting) const
 
bool ShowIFCEdges (bool &out_state) const
 
bool ShowLocation (ComponentPath &out_path, MatrixKit &out_transform) const
 
bool ShowNURBSConversion (HPS::Exchange::NURBSConversionOptionsKit &out_nurbs_conversion_options) const
 
bool ShowPMIFlipping (bool &out_pmi_flipping) const
 
bool ShowSewingTolerance (double &out_tolerance) const
 
bool ShowTessellationAccuracy (Tessellation::Accuracy &out_type, bool &out_accurate_normals) const
 
bool ShowTessellationCleanup (bool &out_cleanup) const
 
bool ShowTessellationLevel (Tessellation::Type &out_type, Tessellation::Level &out_level, Tessellation::Chord::Limit &out_limit_type, double &out_limit, double &out_angle_tolerance) const
 
bool ShowTessellationMaximumEdgeLength (double &out_length) const
 
bool ShowTessellationPreservesUVPoints (bool &out_state) const
 
ModelFileImportOptionsKitUnsetAnnotationCaptureFitting ()
 
ModelFileImportOptionsKitUnsetEverything ()
 
ModelFileImportOptionsKitUnsetIFCEdges ()
 
ModelFileImportOptionsKitUnsetLocation ()
 
ModelFileImportOptionsKitUnsetNURBSConversion ()
 
ModelFileImportOptionsKitUnsetPMIFlipping ()
 
ModelFileImportOptionsKitUnsetSewingTolerance ()
 
ModelFileImportOptionsKitUnsetTessellationAccuracy ()
 
ModelFileImportOptionsKitUnsetTessellationCleanup ()
 
ModelFileImportOptionsKitUnsetTessellationLevel ()
 
ModelFileImportOptionsKitUnsetTessellationMaximumEdgeLength ()
 
ModelFileImportOptionsKitUnsetTessellationPreservesUVPoints ()
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
HPS::Type Type () const
 

Static Public Member Functions

static ModelFileImportOptionsKit GetDefault ()
 
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The HPS::Exchange::ModelFileImportOptionsKit class is a user space object. It contains settings (potentially) controlling how data is imported via Exchange. This particular options kit is used when importing an A3DAsmModelFile directly (see Exchange::File::Import(void*,const ModelFileImportOptionsKit&)) and as such the options will only be used if the A3DAsmModelFile permits (e.g., tessellation options will only be used if tessellation needs to be generated and the A3DAsmModelFile has BRep data). Calling HPS::Exchange::ModelFileImportOptionsKit::GetDefault() will return an options kit with values found in here.

Constructor & Destructor Documentation

HPS::Exchange::ModelFileImportOptionsKit::ModelFileImportOptionsKit ( )

The default constructor creates an empty ModelFileImportOptionsKit object.

HPS::Exchange::ModelFileImportOptionsKit::ModelFileImportOptionsKit ( ModelFileImportOptionsKit const &  in_kit)

The copy constructor creates a new ModelFileImportOptionsKit object that contains the same settings as the source ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to copy.
HPS::Exchange::ModelFileImportOptionsKit::ModelFileImportOptionsKit ( ModelFileImportOptionsKit &&  in_that)

The move constructor creates an ModelFileImportOptionsKit by transferring the underlying impl of the rvalue reference to this ModelFileImportOptionsKit thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to an ModelFileImportOptionsKit to take the impl from.

Member Function Documentation

bool HPS::Exchange::ModelFileImportOptionsKit::Empty ( ) const
virtual

Indicates whether this ModelFileImportOptionsKit has any values set on it.

Returns
true if no values are set on this ModelFileImportOptionsKit, false otherwise.

Reimplemented from HPS::Object.

bool HPS::Exchange::ModelFileImportOptionsKit::Equals ( ModelFileImportOptionsKit const &  in_kit) const

Check if the source ModelFileImportOptionsKit is equivalent to this ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to compare to this ModelFileImportOptionsKit.
Returns
true if the objects are equivalent, false otherwise.
static ModelFileImportOptionsKit HPS::Exchange::ModelFileImportOptionsKit::GetDefault ( )
static

Creates an ModelFileImportOptionsKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default. These values will be used for import unless an option is overridden by the options passed to File::Import(void*,const ModelFileImportOptionsKit&).

Returns
A ModelFileImportOptionsKit with the default settings.
HPS::Type HPS::Exchange::ModelFileImportOptionsKit::ObjectType ( ) const
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::Object.

bool HPS::Exchange::ModelFileImportOptionsKit::operator!= ( ModelFileImportOptionsKit const &  in_kit) const

Check if the source ModelFileImportOptionsKit is not equivalent to this ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to compare to this ModelFileImportOptionsKit.
Returns
true if the objects are not equivalent, false otherwise.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::operator= ( ModelFileImportOptionsKit &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this ModelFileImportOptionsKit thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an ModelFileImportOptionsKit to take the impl from.
Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::operator= ( ModelFileImportOptionsKit const &  in_kit)

Copies the source ModelFileImportOptionsKit into this ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to copy.
Returns
A reference to this ModelFileImportOptionsKit.
bool HPS::Exchange::ModelFileImportOptionsKit::operator== ( ModelFileImportOptionsKit const &  in_kit) const

Check if the source ModelFileImportOptionsKit is equivalent to this ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to compare to this ModelFileImportOptionsKit.
Returns
true if the objects are equivalent, false otherwise.
void HPS::Exchange::ModelFileImportOptionsKit::Set ( ModelFileImportOptionsKit const &  in_kit)

Copies the source ModelFileImportOptionsKit into this ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to copy.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetAnnotationCaptureFitting ( AnnotationCaptureFitting  in_fitting)

Sets the type of data that should be used to generate the camera for annotation captures.

Parameters
in_fittingThe type of fitting to use for annotation captures.
Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetIFCEdges ( bool  in_state)

Sets whether to import edges for IFC files When this is set to false the import time will decrease. It is still possible to achieve visual fidelity by turning on hard edge visibility.

Parameters
in_stateWhether to import edges for an IFC file.
Returns
A reference to this ModelFileImportOptionsKit.
See also
Default value
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetLocation ( ComponentPath const &  in_path,
MatrixKit const &  in_transform = MatrixKit() 
)

Sets where to insert the imported file in an existing Component hieararchy. If this option is not set, a new CADModel will be created for the imported file. If this option is specified, the underlying PRC data of the existing CADModel will be modified to include the imported file and the data will be imported into the specified location in the existing Component hierarchy and its corresponding scene graph.

Parameters
in_pathThe path describing the location to insert the imported file into. This path must either terminate at a CADModel or a Component corresponding to an A3DAsmProductOccurrence. Note that if the imported file is added along a component path with attributes specified in the PRC data, the components added to the existing PRC data will also inherit those attributes. Note also that if the path is just a CADModel, a new A3DAsmModelFile underyling the CADModel must be created to include both the existing product occurrences and the new product occurrences. This new A3DAsmModelFile will be owned by the CADModel being imported into (see CADModel::GetEntityOwnership), but the existing A3DAsmModelFile will still need to be cleaned up via A3DAsmModelFileDelete since it was not owned by the CADModel.
in_transformA transform to apply to the components being added to the existing CADModel. This transform will also be added to the underlying PRC data. Defaults to an identity transform.
Returns
A reference to this ImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetNURBSConversion ( HPS::Exchange::NURBSConversionOptionsKit const &  in_nurbs_conversion_options)

Converts the curves and surfaces of the model file according to the options specified.

Parameters
in_nurbs_conversion_optionsThe options to use during conversion
Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetSewingTolerance ( double  in_tolerance)

The sewing tolerance to use on the A3DAsmModelFile prior to generating the scene graph. If this option is set, prior to generating the scene graph, the A3DAsmModelFile will be passed to A3DAsmModelFileSew with this tolerance.

Parameters
in_toleranceThe sewing tolerance to use on the A3DAsmModelFile.
Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetTessellationAccuracy ( Tessellation::Accuracy  in_type,
bool  in_accurate_normals = true 
)

Sets the accuracy of the tessellation that will be generated for BRep data.

Parameters
in_typeThe accuracy to use for tessellation generation.
in_accurate_normalsWhether to compute surface normals when performing accurate tessellation. This only applies if in_type is set to Tessellation::Accuracy::Accurate. This correspond to the (negated) value that will be passed to A3DRWParamsTessellationData::m_bDoNotComputeNormalsInAccurateTessellation.
Returns
A reference to this ModelFileImportOptionsKit.
See also
Default value
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetTessellationLevel ( Tessellation::Level  in_level)

Sets the predefined quality of the tessellation that will be generated for BRep data. This corresponds to the value that will be passed to A3DRWParamsTessellationData::m_eTessellationLevelOfDetail.

Parameters
in_levelThe predefined quality of the tessellation that will be generated for BRep data.
Returns
A reference to this ModelFileImportOptionsKit.
See also
Default value
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetTessellationLevel ( Tessellation::Chord::Limit  in_limit_type,
double  in_limit,
double  in_angle_tolerance 
)

Sets the user defined quality of the tessellation that will be generated for BRep data. This implicitly sets A3DRWParamsTessellationData::m_eTessellationLevel to kA3DTessLODUserDefined.

Parameters
in_limit_typeThe type of the chord limit to be specified.
in_limitEither the ratio of the tessellation chord height to the bounding box height which should be in the range [50, 10000], or the maximum distance between the surface definition and the tessellation approximation, depending on the preceding argument.
in_angle_toleranceThe maximum angle in degrees between two consecutive wire elements in the generated tessellation which should be in the range [10, 40]. This corresponds to the value that will be passed to A3DRWParamsTessellationData::m_dAngleToleranceDeg.
Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetTessellationMaximumEdgeLength ( double  in_length)

Sets the maximum length of triangle edges in the tessellation generated for BRep data. This corresponds to the value that will be passed to A3DRWParamsTessellationData::m_dMaximalTriangleEdgeLength.

Parameters
in_lengthThe maximum length of triangle edges in the tessellation generated for BRep data. The value must be non-negative, and if set to 0.0, the length will not be used when generating the tessellation.
Returns
A reference to this ModelFileImportOptionsKit.
See also
Default value
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::SetTessellationPreservesUVPoints ( bool  in_state)

Sets whether to keep parametric points as texture coordinates when generating the tessellation for BRep data. This corresponds to the value that will be passed to A3DRWParamsTessellationData::m_bKeepUVPoints.

Parameters
in_stateWhether to keep parametric points as texture coordinates when generating the tessellation for BRep data.
Returns
A reference to this ModelFileImportOptionsKit.
See also
Default value
void HPS::Exchange::ModelFileImportOptionsKit::Show ( ModelFileImportOptionsKit out_kit) const

Copies this ModelFileImportOptionsKit into the given ModelFileImportOptionsKit.

Parameters
out_kitThe ModelFileImportOptionsKit to populate with the contents of this ModelFileImportOptionsKit.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowAnnotationCaptureFitting ( AnnotationCaptureFitting out_fitting) const

Shows the annotation capture fitting setting.

Parameters
out_fittingThe type of fitting to use for annotation captures.
Returns
true if an annotation capture fitting setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowIFCEdges ( bool &  out_state) const

Shows the IFC edges setting.

Parameters
out_stateWhether to import edges for an IFC file.
Returns
true if an IFC edge setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowLocation ( ComponentPath out_path,
MatrixKit out_transform 
) const

Shows the location setting.

Parameters
out_pathThe path describing the location to insert the imported file into.
out_transformThe transform to apply to the components being added to the existing CADModel.
Returns
true if a location setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowNURBSConversion ( HPS::Exchange::NURBSConversionOptionsKit out_nurbs_conversion_options) const

Shows the NURBS conversion setting.

Parameters
out_nurbs_conversion_optionsThe options to be used during the conversion.
Returns
true if NURBS conversion setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowPMIFlipping ( bool &  out_pmi_flipping) const

Shows the pmi flipping setting.

Parameters
out_pmi_flippingThe pmi flipping setting that was specified.
Returns
true if a pmi flipping setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowSewingTolerance ( double &  out_tolerance) const

Shows the sewing tolerance setting.

Parameters
out_toleranceThe sewing tolerance to use on the A3DAsmModelFile prior to generating the scene graph.
Returns
true if a sewing tolerance setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowTessellationAccuracy ( Tessellation::Accuracy out_type,
bool &  out_accurate_normals 
) const

Shows the tessellation accuracy setting.

Parameters
out_typeThe type of the tessellation accuracy which was specified.
out_accurate_normalsWhether to compute surface normals when performing accurate tessellation. This only applies if out_type is Tessellation::Accuracy::Accurate.
Returns
true if a tessellation accuracy setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowTessellationCleanup ( bool &  out_cleanup) const

Shows the tessellation cleanup setting.

Parameters
out_cleanupThe tesselation cleanup setting that was specified.
Returns
true if a tessellation cleanup setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowTessellationLevel ( Tessellation::Type out_type,
Tessellation::Level out_level,
Tessellation::Chord::Limit out_limit_type,
double &  out_limit,
double &  out_angle_tolerance 
) const

Shows the tessellation level setting.

Parameters
out_typeThe type of the tessellation level setting which was specified.
out_levelThe predefined quality of the tessellation that will be generated for BRep data. This is only valid if out_type is Tessellation::Type::Standard.
out_limit_typeThe type of chord limit which was specified. This is only valid if out_type is Tessellation::Type::Custom.
out_limitThe chord limit to use to generate tessellation for BRep data. Its interpretation depends on the preceding argument. This is only valid if out_type is Tessellation::Type::Custom.
out_angle_toleranceThe maximum angle in degrees between two consecutive wire elements in the generated tessellation. This is only valid if out_type is Tessellation::Type::Custom.
Returns
true if a tessellation level setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowTessellationMaximumEdgeLength ( double &  out_length) const

Shows the tessellation maximum edge length setting.

Parameters
out_lengthThe tessellation maximum edge length setting.
Returns
true if a tessellation maximum edge length setting was specified, false otherwise.
bool HPS::Exchange::ModelFileImportOptionsKit::ShowTessellationPreservesUVPoints ( bool &  out_state) const

Shows the tessellation UV preservation setting.

Parameters
out_stateWhether to keep parametric points as texture coordinates when generating the tessellation for BRep data.
Returns
true if a tessellation UV preservation setting was specified, false otherwise.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetAnnotationCaptureFitting ( )

Removes the annotation capture fitting setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetEverything ( )

Removes all settings from this ModelFileImportOptionsKit.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetIFCEdges ( )

Removes the IFC edges setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetLocation ( )

Removes the location setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetNURBSConversion ( )

Removes the NURBS conversion setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetPMIFlipping ( )

Removes the pmi flipping setting.

Returns
A reference to this ImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetSewingTolerance ( )

Removes the sewing tolerance setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetTessellationAccuracy ( )

Removes the tessellation accuracy setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetTessellationCleanup ( )

Removes the tessellation cleanup setting.

Returns
A reference to this ImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetTessellationLevel ( )

Removes the tessellation level setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetTessellationMaximumEdgeLength ( )

Removes the tessellation maximum edge length setting.

Returns
A reference to this ModelFileImportOptionsKit.
ModelFileImportOptionsKit& HPS::Exchange::ModelFileImportOptionsKit::UnsetTessellationPreservesUVPoints ( )

Removes the tessellation UV preservation setting.

Returns
A reference to this ModelFileImportOptionsKit.

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