HPS::Exchange::ExportSTLOptionsKit

class HPS::Exchange::ExportSTLOptionsKit : public HPS::SprocketKit

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.

Public Functions

virtual bool Empty() const

Indicates whether this ExportSTLOptionsKit has any values set on it.

Returns

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

bool Equals(ExportSTLOptionsKit const &in_kit) const

Check if the source ExportSTLOptionsKit is equivalent to this ExportSTLOptionsKit.

Parameters

in_kit – The source ExportSTLOptionsKit to compare to this ExportSTLOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

ExportSTLOptionsKit()

The default constructor creates an empty ExportSTLOptionsKit object.

ExportSTLOptionsKit(ExportSTLOptionsKit &&in_that)

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

Parameters

in_that – An rvalue reference to an ExportSTLOptionsKit to take the underlying object from.

ExportSTLOptionsKit(ExportSTLOptionsKit const &in_kit)

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

Parameters

in_kit – The source ExportSTLOptionsKit to copy.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

bool operator!=(ExportSTLOptionsKit const &in_kit) const

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

Parameters

in_kit – The source ExportSTLOptionsKit to compare to this ExportSTLOptionsKit.

Returns

true if the objects are not equivalent, false otherwise.

ExportSTLOptionsKit &operator=(ExportSTLOptionsKit &&in_that)

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

Parameters

in_that – An rvalue reference to an ExportSTLOptionsKit to take the underlying object from.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &operator=(ExportSTLOptionsKit const &in_kit)

Copies the source ExportSTLOptionsKit into this ExportSTLOptionsKit.

Parameters

in_kit – The source ExportSTLOptionsKit to copy.

Returns

A reference to this ExportSTLOptionsKit.

bool operator==(ExportSTLOptionsKit const &in_kit) const

Check if the source ExportSTLOptionsKit is equivalent to this ExportSTLOptionsKit.

Parameters

in_kit – The source ExportSTLOptionsKit to compare to this ExportSTLOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(ExportSTLOptionsKit const &in_kit)

Copies the source ExportSTLOptionsKit into this ExportSTLOptionsKit.

Parameters

in_kit – The source ExportSTLOptionsKit to copy.

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.

See

Default value

Parameters

in_state – Whether to write STL data in binary form.

Returns

A reference to this ExportSTLOptionsKit.

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.

See

Default value

Parameters

in_state – Whether to keep the current tessellation.

Returns

A reference to this ExportSTLOptionsKit.

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.

See

Default value

Parameters

in_length – The maximum length of triangle edges in the tessellation generated for BRep data. The value must be non-negative.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &SetTessellationAccuracy(Tessellation::Accuracy in_type)

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

See

Default value

Parameters

in_type – The accuracy to use for tessellation generation.

Returns

A reference to this ExportSTLOptionsKit.

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_type – The type of the chord limit to be specified.

  • in_limit – Either 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_tolerance – The 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.

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.

See

Default value

Parameters

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

Returns

A reference to this ExportSTLOptionsKit.

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.

See

Default value

Parameters

in_units – The units to associate with the export. Passing Units::Unknown will preserve the original units.

Returns

A reference to this ExportSTLOptionsKit.

void Show(ExportSTLOptionsKit &out_kit) const

Copies this ExportSTLOptionsKit into the given ExportSTLOptionsKit.

Parameters

out_kit – The ExportSTLOptionsKit to populate with the contents of this ExportSTLOptionsKit.

bool ShowBinary(bool &out_state) const

Shows the binary export setting.

Parameters

out_state – Whether to write STL data in binary form.

Returns

true if a binary export setting was specified, false otherwise.

bool ShowCurrentTessellationRetention(bool &out_state) const

Shows the current tessellation retention setting.

Parameters

out_state – Whether to keep the current tessellation.

Returns

true if a current tessellation retention setting was specified, false otherwise.

bool ShowMaximumEdgeLength(double &out_length) const

Shows the tessellation maximum edge length setting.

Parameters

out_length – The tessellation maximum edge length setting.

Returns

true if a tessellation maximum edge length setting was specified, false otherwise.

bool ShowTessellationAccuracy(Tessellation::Accuracy &out_type) const

Shows the tessellation accuracy setting.

Parameters

out_type – The type of the tessellation accuracy which was specified.

Returns

true if a tessellation accuracy setting was specified, false otherwise.

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.

Parameters
  • out_type – The type of the tessellation level setting which was specified.

  • out_level – The 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_type – The type of chord limit which was specified. This is only valid if out_type is Tessellation::Type::Custom.

  • out_limit – The 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_tolerance – The 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 ShowUnits(Units &out_units) const

Shows the binary export setting.

Parameters

out_units – The units that will be associated with this export.

Returns

true if a units export setting was specified, false otherwise.

ExportSTLOptionsKit &UnsetBinary()

Removes the binary export setting.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &UnsetCurrentTessellationRetention()

Removes the current tessellation retention setting.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &UnsetEverything()

Removes all settings from this ExportSTLOptionsKit.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &UnsetMaximumEdgeLength()

Removes the tessellation maximum edge length setting.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &UnsetTessellationAccuracy()

Removes the tessellation accuracy setting.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &UnsetTessellationLevel()

Removes the tessellation level setting.

Returns

A reference to this ExportSTLOptionsKit.

ExportSTLOptionsKit &UnsetUnits()

Removes the units export setting.

Returns

A reference to this ExportSTLOptionsKit.

virtual ~ExportSTLOptionsKit()

Public Static Functions

static ExportSTLOptionsKit GetDefault()

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.

Public Static Attributes

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