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::Exchange::ExportSTLOptionsKit Class Reference

The HPS::Exchange::ExportSTLOptionsKit class is a user space object. More...

#include <sprk_exchange.h>

Inheritance diagram for HPS::Exchange::ExportSTLOptionsKit:
Collaboration diagram for HPS::Exchange::ExportSTLOptionsKit:

Public Member Functions

 ExportSTLOptionsKit ()
 The default constructor creates an empty ExportSTLOptionsKit object. More...
 
 ExportSTLOptionsKit (ExportSTLOptionsKit const &in_kit)
 The copy constructor creates a new ExportSTLOptionsKit object that contains the same settings as the source ExportSTLOptionsKit. More...
 
 ExportSTLOptionsKit (ExportSTLOptionsKit &&in_that)
 The move constructor creates an ExportSTLOptionsKit by transferring the underlying object of the rvalue reference to this ExportSTLOptionsKit. More...
 
virtual ~ExportSTLOptionsKit ()
 
HPS::Type ObjectType () const
 
void Set (ExportSTLOptionsKit const &in_kit)
 Copies the source ExportSTLOptionsKit into this ExportSTLOptionsKit. More...
 
void Show (ExportSTLOptionsKit &out_kit) const
 Copies this ExportSTLOptionsKit into the given ExportSTLOptionsKit. More...
 
ExportSTLOptionsKitoperator= (ExportSTLOptionsKit const &in_kit)
 Copies the source ExportSTLOptionsKit into this ExportSTLOptionsKit. More...
 
ExportSTLOptionsKitoperator= (ExportSTLOptionsKit &&in_that)
 The move assignment operator transfers the underlying object of the rvalue reference to this ExportSTLOptionsKit. More...
 
bool Empty () const
 Indicates whether this ExportSTLOptionsKit has any values set on it. More...
 
bool Equals (ExportSTLOptionsKit const &in_kit) const
 Check if the source ExportSTLOptionsKit is equivalent to this ExportSTLOptionsKit. More...
 
bool operator== (ExportSTLOptionsKit const &in_kit) const
 Check if the source ExportSTLOptionsKit is equivalent to this ExportSTLOptionsKit. More...
 
bool operator!= (ExportSTLOptionsKit const &in_kit) const
 Check if the source ExportSTLOptionsKit is not equivalent to this ExportSTLOptionsKit. More...
 
ExportSTLOptionsKitSetBinary (bool in_state)
 Sets whether to write STL data in binary form. More...
 
ExportSTLOptionsKitSetTessellationLevel (Tessellation::Level in_level)
 Sets the predefined quality of the tessellation that will be generated for BRep data using the standard tessellation algorithm. More...
 
ExportSTLOptionsKitSetTessellationLevel (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 using the standard or accurate tessellation algorithm. More...
 
ExportSTLOptionsKitSetTessellationAccuracy (Tessellation::Accuracy in_type)
 Sets the accuracy of the tessellation that will be generated for BRep data. More...
 
ExportSTLOptionsKitSetCurrentTessellationRetention (bool in_state)
 Sets whether to keep the current tessellation. More...
 
ExportSTLOptionsKitSetMaximumEdgeLength (double in_length)
 Sets the maximum length of triangle edges in the tessellation generated for BRep data. More...
 
ExportSTLOptionsKitSetUnits (Units in_units)
 Sets the units to associate with the STL export. More...
 
ExportSTLOptionsKitUnsetBinary ()
 Removes the binary export setting. More...
 
ExportSTLOptionsKitUnsetTessellationLevel ()
 Removes the tessellation level setting. More...
 
ExportSTLOptionsKitUnsetTessellationAccuracy ()
 Removes the tessellation accuracy setting. More...
 
ExportSTLOptionsKitUnsetCurrentTessellationRetention ()
 Removes the current tessellation retention setting. More...
 
ExportSTLOptionsKitUnsetMaximumEdgeLength ()
 Removes the tessellation maximum edge length setting. More...
 
ExportSTLOptionsKitUnsetUnits ()
 Removes the units export setting. More...
 
ExportSTLOptionsKitUnsetEverything ()
 Removes all settings from this ExportSTLOptionsKit. More...
 
bool ShowBinary (bool &out_state) const
 Shows the binary export setting. More...
 
bool 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. More...
 
bool ShowTessellationAccuracy (Tessellation::Accuracy &out_type) const
 Shows the tessellation accuracy setting. More...
 
bool ShowCurrentTessellationRetention (bool &out_state) const
 Shows the current tessellation retention setting. More...
 
bool ShowMaximumEdgeLength (double &out_length) const
 Shows the tessellation maximum edge length setting. More...
 
bool ShowUnits (Units &out_units) const
 Shows the binary export setting. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

static ExportSTLOptionsKit GetDefault ()
 Creates an ExportSTLOptionsKit which contains the default settings. More...
 
template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::ExchangeExportSTLOptionsKit
 

Detailed Description

The HPS::Exchange::ExportSTLOptionsKit class is a user space object.

It contains settings controlling how STL data is exported via Exchange. Calling HPS::Exchange::ExportSTLOptionsKit::GetDefault() will return an options kit with values found in here.

Constructor & Destructor Documentation

◆ ExportSTLOptionsKit() [1/3]

HPS::Exchange::ExportSTLOptionsKit::ExportSTLOptionsKit ( )

The default constructor creates an empty ExportSTLOptionsKit object.

◆ ExportSTLOptionsKit() [2/3]

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

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

Parameters
in_kitThe source ExportSTLOptionsKit to copy.

◆ ExportSTLOptionsKit() [3/3]

HPS::Exchange::ExportSTLOptionsKit::ExportSTLOptionsKit ( ExportSTLOptionsKit &&  in_that)

The move constructor creates an ExportSTLOptionsKit by transferring the underlying object of the rvalue reference to this ExportSTLOptionsKit.

Parameters
in_thatAn rvalue reference to an ExportSTLOptionsKit to take the underlying object from.

◆ ~ExportSTLOptionsKit()

virtual HPS::Exchange::ExportSTLOptionsKit::~ExportSTLOptionsKit ( )
virtual

Member Function Documentation

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Empty()

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

Indicates whether this ExportSTLOptionsKit has any values set on it.

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

Reimplemented from HPS::Object.

◆ Equals()

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

Check if the source ExportSTLOptionsKit is equivalent to this ExportSTLOptionsKit.

Parameters
in_kitThe source ExportSTLOptionsKit to compare to this ExportSTLOptionsKit.
Returns
true if the objects are equivalent, false otherwise.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetDefault()

static ExportSTLOptionsKit HPS::Exchange::ExportSTLOptionsKit::GetDefault ( )
static

Creates an ExportSTLOptionsKit 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::ExportSTL.

Returns
An ExportSTLOptionsKit with the default settings.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

HPS::Type HPS::Exchange::ExportSTLOptionsKit::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::SprocketKit.

Here is the call graph for this function:

◆ operator!=()

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

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

Parameters
in_kitThe source ExportSTLOptionsKit to compare to this ExportSTLOptionsKit.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator=() [1/2]

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::operator= ( ExportSTLOptionsKit const &  in_kit)

Copies the source ExportSTLOptionsKit into this ExportSTLOptionsKit.

Parameters
in_kitThe source ExportSTLOptionsKit to copy.
Returns
A reference to this ExportSTLOptionsKit.

◆ operator=() [2/2]

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::operator= ( ExportSTLOptionsKit &&  in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this ExportSTLOptionsKit.

Parameters
in_thatAn rvalue reference to an ExportSTLOptionsKit to take the underlying object from.
Returns
A reference to this ExportSTLOptionsKit.

◆ operator==()

bool HPS::Exchange::ExportSTLOptionsKit::operator== ( ExportSTLOptionsKit const &  in_kit) const

Check if the source ExportSTLOptionsKit is equivalent to this ExportSTLOptionsKit.

Parameters
in_kitThe source ExportSTLOptionsKit to compare to this ExportSTLOptionsKit.
Returns
true if the objects are equivalent, false otherwise.

◆ Reset()

◆ Set()

void HPS::Exchange::ExportSTLOptionsKit::Set ( ExportSTLOptionsKit const &  in_kit)

Copies the source ExportSTLOptionsKit into this ExportSTLOptionsKit.

Parameters
in_kitThe source ExportSTLOptionsKit to copy.

◆ SetBinary()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::SetBinary ( bool  in_state)

Sets whether to write STL data in binary form.

This corresponds to the value that will be passed to A3DRWParamsExportStlData::m_bBinaryFile.

Parameters
in_stateWhether to write STL data in binary form.
Returns
A reference to this ExportSTLOptionsKit.
See also
Default value

◆ SetCurrentTessellationRetention()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::SetCurrentTessellationRetention ( bool  in_state)

Sets whether to keep the current tessellation.

This corresponds to the value that will be passed to A3DRWParamsExportStlData::m_bKeepCurrentTessellation.

Parameters
in_stateWhether to keep the current tessellation.
Returns
A reference to this ExportSTLOptionsKit.
See also
Default value

◆ SetMaximumEdgeLength()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::SetMaximumEdgeLength ( double  in_length)

Sets the maximum length of triangle edges in the tessellation generated for BRep data.

This is only relevant if the tessellation level is set to Tessellation::Level::UserDefined. This corresponds to the value that will be passed to A3DRWParamsExportStlData::m_dMaximalTriangleEdgeLength.

Parameters
in_lengthThe maximum length of triangle edges in the tessellation generated for BRep data. The value must be non-negative.
Returns
A reference to this ExportSTLOptionsKit.
See also
Default value

◆ SetTessellationAccuracy()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::SetTessellationAccuracy ( Tessellation::Accuracy  in_type)

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

Parameters
in_typeThe accuracy to use for tessellation generation.
Returns
A reference to this ExportSTLOptionsKit.
See also
Default value

◆ SetTessellationLevel() [1/2]

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::SetTessellationLevel ( Tessellation::Level  in_level)

Sets the predefined quality of the tessellation that will be generated for BRep data using the standard tessellation algorithm.

This corresponds to the value that will be passed to A3DRWParamsExportStlData::m_eTessellationLevelOfDetail.

Parameters
in_levelThe predefined quality of the tessellation that will be generated for BRep data using the standard tessellation algorithm.
Returns
A reference to this ExportSTLOptionsKit.
See also
Default value

◆ SetTessellationLevel() [2/2]

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::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 using the standard or accurate tessellation algorithm.

This implicitly sets A3DRWParamsExportStlData::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 A3DRWParamsExportStlData::m_dAngleToleranceDeg.
Returns
A reference to this ExportSTLOptionsKit.

◆ SetUnits()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::SetUnits ( Units  in_units)

Sets the units to associate with the STL export.

This corresponds to the value that will be passed to A3DRWParamsExportStlData::m_eExportUnit. This function will result in a scale being applied to the exported model. The CADModel will NOT have a unit associated with it, since STL is a unit-less format. For example: exporting a cube with a 1mm side with Units set to Meter, will cause the side of the cube to shrink by a factor of 1000, since every unit in the file, which used to correspond to one mm, now corresponds to a meter. This is useful in the case where the STL file needs to be loaded in a scene alongside another model, so that the units of the two models can match.

Parameters
in_unitsThe units to associate with the export. Passing Units::Unknown will preserve the original units.
Returns
A reference to this ExportSTLOptionsKit.
See also
Default value

◆ Show()

void HPS::Exchange::ExportSTLOptionsKit::Show ( ExportSTLOptionsKit out_kit) const

Copies this ExportSTLOptionsKit into the given ExportSTLOptionsKit.

Parameters
out_kitThe ExportSTLOptionsKit to populate with the contents of this ExportSTLOptionsKit.

◆ ShowBinary()

bool HPS::Exchange::ExportSTLOptionsKit::ShowBinary ( bool &  out_state) const

Shows the binary export setting.

Parameters
out_stateWhether to write STL data in binary form.
Returns
true if a binary export setting was specified, false otherwise.

◆ ShowCurrentTessellationRetention()

bool HPS::Exchange::ExportSTLOptionsKit::ShowCurrentTessellationRetention ( bool &  out_state) const

Shows the current tessellation retention setting.

Parameters
out_stateWhether to keep the current tessellation.
Returns
true if a current tessellation retention setting was specified, false otherwise.

◆ ShowMaximumEdgeLength()

bool HPS::Exchange::ExportSTLOptionsKit::ShowMaximumEdgeLength ( 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.

◆ ShowTessellationAccuracy()

bool HPS::Exchange::ExportSTLOptionsKit::ShowTessellationAccuracy ( Tessellation::Accuracy out_type) const

Shows the tessellation accuracy setting.

Parameters
out_typeThe type of the tessellation accuracy which was specified.
Returns
true if a tessellation accuracy setting was specified, false otherwise.

◆ ShowTessellationLevel()

bool HPS::Exchange::ExportSTLOptionsKit::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 using the standard tessellaiton algorithm. 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.

◆ ShowUnits()

bool HPS::Exchange::ExportSTLOptionsKit::ShowUnits ( Units out_units) const

Shows the binary export setting.

Parameters
out_stateThe units that will be associated with this export.
Returns
true if a units export setting was specified, false otherwise.

◆ Type()

◆ UnsetBinary()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetBinary ( )

Removes the binary export setting.

Returns
A reference to this ExportSTLOptionsKit.

◆ UnsetCurrentTessellationRetention()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetCurrentTessellationRetention ( )

Removes the current tessellation retention setting.

Returns
A reference to this ExportSTLOptionsKit.

◆ UnsetEverything()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetEverything ( )

Removes all settings from this ExportSTLOptionsKit.

Returns
A reference to this ExportSTLOptionsKit.

◆ UnsetMaximumEdgeLength()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetMaximumEdgeLength ( )

Removes the tessellation maximum edge length setting.

Returns
A reference to this ExportSTLOptionsKit.

◆ UnsetTessellationAccuracy()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetTessellationAccuracy ( )

Removes the tessellation accuracy setting.

Returns
A reference to this ExportSTLOptionsKit.

◆ UnsetTessellationLevel()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetTessellationLevel ( )

Removes the tessellation level setting.

Returns
A reference to this ExportSTLOptionsKit.

◆ UnsetUnits()

ExportSTLOptionsKit& HPS::Exchange::ExportSTLOptionsKit::UnsetUnits ( )

Removes the units export setting.

Returns
A reference to this ExportSTLOptionsKit.

Member Data Documentation

◆ staticType

const HPS::Type HPS::Exchange::ExportSTLOptionsKit::staticType = HPS::Type::ExchangeExportSTLOptionsKit
static

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