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::TessellationOptionsKit Class Reference

The TessellationOptionsKit class is a user space object. More...

#include <sprk_exchange.h>

Inheritance diagram for HPS::Exchange::TessellationOptionsKit:
Collaboration diagram for HPS::Exchange::TessellationOptionsKit:

Public Member Functions

 TessellationOptionsKit ()
 The default constructor creates an empty TessellationOptionsKit object. More...
 
 TessellationOptionsKit (TessellationOptionsKit const &in_kit)
 The copy constructor creates a new TessellationOptionsKit object that contains the same settings as the source TessellationOptionsKit. More...
 
 TessellationOptionsKit (TessellationOptionsKit &&in_that)
 The move constructor creates an TessellationOptionsKit by transferring the underlying object of the rvalue reference to this TessellationOptionsKit. More...
 
virtual ~TessellationOptionsKit ()
 
HPS::Type ObjectType () const
 
void Set (TessellationOptionsKit const &in_kit)
 Copies the source TessellationOptionsKit into this TessellationOptionsKit. More...
 
void Show (TessellationOptionsKit &out_kit) const
 Copies this TessellationOptionsKit into the given TessellationOptionsKit. More...
 
TessellationOptionsKitoperator= (TessellationOptionsKit const &in_kit)
 Copies the source TessellationOptionsKit into this TessellationOptionsKit. More...
 
TessellationOptionsKitoperator= (TessellationOptionsKit &&in_that)
 The move assignment operator transfers the underlying object of the rvalue reference to this TessellationOptionsKit. More...
 
bool Empty () const
 Indicates whether this TessellationOptionsKit has any values set on it. More...
 
bool Equals (TessellationOptionsKit const &in_kit) const
 Check if the source TessellationOptionsKit is equivalent to this TessellationOptionsKit. More...
 
bool operator== (TessellationOptionsKit const &in_kit) const
 Check if the source TessellationOptionsKit is equivalent to this TessellationOptionsKit. More...
 
bool operator!= (TessellationOptionsKit const &in_kit) const
 Check if the source TessellationOptionsKit is not equivalent to this TessellationOptionsKit. More...
 
TessellationOptionsKitSetLevel (Tessellation::Level in_level)
 Sets the predefined quality of the tessellation that will be generated for BRep data. More...
 
TessellationOptionsKitSetLevel (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. More...
 
TessellationOptionsKitSetAccuracy (Tessellation::Accuracy in_type, bool in_accurate_normals=true)
 Sets the accuracy of the tessellation that will be generated for BRep data. More...
 
TessellationOptionsKitSetUVPointPreservation (bool in_state)
 Sets whether to keep parametric points as texture coordinates when generating the tessellation for BRep data. More...
 
TessellationOptionsKitSetMaximumEdgeLength (double in_length)
 Sets the maximum length of triangle edges in the tessellation generated for BRep data. More...
 
TessellationOptionsKitUnsetLevel ()
 Removes the level setting. More...
 
TessellationOptionsKitUnsetAccuracy ()
 Removes the accuracy setting. More...
 
TessellationOptionsKitUnsetUVPointPreservation ()
 Removes the UV preservation setting. More...
 
TessellationOptionsKitUnsetMaximumEdgeLength ()
 Removes the maximum edge length setting. More...
 
TessellationOptionsKitUnsetEverything ()
 Removes all settings from this TessellationOptionsKit. More...
 
bool ShowLevel (Tessellation::Type &out_type, Tessellation::Level &out_level, Tessellation::Chord::Limit &out_limit_type, double &out_limit, double &out_angle_tolerance) const
 Shows the level setting. More...
 
bool ShowAccuracy (Tessellation::Accuracy &out_type, bool &out_accurate_normals) const
 Shows the accuracy setting. More...
 
bool ShowUVPointPreservation (bool &out_state) const
 Shows the UV preservation setting. More...
 
bool ShowMaximumEdgeLength (double &out_length) const
 Shows the maximum edge length 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 TessellationOptionsKit GetDefault ()
 Creates an TessellationOptionsKit 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::ExchangeTessellationOptionsKit
 

Detailed Description

The TessellationOptionsKit class is a user space object.

It contains settings controlling how STL data is exported via Exchange.

Constructor & Destructor Documentation

◆ TessellationOptionsKit() [1/3]

HPS::Exchange::TessellationOptionsKit::TessellationOptionsKit ( )

The default constructor creates an empty TessellationOptionsKit object.

◆ TessellationOptionsKit() [2/3]

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

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

Parameters
in_kitThe source TessellationOptionsKit to copy.

◆ TessellationOptionsKit() [3/3]

HPS::Exchange::TessellationOptionsKit::TessellationOptionsKit ( TessellationOptionsKit &&  in_that)

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

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

◆ ~TessellationOptionsKit()

virtual HPS::Exchange::TessellationOptionsKit::~TessellationOptionsKit ( )
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::TessellationOptionsKit::Empty ( ) const
virtual

Indicates whether this TessellationOptionsKit has any values set on it.

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

Reimplemented from HPS::Object.

◆ Equals()

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

Check if the source TessellationOptionsKit is equivalent to this TessellationOptionsKit.

Parameters
in_kitThe source TessellationOptionsKit to compare to this TessellationOptionsKit.
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 TessellationOptionsKit HPS::Exchange::TessellationOptionsKit::GetDefault ( )
static

Creates an TessellationOptionsKit 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::Tessellation.

Returns
An TessellationOptionsKit 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::TessellationOptionsKit::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::SprocketKit.

Here is the call graph for this function:

◆ operator!=()

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

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

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

◆ operator=() [1/2]

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

Copies the source TessellationOptionsKit into this TessellationOptionsKit.

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

◆ operator=() [2/2]

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

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

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

◆ operator==()

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

Check if the source TessellationOptionsKit is equivalent to this TessellationOptionsKit.

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

◆ Reset()

◆ Set()

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

Copies the source TessellationOptionsKit into this TessellationOptionsKit.

Parameters
in_kitThe source TessellationOptionsKit to copy.

◆ SetAccuracy()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::SetAccuracy ( 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 TessellationOptionsKit.

◆ SetLevel() [1/2]

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::SetLevel ( 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 TessellationOptionsKit.

◆ SetLevel() [2/2]

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::SetLevel ( 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 TessellationOptionsKit.

◆ SetMaximumEdgeLength()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::SetMaximumEdgeLength ( 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 TessellationOptionsKit.

◆ SetUVPointPreservation()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::SetUVPointPreservation ( 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 TessellationOptionsKit.

◆ Show()

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

Copies this TessellationOptionsKit into the given TessellationOptionsKit.

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

◆ ShowAccuracy()

bool HPS::Exchange::TessellationOptionsKit::ShowAccuracy ( Tessellation::Accuracy out_type,
bool &  out_accurate_normals 
) const

Shows the accuracy setting.

Parameters
out_typeThe type of the 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 an accuracy setting was specified, false otherwise.

◆ ShowLevel()

bool HPS::Exchange::TessellationOptionsKit::ShowLevel ( Tessellation::Type out_type,
Tessellation::Level out_level,
Tessellation::Chord::Limit out_limit_type,
double &  out_limit,
double &  out_angle_tolerance 
) const

Shows the level setting.

Parameters
out_typeThe type of the 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 level setting was specified, false otherwise.

◆ ShowMaximumEdgeLength()

bool HPS::Exchange::TessellationOptionsKit::ShowMaximumEdgeLength ( double &  out_length) const

Shows the maximum edge length setting.

Parameters
out_lengthThe maximum edge length setting.
Returns
true if a maximum edge length setting was specified, false otherwise.

◆ ShowUVPointPreservation()

bool HPS::Exchange::TessellationOptionsKit::ShowUVPointPreservation ( bool &  out_state) const

Shows the UV preservation setting.

Parameters
out_stateWhether to keep parametric points as texture coordinates when generating the tessellation for BRep data.
Returns
true if a UV preservation setting was specified, false otherwise.

◆ Type()

◆ UnsetAccuracy()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::UnsetAccuracy ( )

Removes the accuracy setting.

Returns
A reference to this TessellationOptionsKit.

◆ UnsetEverything()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::UnsetEverything ( )

Removes all settings from this TessellationOptionsKit.

Returns
A reference to this TessellationOptionsKit.

◆ UnsetLevel()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::UnsetLevel ( )

Removes the level setting.

Returns
A reference to this TessellationOptionsKit.

◆ UnsetMaximumEdgeLength()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::UnsetMaximumEdgeLength ( )

Removes the maximum edge length setting.

Returns
A reference to this TessellationOptionsKit.

◆ UnsetUVPointPreservation()

TessellationOptionsKit& HPS::Exchange::TessellationOptionsKit::UnsetUVPointPreservation ( )

Removes the UV preservation setting.

Returns
A reference to this TessellationOptionsKit.

Member Data Documentation

◆ staticType

const HPS::Type HPS::Exchange::TessellationOptionsKit::staticType = HPS::Type::ExchangeTessellationOptionsKit
static

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