STL

class HPS::STL

The STL class contains objects and enumerations used for importing STL files.

class File

The File class provides functions to import and export STL files.

Public Static Functions

static ImportNotifier Import(char const *in_file_name, ImportOptionsKit const &in_options)

Performs an asynchronous import of the specified STL file with the provided options. May throw an IOException prior to starting the asynchronous import.

Parameters
  • in_file_name – Name of STL file to import.

  • in_options – Options controlling the import of the STL file (e.g., segment to import into).

Returns

An ImportNotfier object that can be used to query the import progress and status.

class ImportNotifier : public HPS::IONotifier

The ImportNotifier class is a smart-pointer that is associated with an asynchronous file import. It is used to interact with an ongoing import or get the results from a completed import.

Public Functions

void Assign(ImportNotifier const &in_that)

Associate this ImportNotifier with the same file import as the source ImportNotifier.

Parameters

in_that – The source ImportNotifier for the assignment.

ImportResultsKit GetResults() const

Get the ImportResultsKit for the file import. Throws an IOException if the import is not complete or was not successful.

Returns

The ImportResultsKit for a successful file import.

ImportNotifier()

The default constructor creates an ImportNotifier object which is not associated with any file import.

ImportNotifier(ImportNotifier &&in_that)

The move constructor creates an ImportNotifier by transferring the underlying impl of the rvalue reference to this ImportNotifier thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to an ImportNotifier to take the impl from.

ImportNotifier(ImportNotifier const &in_that)

The copy constructor creates a new ImportNotifier object that is associated with the same file import as the source ImportNotifier.

Parameters

in_that – The source ImportNotifier to copy.

ImportNotifier(IONotifier const &in_that)

The conversion constructor creates a new derived ImportNotifier object from a base IONotifier object. The copy will only be successful if the source notifier is really an upcast of this notifier type. Otherwise the copy will fail and the resulting ImportNotifier will be invalid.

Parameters

in_that – The source IONotifier 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.

ImportNotifier &operator=(ImportNotifier &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this ImportNotifier thereby avoiding a copy.

Parameters

in_that – An rvalue reference to an ImportNotifier to take the impl from.

Returns

A reference to this ImportNotfier.

ImportNotifier &operator=(ImportNotifier const &in_that)

Associate this ImportNotifier with the same file import as the source ImportNotifier.

Parameters

in_that – The source ImportNotifier for the assignment.

Returns

A reference to this ImportNotifier.

virtual ~ImportNotifier()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::STLImportNotifier
class ImportOptionsKit : public HPS::Kit

The ImportOptionsKit class contains any settings controlling the import of STL files.

Public Functions

virtual bool Empty() const

Indicates whether this ImportOptionsKit has any values set on it.

Returns

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

bool Equals(ImportOptionsKit const &in_kit) const

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to compare to this ImportOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

ImportOptionsKit()

The default constructor creates an empty ImportOptionsKit object.

ImportOptionsKit(ImportOptionsKit &&in_that)

The move constructor creates an ImportOptionsKit by transferring the underlying impl of the rvalue reference to this ImportOptionsKit thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to an ImportOptionsKit to take the impl from.

ImportOptionsKit(ImportOptionsKit const &in_kit)

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

Parameters

in_kit – The source ImportOptionsKit 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!=(ImportOptionsKit const &in_kit) const

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

Parameters

in_kit – The source ImportOptionsKit to compare to this ImportOptionsKit.

Returns

true if the objects are not equivalent, false otherwise.

ImportOptionsKit &operator=(ImportOptionsKit &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this ImportOptionsKit thereby avoiding a copy.

Parameters

in_that – An rvalue reference to an ImportOptionsKit to take the impl from.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &operator=(ImportOptionsKit const &in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to copy.

Returns

A reference to this ImportOptionsKit.

bool operator==(ImportOptionsKit const &in_kit) const

Check if the source ImportOptionsKit is equivalent to this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to compare to this ImportOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(ImportOptionsKit const &in_kit)

Copies the source ImportOptionsKit into this ImportOptionsKit.

Parameters

in_kit – The source ImportOptionsKit to copy.

ImportOptionsKit &SetOptimization(bool in_state, ShellOptimizationOptionsKit const &in_optimization_kit)

Sets the options for the optimization performed on the shells created as a result of this import. Turning off optimization generally results in slightly faster load times and better visual fidelity, but has the downside of impacting performance.

Turning optimization on increases the load time at the expense of visual fidelity but increases performance, based on the options chosen. The tolerances set as part of the optimization kit are particularly responsible for downgrading the visual fidelity. Supplying an empty optimization kit will disable optimization.

Parameters
  • in_state – Whether the optimization should be enabled.

  • in_optimization_kit – The optimization options for this import

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &SetOptimization(ShellOptimizationOptionsKit const &in_optimization_kit)

Sets the options for the optimization performed on the shells created as a result of this import. Turning off optimization generally results in slightly faster load times and better visual fidelity, but has the downside of impacting performance.

Turning optimization on increases the load time at the expense of visual fidelity but increases performance, based on the options chosen. The tolerances set as part of the optimization kit are particularly responsible for downgrading the visual fidelity. Supplying an empty optimization kit will disable optimization.

Parameters

in_optimization_kit – The optimization options for this import

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &SetSegment(SegmentKey const &in_segment)

Sets the root segment where the STL data will be imported into. If no segment is specified, a root segment will be created for this purpose during import.

Parameters

in_segment – Segment the STL data will be imported into.

Returns

A reference to this ImportOptionsKit.

void Show(ImportOptionsKit &out_kit) const

Copies this ImportOptionsKit into the given ImportOptionsKit.

Parameters

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

bool ShowOptimization(bool &out_state, ShellOptimizationOptionsKit &out_optimization_options) const

Shows the optimization options for this import

Parameters
  • out_state – Whether optimization is enabled.

  • out_optimization_options – Optimization options for this import.

Returns

true if optimization options were specified, false otherwise.

bool ShowSegment(SegmentKey &out_segment) const

Shows the root segment where the STL data will be imported into.

Parameters

out_segment – Segment the STL data will be imported into.

Returns

true if a root segment was specified, false otherwise.

ImportOptionsKit &UnsetEverything()

Removes all settings from this ImportOptionsKit.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetOptimization()

Removes the optimization options for this import

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetSegment()

Removes the root segment specifying where the STL data will be imported into.

Returns

A reference to this ImportOptionsKit.

virtual ~ImportOptionsKit()

Public Static Functions

static ImportOptionsKit GetDefault()

Creates an ImportOptionsKit 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.

Returns

An ImportOptionsKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::STLImportOptionsKit
class ImportResultsKit : public HPS::Kit

The ImportResultsKit class contains the results of a successful STL import.

Public Functions

virtual bool Empty() const

Indicates whether this ImportResultsKit has any values set on it.

Returns

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

bool Equals(ImportResultsKit const &in_kit) const

Check if the source ImportResultsKit is equivalent to this ImportResultsKit.

Parameters

in_kit – The source ImportResultsKit to compare to this ImportResultsKit.

Returns

true if the objects are equivalent, false otherwise.

ImportResultsKit()

The default constructor creates an empty ImportResultsKit object.

ImportResultsKit(ImportResultsKit &&in_that)

The move constructor creates an ImportResultsKit by transferring the underlying impl of the rvalue reference to this ImportResultsKit thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to an ImportResultsKit to take the impl from.

ImportResultsKit(ImportResultsKit const &in_kit)

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

Parameters

in_kit – The source ImportResultsKit 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!=(ImportResultsKit const &in_kit) const

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

Parameters

in_kit – The source ImportResultsKit to compare to this ImportResultsKit.

Returns

true if the objects are not equivalent, false otherwise.

ImportResultsKit &operator=(ImportResultsKit &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this ImportResultsKit thereby avoiding a copy.

Parameters

in_that – An rvalue reference to an ImportResultsKit to take the impl from.

Returns

A reference to this ImportResultsKit.

ImportResultsKit &operator=(ImportResultsKit const &in_kit)

Copies the source ImportResultsKit into this ImportResultsKit.

Parameters

in_kit – The source ImportResultsKit to copy.

Returns

A reference to this ImportResultsKit.

bool operator==(ImportResultsKit const &in_kit) const

Check if the source ImportResultsKit is equivalent to this ImportResultsKit.

Parameters

in_kit – The source ImportResultsKit to compare to this ImportResultsKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(ImportResultsKit const &in_kit)

Copies the source ImportResultsKit into this ImportResultsKit.

Parameters

in_kit – The source ImportResultsKit to copy.

ImportResultsKit &SetSegment(SegmentKey const &in_segment)

Sets the root segment which the OBJ data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Parameters

in_segment – Segment the OBJ data was imported into.

Returns

A reference to this ImportResultsKit.

void Show(ImportResultsKit &out_kit) const

Copies this ImportResultsKit into the given ImportResultsKit.

Parameters

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

bool ShowSegment(SegmentKey &out_segment) const

Shows the root segment which the OBJ data was imported into. This was either the root segment specified by the user in the ImportOptionsKit passed to OBJ::File::Import, or the root segment that was created for this purpose during import.

Parameters

out_segment – Segment the OBJ data was imported into.

Returns

true if a root segment was specified, false otherwise.

ImportResultsKit &UnsetEverything()

Removes all settings from this ImportResultsKit.

Returns

A reference to this ImportResultsKit.

ImportResultsKit &UnsetSegment()

Removes the root segment which the OBJ data was imported into. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Returns

A reference to this ImportResultsKit.

virtual ~ImportResultsKit()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::STLImportResultsKit