SegmentOptimizationOptionsKit

class SegmentOptimizationOptionsKit : public HPS::Kit

Configuration options kit for controlling HPS::Segment::Optimize behavior.

Public Functions

void Consume(SegmentOptimizationOptionsKit &in_kit)

Copies the source SegmentOptimizationOptionsKit into this SegmentOptimizationOptionsKit and resets the source kit.

Parameters:in_kit – The source SegmentOptimizationOptionsKit to consume.
virtual bool Empty() const

Indicates whether this SegmentOptimizationOptionsKit has any values set on it.

Returns:true if no values are set on this SegmentOptimizationOptionsKit, false otherwise.
bool Equals(SegmentOptimizationOptionsKit const &in_kit) const

Check if the source SegmentOptimizationOptionsKit is equivalent to this SegmentOptimizationOptionsKit.

Parameters:in_kit – The source SegmentOptimizationOptionsKit to compare to this SegmentOptimizationOptionsKit.
Returns:true if the objects are equivalent, false otherwise.
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!=(SegmentOptimizationOptionsKit const &in_kit) const

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

Parameters:in_kit – The source SegmentOptimizationOptionsKit to compare to this SegmentOptimizationOptionsKit.
Returns:true if the objects are not equivalent, false otherwise.
SegmentOptimizationOptionsKit &operator=(SegmentOptimizationOptionsKit &&in_kit)

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

Parameters:in_that – An rvalue reference to a SegmentOptimizationOptionsKit to take the impl from.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &operator=(SegmentOptimizationOptionsKit const &in_kit)

Copies the source SegmentOptimizationOptionsKit into this SegmentOptimizationOptionsKit.

Parameters:in_kit – The source SegmentOptimizationOptionsKit to copy.
Returns:A reference to this SegmentOptimizationOptionsKit.
bool operator==(SegmentOptimizationOptionsKit const &in_kit) const

Check if the source SegmentOptimizationOptionsKit is equivalent to this SegmentOptimizationOptionsKit.

Parameters:in_kit – The source SegmentOptimizationOptionsKit to compare to this SegmentOptimizationOptionsKit.
Returns:true if the objects are equivalent, false otherwise.
SegmentOptimizationOptionsKit()

The default constructor creates an empty SegmentOptimizationOptionsKit object.

SegmentOptimizationOptionsKit(SegmentOptimizationOptionsKit &&in_kit)

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

Parameters:in_that – An rvalue reference to a SegmentOptimizationOptionsKit to take the impl from.
SegmentOptimizationOptionsKit(SegmentOptimizationOptionsKit const &in_kit)

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

Parameters:in_kit – The source SegmentOptimizationOptionsKit to copy.
void Set(SegmentOptimizationOptionsKit const &in_kit)

Copies the source SegmentOptimizationOptionsKit into this SegmentOptimizationOptionsKit.

Parameters:in_kit – The source SegmentOptimizationOptionsKit to copy.
SegmentOptimizationOptionsKit &SetAttributeDelocalization(bool in_attribute_delocalization)

Controls whether or not local attributes will be pulled out of geometry.

Parameters:in_attribute_delocalization – Denotes whether or not local attributes will be pulled out of geometry.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetExpansion(HPS::SegmentOptimizationOptions::Expansion in_expansion)

Controls whether or not includes or references are expanded.

Parameters:in_expansion – The enum value describing how to handle includes and references.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetMatrix(HPS::SegmentOptimizationOptions::Matrix in_matrix)

Controls whether or not matrices are localized, collapsed, or left as is.

Parameters:in_matrix – The enum value describing how to handle matrices.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetReorganization(HPS::SegmentOptimizationOptions::Reorganization in_reorganization)

Controls how the tree is reorganized.

Parameters:in_reorganization – The enum value describing how to reorganize the tree.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetScope(HPS::SegmentOptimizationOptions::Scope in_scope)

Controls the traversal scope of the optimization operation.

Parameters:in_scope – The enum value describing the traversal scope of the optimization.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetShellInstancing(bool in_shell_instancing)

Controls whether or not duplicate shells are instanced.

Parameters:in_shell_instancing – Denotes whether or not shells will be instanced.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetShellMerging(bool in_shell_merging)

Controls whether or not distinct shells are merged into consolidated shells.

Parameters:in_shell_merging – Denotes whether or not shells will be merged.
Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &SetUserData(HPS::SegmentOptimizationOptions::UserData in_user_data)

Controls whether or not user data is discarded, preserved, merged, localized, or left as is.

Parameters:in_user_data – The enum value describing how to handle user data.
Returns:A reference to this SegmentOptimizationOptionsKit.
void Show(SegmentOptimizationOptionsKit &out_kit) const

Copies this SegmentOptimizationOptionsKit into the given SegmentOptimizationOptionsKit.

Parameters:out_kit – The SegmentOptimizationOptionsKit to populate with the contents of this SegmentOptimizationOptionsKit.
bool ShowAttributeDelocalization(bool &out_attribute_delocalization) const

Shows the Attribute Delocalization setting.

Parameters:out_attribute_delocalization
Returns:true if the setting is valid, false otherwise.
bool ShowExpansion(HPS::SegmentOptimizationOptions::Expansion &out_expansion) const

Shows the Expansion setting.

Parameters:out_expansion
Returns:true if the setting is valid, false otherwise.
bool ShowMatrix(HPS::SegmentOptimizationOptions::Matrix &out_matrix) const

Shows the Matrix setting.

Parameters:out_matrix
Returns:true if the setting is valid, false otherwise.
bool ShowReorganization(HPS::SegmentOptimizationOptions::Reorganization &out_reorganization) const

Shows the Reorganization setting.

Parameters:out_reorganization
Returns:true if the setting is valid, false otherwise.
bool ShowScope(HPS::SegmentOptimizationOptions::Scope &out_scope) const

Shows the Scope setting.

Parameters:out_scope
Returns:true if the setting is valid, false otherwise.
bool ShowShellInstancing(bool &out_shell_instancing) const

Shows the Shell Instancing setting.

Parameters:out_shell_instancing
Returns:true if the setting is valid, false otherwise.
bool ShowShellMerging(bool &out_shell_merging) const

Shows the Shell Merging setting.

Parameters:out_shell_merging
Returns:true if the setting is valid, false otherwise.
bool ShowUserData(HPS::SegmentOptimizationOptions::UserData &out_user_data) const

Shows the User Data setting.

Parameters:out_user_data
Returns:true if the setting is valid, false otherwise.
SegmentOptimizationOptionsKit &UnsetAttributeDelocalization()

Unsets the ttributeDelocalization value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetEverything()

Removes all settings from this object.

Returns:A reference to this object.
SegmentOptimizationOptionsKit &UnsetExpansion()

Unsets the Expansion value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetMatrix()

Unsets the Matrix value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetReorganization()

Unsets the Reorganization value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetScope()

Unsets the Scope value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetShellInstancing()

Unsets the ShellInstancing value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetShellMerging()

Unsets the ShellMerging value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
SegmentOptimizationOptionsKit &UnsetUserData()

Unsets the UserData value on this kit.

Returns:A reference to this SegmentOptimizationOptionsKit.
virtual ~SegmentOptimizationOptionsKit()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::SegmentOptimizationOptionsKit