HPS::HCA::NetworkImportOptionsKit

class HPS::HCA::NetworkImportOptionsKit : public HPS::Sprocket

The HPS::HCA::NetworkImportOptionsKit class is a user space object. It contains settings controlling what and how Stream Cache data is imported over a network via the HCA Sprocket.

Public Functions

virtual bool Empty() const

Indicates whether this NetworkImportOptionsKit has any values set on it.

Returns

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

bool Equals(NetworkImportOptionsKit const &in_kit) const

Check if the source NetworkImportOptionsKit is equivalent to this NetworkImportOptionsKit.

Parameters

in_kit – The source NetworkImportOptionsKit to compare to this NetworkImportOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

NetworkImportOptionsKit()

The default constructor creates an empty NetworkImportOptionsKit object.

NetworkImportOptionsKit(NetworkImportOptionsKit &&in_that)

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

Parameters

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

NetworkImportOptionsKit(NetworkImportOptionsKit const &in_kit)

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

Parameters

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

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

Parameters

in_kit – The source NetworkImportOptionsKit to compare to this NetworkImportOptionsKit.

Returns

true if the objects are not equivalent, false otherwise.

NetworkImportOptionsKit &operator=(NetworkImportOptionsKit &&in_that)

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

Parameters

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

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &operator=(NetworkImportOptionsKit const &in_kit)

Copies the source NetworkImportOptionsKit into this NetworkImportOptionsKit.

Parameters

in_kit – The source NetworkImportOptionsKit to copy.

Returns

A reference to this NetworkImportOptionsKit.

bool operator==(NetworkImportOptionsKit const &in_kit) const

Check if the source NetworkImportOptionsKit is equivalent to this NetworkImportOptionsKit.

Parameters

in_kit – The source NetworkImportOptionsKit to compare to this NetworkImportOptionsKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(NetworkImportOptionsKit const &in_kit)

Copies the source NetworkImportOptionsKit into this NetworkImportOptionsKit.

Parameters

in_kit – The source NetworkImportOptionsKit to copy.

NetworkImportOptionsKit &SetEjectedGeometryBoundingPreviews(bool ejected_geometry_bounding_previews)

Whether to display a bounding mesh to replace geometry that was ejected because of the memory limit being hit. Additionally this option will only be honored if a memory limit is set.

Parameters

ejected_geometry_bounding_previews – Whether ejected geometry should be replaced with boundings.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &SetJavascriptPath(HPS::UTF8 const &javascript_path)

Sets the path to hc_access.js which will be used during the import. Setting a Javascript Path is required for the import to succeed. The hc_access.js file is provided with HOOPS Visualize.

Parameters

javascript_path – Path of the javascript file to use.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &SetLimitMiB(uint32_t limit_MiB)

Sets the memory amount to devote to geometry data, specified in Megabytes. Passing a value of zero to this function is equivalent to calling UnsetLimitMib() Reaching the memory limit will cause some geometry to be ejected from the scene so that more can stream in.

Parameters

limit_MiBMemory in Megabytes to use for geometry data.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &SetModelBoundingPreviews(bool model_bounding_previews)

Whether to load and display previews of the model bounding when streaming starts. As actual geometry starts streaming in, it will replace its bounding.

Parameters

model_bounding_previews – Whether model boundings will be streamed.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &SetNetworkPath(HPS::UTF8 const &network_path)

Sets the URL that will be used to connect to the Communicator server. The Network Path is required when importing a file over the network.

Parameters

network_path – URL to use.

Returns

A reference to this ImportOptionsKit.

NetworkImportOptionsKit &SetTarget(HPS::Model const &in_target)

Sets a Model to be used as part of the import. Geometry will be imported in the model Segment, and definitions will be added to the Portfolio associated with the Model provided. Setting a target is required for the import to succeed.

Parameters

in_modelModel to use.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &SetView(HPS::View const &in_view)

Sets a View to be used as part of the import. Setting a View is required for the import to succeed.

Parameters

in_viewView to use for camera tracking.

Returns

A reference to this NetworkImportOptionsKit.

void Show(NetworkImportOptionsKit &out_kit) const

Copies this NetworkImportOptionsKit into the given NetworkImportOptionsKit.

Parameters

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

bool ShowEjectedGeometryBoundingPreviews(bool &out_ejected_geometry_bounding_previews) const

Shows the ejected bounding previews import setting.

Parameters

out_ejected_geometry_bounding_previews – Whether ejected geometry should be replaced with a visualization of its boundings.

Returns

Returns false if an ejected bounding preview setting was not specified false otherwise.

bool ShowJavascriptPath(HPS::UTF8 &out_javascript_path) const

Shows the path that will be used to find hc_access.js during import.

Parameters

out_javascript_path – The path used to reach hc_access.js.

Returns

Returns false if a javascript path setting was not specified, false otherwise.

bool ShowLimitMiB(uint32_t &out_limit_MiB) const

Shows the memory limit import setting.

Parameters

out_limit_MiB – The amount of memory, specified in Megabytes, to use for geometry data.

Returns

Returns false if a memory limit setting was not specified, false otherwise.

bool ShowModelBoundingPreviews(bool &out_model_bounding_previews) const

Shows the model bounding preview import setting.

Parameters

out_model_bounding_previews – Whether boundings should be visualized while waiting for geometry to stream in.

Returns

Returns false if a model bounding preview setting was not specified, false otherwise.

bool ShowNetworkPath(HPS::UTF8 &out_network_path) const

Shows the network path import setting.

Parameters

out_network_path – The network path to use during the import.

Returns

Returns false if a network path setting was not specified, false otherwise.

bool ShowTarget(HPS::Model &out_model) const

Shows the target import setting.

Parameters

out_modelModel to use to implicitly set Segment, Library and Portfolio into which the data will be imported.

Returns

Returns false if a target setting was not specified, false otherwise.

bool ShowView(HPS::View &out_view) const

Shows the view import setting.

Parameters

out_viewView to use.

Returns

Returns false if a view setting was not specified, false otherwise.

NetworkImportOptionsKit &UnsetEjectedGeometryBoundingPreviews()

Removes ejected bounding previews setting import setting.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetEverything()

Removes all settings from this NetworkImportOptionsKit.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetJavascriptPath()

Removes javascript path import setting.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetLimitMiB()

Removes the geometry data memory limit import setting.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetModelBoundingPreviews()

Removes model bounding previews setting import setting.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetNetworkPath()

Removes network path import setting.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetTarget()

Removes the target import setting.

Returns

A reference to this NetworkImportOptionsKit.

NetworkImportOptionsKit &UnsetView()

Removes the view import setting.

Returns

A reference to this NetworkImportOptionsKit.

virtual ~NetworkImportOptionsKit()

Public Static Functions

static NetworkImportOptionsKit GetDefault()

Creates an NetworkImportOptionsKit 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::Import.

Returns

An NetworkImportOptionsKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::HCANetworkImportOptionsKit