Public Member Functions | Static Public Member Functions | List of all members
HPS::Exchange::ModelFileImportOptionsKit Class Reference

#include <sprk_exchange.h>

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

Public Member Functions

 ModelFileImportOptionsKit ()
 
 ModelFileImportOptionsKit (ModelFileImportOptionsKit const &in_kit)
 
 ModelFileImportOptionsKit (ModelFileImportOptionsKit &&in_that)
 
ModelFileImportOptionsKitoperator= (ModelFileImportOptionsKit &&in_that)
 
HPS::Type ObjectType () const
 
void Set (ModelFileImportOptionsKit const &in_kit)
 
void Show (ModelFileImportOptionsKit &out_kit) const
 
ModelFileImportOptionsKitoperator= (ModelFileImportOptionsKit const &in_kit)
 
bool Empty () const
 
bool Equals (ModelFileImportOptionsKit const &in_kit) const
 
bool operator== (ModelFileImportOptionsKit const &in_kit) const
 
bool operator!= (ModelFileImportOptionsKit const &in_kit) const
 
ModelFileImportOptionsKitSetTessellationLevel (Tessellation::Level in_level)
 
ModelFileImportOptionsKitSetTessellationLevel (Tessellation::Chord::Limit in_limit_type, double in_limit, double in_angle_tolerance)
 
ModelFileImportOptionsKitSetTessellationAccuracy (Tessellation::Accuracy in_type, bool in_accurate_normals=true)
 
ModelFileImportOptionsKitSetTessellationPreservesUVPoints (bool in_state)
 
ModelFileImportOptionsKitSetTessellationMaximumEdgeLength (double in_length)
 
ModelFileImportOptionsKitSetIFCEdges (bool in_state)
 
ModelFileImportOptionsKitSetAnnotationCaptureFitting (AnnotationCaptureFitting in_fitting)
 
ModelFileImportOptionsKitSetLocation (ComponentPath const &in_path, MatrixKit const &in_transform=MatrixKit())
 
ModelFileImportOptionsKitUnsetTessellationLevel ()
 
ModelFileImportOptionsKitUnsetTessellationAccuracy ()
 
ModelFileImportOptionsKitUnsetTessellationPreservesUVPoints ()
 
ModelFileImportOptionsKitUnsetTessellationMaximumEdgeLength ()
 
ModelFileImportOptionsKitUnsetIFCEdges ()
 
ModelFileImportOptionsKitUnsetAnnotationCaptureFitting ()
 
ModelFileImportOptionsKitUnsetLocation ()
 
ModelFileImportOptionsKitUnsetEverything ()
 
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 ShowTessellationAccuracy (Tessellation::Accuracy &out_type, bool &out_accurate_normals) const
 
bool ShowTessellationPreservesUVPoints (bool &out_state) const
 
bool ShowTessellationMaximumEdgeLength (double &out_length) const
 
bool ShowIFCEdges (bool &out_state) const
 
bool ShowAnnotationCaptureFitting (AnnotationCaptureFitting &out_fitting) const
 
bool ShowLocation (ComponentPath &out_path, MatrixKit &out_transform) const
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (HPS::Sprocket const &in_that)=default
 
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
 Object (Object const &that)
 
Objectoperator= (Object const &other_object)
 
 Object (Object &&in_that)
 
Objectoperator= (Object &&in_that)
 
HPS::Type Type () const
 
virtual void Reset ()
 
bool HasType (HPS::Type in_mask) const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 

Static Public Member Functions

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

Additional Inherited Members

- Public Types inherited from HPS::Sprocket
enum  UpdateType { Synchronous, Asynchronous }
 

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::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::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::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::UnsetTessellationAccuracy ( )

Removes the tessellation accuracy setting.

Returns
A reference to this ModelFileImportOptionsKit.
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: