< Home

< Table of Contents

REFERENCE MANUAL

Exchange::ModelFileImportOptionsKit Class Reference

#include <sprk_exchange.h>

Inheritance diagram for Exchange::ModelFileImportOptionsKit:
Sprocket Object

Public Member Functions

bool Empty () const
 
bool Equals (ModelFileImportOptionsKit const &in_kit) const
 
 ModelFileImportOptionsKit ()
 
 ModelFileImportOptionsKit (ModelFileImportOptionsKit const &in_kit)
 
 ModelFileImportOptionsKit (ModelFileImportOptionsKit &&in_that)
 
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)
 
ModelFileImportOptionsKitSetIFCEdges (bool in_state)
 
ModelFileImportOptionsKitSetTessellationAccuracy (Tessellation::Accuracy in_type, bool in_accurate_normals=true)
 
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 ShowIFCEdges (bool &out_state) const
 
bool ShowTessellationAccuracy (Tessellation::Accuracy &out_type, bool &out_accurate_normals) 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
 
ModelFileImportOptionsKitUnsetEverything ()
 
ModelFileImportOptionsKitUnsetIFCEdges ()
 
ModelFileImportOptionsKitUnsetTessellationAccuracy ()
 
ModelFileImportOptionsKitUnsetTessellationLevel ()
 
ModelFileImportOptionsKitUnsetTessellationMaximumEdgeLength ()
 
ModelFileImportOptionsKitUnsetTessellationPreservesUVPoints ()
 
- Public Member Functions inherited from Sprocket
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from Object
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (Type in_mask) const
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
Type Type () const
 

Static Public Member Functions

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

Additional Inherited Members

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

Detailed Description

The 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 Exchange::ModelFileImportOptionsKit::GetDefault() will return an options kit with values found in here.

Constructor & Destructor Documentation

Exchange::ModelFileImportOptionsKit::ModelFileImportOptionsKit ( )

The default constructor creates an empty ModelFileImportOptionsKit object.

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

bool 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 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.
Type 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 Object.

bool 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& 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& 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 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 Exchange::ModelFileImportOptionsKit::Set ( ModelFileImportOptionsKit const &  in_kit)

Copies the source ModelFileImportOptionsKit into this ModelFileImportOptionsKit.

Parameters
in_kitThe source ModelFileImportOptionsKit to copy.
ModelFileImportOptionsKit& 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& 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& 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& 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& 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& 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 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 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 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 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 Exchange::ModelFileImportOptionsKit::ShowTessellationMaximumEdgeLength ( double &  out_length) const

Shows the tessellation maximum edge length setting.

Parameters
out_lenthThe tessellation maximum edge length setting.
Returns
true if a tessellation maximum edge length setting was specified, false otherwise.
bool 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& Exchange::ModelFileImportOptionsKit::UnsetEverything ( )

Removes all settings from this ModelFileImportOptionsKit.

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

Removes the IFC edges setting.

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

Removes the tessellation accuracy setting.

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

Removes the tessellation level setting.

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

Removes the tessellation maximum edge length setting.

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