OBJ

class HPS::OBJ

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

class ExportNotifier : public HPS::IONotifier

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

Public Functions

void Assign(ExportNotifier const &in_that)

Associate this ExportNotifier with the same file export as the source ExportNotifier.

Parameters

in_that – The source ExportNotifier for the assignment.

ExportNotifier()

The default constructor creates an ExportNotifier object which is not associated with any file export.

ExportNotifier(ExportNotifier &&in_that)

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

Parameters

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

ExportNotifier(ExportNotifier const &in_that)

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

Parameters

in_that – The source ExportNotifier to copy.

ExportNotifier(IONotifier const &in_that)

The conversion constructor creates a new derived ExportNotifier 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 ExportNotifier 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.

ExportNotifier &operator=(ExportNotifier &&in_that)

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

Parameters

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

Returns

A reference to this ExportNotifier.

ExportNotifier &operator=(ExportNotifier const &in_that)

Associate this ExportNotifier with the same file export as the source ExportNotifier.

Parameters

in_that – The source ExportNotifier for the assignment.

Returns

A reference to this ExportNotifier.

virtual ~ExportNotifier()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::OBJExportNotifier
class File

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

Public Static Functions

static ExportNotifier Export(char const *in_file_name, HPS::KeyPath const &in_key_path_to_export)

Performs an asynchronous export of the specified key path to an OBJ file. May throw IOException in case of errors.

Parameters
  • in_file_name – Name of OBJ file to export.

  • in_key_path_to_exportKeyPath from the segment where to start the export to the WindowKey. When using Sprocket, if you wish to export the Model, construct a SprocketPath and pass the KeyPath obtained from its GetKeyPath() method.

Returns

An ExportNotfier object that can be used to query the export progress and status.

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

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

Parameters
  • in_file_name – Name of OBJ file to import.

  • in_options – Options controlling the import of the OBJ 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::OBJImportNotifier
class ImportOptionsKit : public HPS::Kit

The ImportOptionsKit class contains any settings controlling the import of OBJ 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 &SetHandedness(Drawing::Handedness const &in_handedness)

Sets the handedness used to import geometry by the OBJ importer. It should match the World Handedness for best results. Defaults to Right if not set.

Parameters

in_handedness – The handedness used to import geometry.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &SetPortfolio(PortfolioKey const &in_portfolio)

Sets the portfolio which will be used when the importing images and textures. If no segment is specified, a portfolio will be created for this purpose during import.

Parameters

in_portfolio – Portfolio that will be used when importing images and textures

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &SetSegment(SegmentKey const &in_segment)

Sets the root segment where the OBJ 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 OBJ 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 ShowHandedness(Drawing::Handedness &out_handedness) const

Shows the handedness used to import geometry.

Parameters

out_handedness – Handedness used to import geometry.

Returns

true if a handedness was specified, false otherwise.

bool ShowPortfolio(PortfolioKey &out_portfolio) const

Shows the portfolio which will be used when importing images and textures.

Parameters

out_portfolio – Portfolio that will be used when importing images and textures.

Returns

true if a portfolio was specified, false otherwise.

bool ShowSegment(SegmentKey &out_segment) const

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

Parameters

out_segment – Segment the OBJ 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 &UnsetHandedness()

Removes handedness information from this kit.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetPortfolio()

Removes the portfolio which will be used when importing images and textures.

Returns

A reference to this ImportOptionsKit.

ImportOptionsKit &UnsetSegment()

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

Returns

A reference to this ImportOptionsKit.

virtual ~ImportOptionsKit()

Public Static Attributes

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

The ImportResultsKit class contains the results of a successful OBJ 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 &SetHandedness(Drawing::Handedness const &in_handedness)

Sets the handedness used when importing geometry. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Parameters

in_handedness – Handedness used to import geometry.

Returns

A reference to this ImportResultsKit.

ImportResultsKit &SetPortfolio(PortfolioKey const &in_portfolio)

Sets the portfolio which was used when the import file read in images and textures. This is really only used when generating an ImportResultsKit which is being returned to a user following an OBJ import.

Parameters

in_portfolio – Portfolio that was used when the file imported images and textures.

Returns

A reference to this ImportResultsKit.

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 ShowHandedness(Drawing::Handedness &out_handedness) const

Shows handedness used to import geometry. 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_handedness – Segment the OBJ data was imported into.

Returns

true if a handedness was specified, false otherwise.

bool ShowPortfolio(PortfolioKey &out_portfolio) const

Shows the portfolio which was used when the import file read in images and textures. This was either the portfolio specified by the user in the ImportOptionsKit passed to OBJ::File::Import, or the portfolio that was created for this purpose during import.

Parameters

in_portfolio – Portfolio that was used when the import file read in images and textures.

Returns

true if portfolio was specified, false otherwise.

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 &UnsetHandedness()

Removes the handedness used to import geometry. 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.

ImportResultsKit &UnsetPortfolio()

Removes the portfolio which was used when the import file imported images and textures. 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.

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::OBJImportResultsKit