#include <hps.h>

Inheritance diagram for HPS::KeyPath:
HPS::Object

Public Types

using const_iterator = HPS::KeyArray::const_iterator
 
using const_reverse_iterator = HPS::KeyArray::reverse_iterator
 
using iterator = HPS::KeyArray::iterator
 
using reverse_iterator = HPS::KeyArray::reverse_iterator
 

Public Member Functions

KeyPathAppend (Key const &in_key)
 
KeyPathAppend (KeyPath const &in_key_path)
 
KeyPathAppend (KeyArray const &in_key_array)
 
KeyAt (size_t in_index)
 
Key const & At (size_t in_index) const
 
KeyBack ()
 
Key const & Back () const
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
bool ComputeExtent (Rectangle &out_extent) const
 
bool ComputeExtent (HPS::VisibilityKit const &in_vis, Rectangle &out_extent) const
 
bool ComputeExtent (HPS::Extent::ClipRegion in_clip, Rectangle &out_extent) const
 
bool ComputeExtent (HPS::VisibilityKit const &in_vis, HPS::Extent::ClipRegion in_clip, Rectangle &out_extent) const
 
bool ComputeTextExtent (char const *in_text, float &out_xfrac, float &out_yfrac) const
 
bool ComputeTransform (Coordinate::Space in_space, Coordinate::Space in_output_space, HPS::MatrixKit &out_matrix) const
 
bool ConvertCoordinate (Coordinate::Space in_space, Point const &in_point, Coordinate::Space in_output_space, Point &out_point) const
 
bool ConvertCoordinate (Coordinate::Space in_space, PointArray const &in_points, Coordinate::Space in_output_space, PointArray &out_points) const
 
virtual bool Empty () const
 
iterator end ()
 
const_iterator end () const
 
bool Equals (KeyPath const &in_that) const
 
KeyFront ()
 
Key const & Front () const
 
size_t GatherCutGeometry (SegmentKey const &in_destination, CutGeometryGatheringOptionsKit const &in_options) const
 
void Insert (size_t in_index, Key const &in_item)
 
 KeyPath ()
 
 KeyPath (KeyArray const &in_path)
 
 KeyPath (size_t in_path_count, Key const in_path [])
 
 KeyPath (KeyPath const &in_that)
 
 KeyPath (KeyPath &&in_that)
 
HPS::Type ObjectType () const
 
bool operator!= (KeyPath const &in_that) const
 
KeyPathoperator+= (Key const &in_key)
 
KeyPathoperator+= (KeyPath const &in_key_path)
 
KeyPathoperator+= (KeyArray const &in_key_array)
 
KeyPathoperator= (KeyPath &&in_that)
 
KeyPathoperator= (KeyPath const &in_that)
 
KeyPathoperator= (KeyArray const &in_path)
 
bool operator== (KeyPath const &in_that) const
 
Key PopBack ()
 
Key PopFront ()
 
KeyPathPushBack (Key const &in_key)
 
KeyPathPushBack (KeyPath const &in_key_path)
 
KeyPathPushBack (KeyArray const &in_key_array)
 
KeyPathPushFront (Key const &in_key)
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
void Remove (Key const &in_item)
 
void Remove (size_t in_index)
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
KeyPath Reverse () const
 
void Set (KeyPath const &in_that)
 
KeyPathSetKeys (KeyArray const &in_keys)
 
KeyPathSetKeys (size_t in_key_count, Key const in_keys [])
 
bool ShowEffectiveGlyphDefinition (char const *in_name, GlyphDefinition &out_def) const
 
bool ShowEffectiveImageDefinition (char const *in_name, ImageDefinition &out_def) const
 
bool ShowEffectiveLinePatternDefinition (char const *in_name, LinePatternDefinition &out_def) const
 
bool ShowEffectiveMaterialPaletteDefinition (char const *in_name, MaterialPaletteDefinition &out_def) const
 
bool ShowEffectiveShaderDefinition (char const *in_name, ShaderDefinition &out_def) const
 
bool ShowEffectiveTextureDefinition (char const *in_name, TextureDefinition &out_def) const
 
bool ShowKeys (KeyArray &out_keys) const
 
bool ShowNetAttributeLock (AttributeLockKit &out_kit) const
 
bool ShowNetBounding (BoundingKit &out_kit) const
 
bool ShowNetCamera (CameraKit &out_kit) const
 
bool ShowNetClipRegions (PointArrayArrayArray &out_loops_array, ClipSpaceArray &out_spaces, ClipOperationArray &out_operations, MatrixKitArray &out_matrices) const
 
bool ShowNetColorInterpolation (ColorInterpolationKit &out_kit) const
 
bool ShowNetConditions (UTF8Array &out_conditions) const
 
bool ShowNetContourLine (ContourLineKit &out_kit) const
 
bool ShowNetCulling (CullingKit &out_kit) const
 
bool ShowNetCurveAttribute (CurveAttributeKit &out_kit) const
 
bool ShowNetCuttingSectionAttribute (CuttingSectionAttributeKit &out_kit) const
 
bool ShowNetCylinderAttribute (CylinderAttributeKit &out_kit) const
 
bool ShowNetDrawingAttribute (DrawingAttributeKit &out_kit) const
 
bool ShowNetEdgeAttribute (EdgeAttributeKit &out_kit) const
 
bool ShowNetHiddenLineAttribute (HiddenLineAttributeKit &out_kit) const
 
bool ShowNetLightingAttribute (LightingAttributeKit &out_kit) const
 
bool ShowNetLineAttribute (LineAttributeKit &out_kit) const
 
bool ShowNetMarkerAttribute (MarkerAttributeKit &out_kit) const
 
bool ShowNetMaterialMapping (MaterialMappingKit &out_kit) const
 
bool ShowNetMaterialPalette (UTF8 &out_name) const
 
bool ShowNetModellingMatrix (MatrixKit &out_kit) const
 
bool ShowNetNURBSSurfaceAttribute (NURBSSurfaceAttributeKit &out_kit) const
 
bool ShowNetPBRMaterial (PBRMaterialKit &out_kit) const
 
bool ShowNetPerformance (PerformanceKit &out_kit) const
 
bool ShowNetSelectability (SelectabilityKit &out_kit) const
 
bool ShowNetSphereAttribute (SphereAttributeKit &out_kit) const
 
bool ShowNetSubwindow (SubwindowKit &out_kit) const
 
bool ShowNetTextAttribute (TextAttributeKit &out_kit) const
 
bool ShowNetTextureMatrix (MatrixKit &out_kit) const
 
bool ShowNetTransformMask (TransformMaskKit &out_kit) const
 
bool ShowNetTransparency (TransparencyKit &out_kit) const
 
bool ShowNetVisibility (VisibilityKit &out_kit) const
 
bool ShowNetVisualEffects (VisualEffectsKit &out_kit) const
 
size_t Size () const
 
KeyPathUnsetKeys ()
 
virtual ~KeyPath ()
 
- Public Member Functions inherited from HPS::Object
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::KeyPath
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The KeyPath contains an array of keys, organized from leaf to root. It allows the user to perform a number of queries along that path including accumulating net attributes and converting coordinates.

Constructor & Destructor Documentation

◆ KeyPath() [1/5]

HPS::KeyPath::KeyPath ( )

Creates an uninitialized key path that refers to no database objects.

◆ KeyPath() [2/5]

HPS::KeyPath::KeyPath ( KeyArray const &  in_path)

Creates a new KeyPath object based on the supplied path.

Parameters
in_pathAn array of keys arranged from leaf to root.

◆ KeyPath() [3/5]

HPS::KeyPath::KeyPath ( size_t  in_path_count,
Key const  in_path[] 
)

Creates a new KeyPath object based on the supplied path.

Parameters
in_path_countThe number of keys in the array.
in_pathAn array of keys arranged from leaf to root.

◆ KeyPath() [4/5]

HPS::KeyPath::KeyPath ( KeyPath const &  in_that)

Copies in_that into this key path.

◆ KeyPath() [5/5]

HPS::KeyPath::KeyPath ( KeyPath &&  in_that)

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

Parameters
in_thatAn rvalue reference to a KeyPath to take the impl from.

◆ ~KeyPath()

virtual HPS::KeyPath::~KeyPath ( )
virtual

Releases a reference to the database object this object is tied to.

Member Function Documentation

◆ Append() [1/3]

KeyPath& HPS::KeyPath::Append ( Key const &  in_key)

Appends the supplied Key into this object. Same as operator+= function.

Parameters
in_keyThe Key to be appended to this.
Returns
A reference to this object.
Deprecated:
This function exists for compatibility. Use KeyPath::PushBack instead.

◆ Append() [2/3]

KeyPath& HPS::KeyPath::Append ( KeyPath const &  in_key_path)

Appends the supplied key into this object. Same as operator+= function.

Parameters
in_key_pathThe KeyPath to be appended to this.
Returns
A reference to this object.
Deprecated:
This function exists for compatibility. Use KeyPath::PushBack instead.

◆ Append() [3/3]

KeyPath& HPS::KeyPath::Append ( KeyArray const &  in_key_array)

Appends the supplied key into this object. Same as operator+= function.

Parameters
in_key_arrayThe KeyArray to be appended to this.
Returns
A reference to this object.
Deprecated:
This function exists for compatibility. Use KeyPath::PushBack instead.

◆ At() [1/2]

Key& HPS::KeyPath::At ( size_t  in_index)

Access a Key in this KeyPath object. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.

Parameters
in_indexThe index of the Key to access, zero based.
Returns
The Key at position in_index in this key path.

◆ At() [2/2]

Key const& HPS::KeyPath::At ( size_t  in_index) const

Access a Key in this KeyPath object. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.

Parameters
in_indexThe index of the Key to access, zero based.
Returns
The Key at position in_index in this key path.

◆ Back() [1/2]

Key& HPS::KeyPath::Back ( )

Returns the last key of this key path. An HPS::IndexOutOfRangeException exception is thrown if the key path is empty.

Returns
The last key of this key path.

◆ Back() [2/2]

Key const& HPS::KeyPath::Back ( ) const

Returns the last key of this key path. An HPS::IndexOutOfRangeException exception is thrown if the key path is empty.

Returns
The last key of this key path.

◆ begin() [1/2]

iterator HPS::KeyPath::begin ( )

Returns an iterator pointing to the first Key contained in this Key Path

Returns
An iterator pointing to the first Key contained in this Key Path.

◆ begin() [2/2]

const_iterator HPS::KeyPath::begin ( ) const

Returns a constant iterator pointing to the first Key contained in this Key Path

Returns
A constant iterator pointing to the first Key contained in this Key Path.

◆ cbegin()

const_iterator HPS::KeyPath::cbegin ( ) const

Returns a constant iterator pointing to the first Key contained in this Key Path

Returns
A constant iterator pointing to the first Key contained in this Key Path.

◆ cend()

const_iterator HPS::KeyPath::cend ( ) const

Returns a constant iterator pointing to the last Key contained in this Key Path

Returns
A constant iterator pointing to the last Key contained in this Key Path.

◆ ComputeExtent() [1/4]

bool HPS::KeyPath::ComputeExtent ( Rectangle out_extent) const

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Parameters
out_extentThe screen extent of the geometry under this key path.
Returns
true if the operation succeeded, false otherwise.

◆ ComputeExtent() [2/4]

bool HPS::KeyPath::ComputeExtent ( HPS::VisibilityKit const &  in_vis,
Rectangle out_extent 
) const

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Parameters
in_visExplicit visibility settings to acknowledge instead of using the visibilities resolved by this key path.
out_extentThe screen extent of the geometry under this key path.
Returns
true if the operation succeeded, false otherwise.

◆ ComputeExtent() [3/4]

bool HPS::KeyPath::ComputeExtent ( HPS::Extent::ClipRegion  in_clip,
Rectangle out_extent 
) const

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Parameters
in_clipThe setting which indicates whether clip regions should be ignored or included.
out_extentThe screen extent of the geometry under this key path.
Returns
true if the operation succeeded, false otherwise.

◆ ComputeExtent() [4/4]

bool HPS::KeyPath::ComputeExtent ( HPS::VisibilityKit const &  in_vis,
HPS::Extent::ClipRegion  in_clip,
Rectangle out_extent 
) const

Computes a tight 2D extents box around the geometry contained in this key path. A user can use this information to tightly fit a camera to a specified segment or draw a 2D box around the segment. The coordinates are returned to the user in screen space.

Parameters
in_visExplicit visibility settings to acknowledge instead of using the visibilities resolved by this key path.
in_clipThe setting which indicates whether clip regions should be ignored or included.
out_extentThe screen extent of the geometry under this key path.
Returns
true if the operation succeeded, false otherwise.

◆ ComputeTextExtent()

bool HPS::KeyPath::ComputeTextExtent ( char const *  in_text,
float &  out_xfrac,
float &  out_yfrac 
) const

Computes the extents of the specified text string based on the effective text attributes along this key path. If the effective text transform setting is Text::Transform::Transformable, the returned values will be in object space units. For any other effective text transform setting, the returned values will be a fraction of the segment window from 0.0 to 1.0 (or more) along this key path.

Parameters
in_textThe text to measure along this keypath
out_xfracThe width of the text extent
out_yfracThe height of the text extent
Returns
true if the operation succeeded, false otherwise.

◆ ComputeTransform()

bool HPS::KeyPath::ComputeTransform ( Coordinate::Space  in_space,
Coordinate::Space  in_output_space,
HPS::MatrixKit out_matrix 
) const

Computes the matrix which transforms objects from the input space to the output space along this key path.

Parameters
in_spaceThe starting or input coordinate space.
in_output_spaceThe final or output coordinate space.
out_matrixThe matrix which transforms objects from the input space to the output space.
Returns
true if the operation succeeded, false otherwise.

◆ ConvertCoordinate() [1/2]

bool HPS::KeyPath::ConvertCoordinate ( Coordinate::Space  in_space,
Point const &  in_point,
Coordinate::Space  in_output_space,
Point out_point 
) const

Converts a point from one coordinate space to another using the transforms along this key path.

Parameters
in_spaceThe coordinate space of the input point.
in_pointThe input point to convert.
in_output_spaceThe coordinate space to convert the input point into.
out_pointThe output point, after conversion.
Returns
true if the operation succeeded, false otherwise.

◆ ConvertCoordinate() [2/2]

bool HPS::KeyPath::ConvertCoordinate ( Coordinate::Space  in_space,
PointArray const &  in_points,
Coordinate::Space  in_output_space,
PointArray out_points 
) const

Converts a point from one coordinate space to another using the transforms along this key path.

Parameters
in_spaceThe coordinate space of the input point.
in_pointsThe input points to convert.
in_output_spaceThe coordinate space to convert the input point into.
out_pointsThe output points, after conversion.
Returns
true if the operation succeeded, false otherwise.

◆ Empty()

virtual bool HPS::KeyPath::Empty ( ) const
virtual

Returns whether the key path is empty.

Returns
true if the key path is empty, false otherwise.

Reimplemented from HPS::Object.

◆ end() [1/2]

iterator HPS::KeyPath::end ( )

Returns an iterator pointing to the last Key contained in this Key Path

Returns
An iterator pointing to the last Key contained in this Key Path.

◆ end() [2/2]

const_iterator HPS::KeyPath::end ( ) const

Returns a constant iterator pointing to the last Key contained in this Key Path

Returns
A constant iterator pointing to the last Key contained in this Key Path.

◆ Equals()

bool HPS::KeyPath::Equals ( KeyPath const &  in_that) const

Check if the source KeyPath is equivalent to this object.

Parameters
in_thatThe source KeyPath to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ Front() [1/2]

Key& HPS::KeyPath::Front ( )

Returns the first key of this key path. An HPS::IndexOutOfRangeException exception is thrown if the key path is empty.

Returns
The first key of this key path.

◆ Front() [2/2]

Key const& HPS::KeyPath::Front ( ) const

Returns the first key of this key path. An HPS::IndexOutOfRangeException exception is thrown if the key path is empty.

Returns
The first key of this key path.

◆ GatherCutGeometry()

size_t HPS::KeyPath::GatherCutGeometry ( SegmentKey const &  in_destination,
CutGeometryGatheringOptionsKit const &  in_options 
) const

Collects capping geometry generated by cutting planes. Geometry is deposited in the segment you specify. Note: Capping geometry is generated during an update. Until an update is completed, no geometry will be present to gather.

Parameters
in_destinationA segment that the capping geometry will be deposited into.
in_optionsOptions for the gathering operation.
Returns
The number of individual caps created.

◆ Insert()

void HPS::KeyPath::Insert ( size_t  in_index,
Key const &  in_item 
)

Inserts in_item in the key path before the element at position in_index, increasing the size of the key path by one. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.

Parameters
in_indexThe index where in_item will be inserted
in_itemThe key to insert in this key path.

◆ ObjectType()

HPS::Type HPS::KeyPath::ObjectType ( ) const
inlinevirtual

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.

Reimplemented from HPS::Object.

◆ operator!=()

bool HPS::KeyPath::operator!= ( KeyPath const &  in_that) const

Check if the source KeyPath is not equivalent to this object.

Parameters
in_thatThe source KeyPath to compare to this object.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator+=() [1/3]

KeyPath& HPS::KeyPath::operator+= ( Key const &  in_key)

Appends the supplied Key into this object. Same as Append function.

Parameters
in_keyThe key to be appended to this.
Returns
A reference to this object.

◆ operator+=() [2/3]

KeyPath& HPS::KeyPath::operator+= ( KeyPath const &  in_key_path)

Appends the supplied KeyPath into this object. Same as Append function.

Parameters
in_key_pathThe KeyPath to be appended to this.
Returns
A reference to this object.

◆ operator+=() [3/3]

KeyPath& HPS::KeyPath::operator+= ( KeyArray const &  in_key_array)

Appends the supplied KeyArray into this object. Same as Append function.

Parameters
in_key_arrayThe KeyArray to be appended to this.
Returns
A reference to this object.

◆ operator=() [1/3]

KeyPath& HPS::KeyPath::operator= ( KeyPath &&  in_that)

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

Parameters
in_thatAn rvalue reference to a KeyPath to take the impl from.
Returns
A reference to this KeyPath.

◆ operator=() [2/3]

KeyPath& HPS::KeyPath::operator= ( KeyPath const &  in_that)

Copies the supplied path into this object.

Parameters
in_thatThe source of the copy.
Returns
A reference to this object.

◆ operator=() [3/3]

KeyPath& HPS::KeyPath::operator= ( KeyArray const &  in_path)

Copies an array of keys into this object.

Parameters
in_pathThe source array, assumed to be arranged from leaf to root.
Returns
A reference to this object.

◆ operator==()

bool HPS::KeyPath::operator== ( KeyPath const &  in_that) const

Check if the source KeyPath is equivalent to this object.

Parameters
in_thatThe source KeyPath to compare to this object.
Returns
true if the objects are equivalent, false otherwise.

◆ PopBack()

Key HPS::KeyPath::PopBack ( )

Returns the last key of this key path and returns it. An HPS::IndexOutOfRangeException exception is thrown if the key path is empty.

Returns
The last key of this key path.

◆ PopFront()

Key HPS::KeyPath::PopFront ( )

Returns the first key of this key path and returns it. An HPS::IndexOutOfRangeException exception is thrown if the key path is empty.

Returns
The first key of this key path.

◆ PushBack() [1/3]

KeyPath& HPS::KeyPath::PushBack ( Key const &  in_key)

Adds in_key to the end of the key path.

Parameters
in_keyThe key to add to the end of the key path.
Returns
A reference to this object.

◆ PushBack() [2/3]

KeyPath& HPS::KeyPath::PushBack ( KeyPath const &  in_key_path)

Appends the keys contained in the supplied key path at the end of this key path

Parameters
in_key_pathThe KeyPath to be appended to this.
Returns
A reference to this object.

◆ PushBack() [3/3]

KeyPath& HPS::KeyPath::PushBack ( KeyArray const &  in_key_array)

Appends the supplied key into this object. Same as operator+= function.

Parameters
in_key_arrayThe KeyArray to be appended to this.
Returns
A reference to this object.

◆ PushFront()

KeyPath& HPS::KeyPath::PushFront ( Key const &  in_key)

Adds in_key to the front of the key path.

Parameters
in_keyThe key to add to the front of the key path.
Returns
A reference to this object.

◆ Remove() [1/2]

void HPS::KeyPath::Remove ( Key const &  in_item)

Traverses the keys in this key path and removes the first one which matches in_item NOTE: A useful KeyPath should not contain duplicate keys.

Parameters
in_itemThe item to remove from the key path.

◆ Remove() [2/2]

void HPS::KeyPath::Remove ( size_t  in_index)

Removes the the key at position in_index from this key path. An HPS::IndexOutOfRangeException exception is thrown if in_index is out of range.

Parameters
in_indexThe index of the key to remove, zero based.

◆ Reverse()

KeyPath HPS::KeyPath::Reverse ( ) const

Creates and returns a new KeyPath object, with the keys organized in the reverse order.

Returns
A new KeyPath object, containing keys organized in the reverse order.

◆ Set()

void HPS::KeyPath::Set ( KeyPath const &  in_that)

Copies the supplied path into this object.

Parameters
in_thatThe source of the copy.

◆ SetKeys() [1/2]

KeyPath& HPS::KeyPath::SetKeys ( KeyArray const &  in_keys)

Copies an array of keys into this object.

Parameters
in_keysThe source array, assumed to be arranged from leaf to root.
Returns
A reference to this object.

◆ SetKeys() [2/2]

KeyPath& HPS::KeyPath::SetKeys ( size_t  in_key_count,
Key const  in_keys[] 
)

Copies an array of keys into this object.

Parameters
in_key_countthe number of keys in the array.
in_keysThe source array, assumed to arranged from leaf to root.
Returns
A reference to this object.

◆ ShowEffectiveGlyphDefinition()

bool HPS::KeyPath::ShowEffectiveGlyphDefinition ( char const *  in_name,
GlyphDefinition out_def 
) const

Shows the effective glyph definition belonging to the input name along this key path.

Parameters
in_nameUTF8-encoded name of the glyph to find along this key path.
out_defThe effective glyph definition, if any, with the specified name along this key path.
Returns
true if the glyph definition exists along this path, false otherwise.

◆ ShowEffectiveImageDefinition()

bool HPS::KeyPath::ShowEffectiveImageDefinition ( char const *  in_name,
ImageDefinition out_def 
) const

Shows the effective image definition belonging to the input name along this key path.

Parameters
in_nameUTF8-encoded name of the image to find along this key path.
out_defThe effective image definition, if any, with the specified name along this key path.
Returns
true if the image definition exists along this path, false otherwise.

◆ ShowEffectiveLinePatternDefinition()

bool HPS::KeyPath::ShowEffectiveLinePatternDefinition ( char const *  in_name,
LinePatternDefinition out_def 
) const

Shows the effective line pattern definition belonging to the input name along this key path.

Parameters
in_nameUTF8-encoded name of the line pattern to find along this key path.
out_defThe effective material line pattern, if any, with the specified name along this key path.
Returns
true if the line pattern definition exists along this path, false otherwise.

◆ ShowEffectiveMaterialPaletteDefinition()

bool HPS::KeyPath::ShowEffectiveMaterialPaletteDefinition ( char const *  in_name,
MaterialPaletteDefinition out_def 
) const

Shows the effective material palette definition belonging to the input name along this key path.

Parameters
in_nameUTF8-encoded name of the material palette to find along this key path.
out_defThe effective material palette definition, if any, with the specified name along this key path.
Returns
true if the material palette definition exists along this path, false otherwise.

◆ ShowEffectiveShaderDefinition()

bool HPS::KeyPath::ShowEffectiveShaderDefinition ( char const *  in_name,
ShaderDefinition &  out_def 
) const

Shows the effective shader definition belonging to the input name along this key path.

Parameters
in_nameUTF8-encoded name of the shader to find along this key path.
out_defThe effective shader definition, if any, with the specified name along this key path.
Returns
true if the shader definition exists along this path, false otherwise.

◆ ShowEffectiveTextureDefinition()

bool HPS::KeyPath::ShowEffectiveTextureDefinition ( char const *  in_name,
TextureDefinition out_def 
) const

Shows the effective texture definition belonging to the input name along this key path.

Parameters
in_nameUTF8-encoded name of the texture to find along this key path.
out_defThe effective texture definition, if any, with the specified name along this key path.
Returns
true if the texture definition exists along this path, false otherwise.

◆ ShowKeys()

bool HPS::KeyPath::ShowKeys ( KeyArray out_keys) const

Shows the keys defining this key path.

Returns
true if the setting is valid, false otherwise.

◆ ShowNetAttributeLock()

bool HPS::KeyPath::ShowNetAttributeLock ( AttributeLockKit out_kit) const

Shows the net attribute lock settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetBounding()

bool HPS::KeyPath::ShowNetBounding ( BoundingKit out_kit) const

Shows the net bounding along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetCamera()

bool HPS::KeyPath::ShowNetCamera ( CameraKit out_kit) const

Shows the net camera attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetClipRegions()

bool HPS::KeyPath::ShowNetClipRegions ( PointArrayArrayArray out_loops_array,
ClipSpaceArray out_spaces,
ClipOperationArray out_operations,
MatrixKitArray out_matrices 
) const

Collects all clip regions on key path.

Parameters
out_loops_arrayAn array of arrays of loops describing the clip region.
out_spacesAn array of the coordinate spaces in which loops are described.
out_operationsAn array of the operations performed by the clip regions.
out_matricesAn array of the matrices used by the clip regions if they are in ClipSpace::Object else identity matrix.
Returns
true if clip regions exist along this path, false otherwise.

◆ ShowNetColorInterpolation()

bool HPS::KeyPath::ShowNetColorInterpolation ( ColorInterpolationKit out_kit) const

Shows the net color interpolation attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetConditions()

bool HPS::KeyPath::ShowNetConditions ( UTF8Array out_conditions) const

Shows the net condition settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetContourLine()

bool HPS::KeyPath::ShowNetContourLine ( ContourLineKit out_kit) const

Shows the net contour line attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetCulling()

bool HPS::KeyPath::ShowNetCulling ( CullingKit out_kit) const

Shows the net culling attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetCurveAttribute()

bool HPS::KeyPath::ShowNetCurveAttribute ( CurveAttributeKit out_kit) const

Shows the net curve attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetCuttingSectionAttribute()

bool HPS::KeyPath::ShowNetCuttingSectionAttribute ( CuttingSectionAttributeKit out_kit) const

Shows the net cutting section attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetCylinderAttribute()

bool HPS::KeyPath::ShowNetCylinderAttribute ( CylinderAttributeKit out_kit) const

Shows the net cylinder attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetDrawingAttribute()

bool HPS::KeyPath::ShowNetDrawingAttribute ( DrawingAttributeKit out_kit) const

Shows the net drawing attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetEdgeAttribute()

bool HPS::KeyPath::ShowNetEdgeAttribute ( EdgeAttributeKit out_kit) const

Shows the net edge attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetHiddenLineAttribute()

bool HPS::KeyPath::ShowNetHiddenLineAttribute ( HiddenLineAttributeKit out_kit) const

Shows the net hidden line attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetLightingAttribute()

bool HPS::KeyPath::ShowNetLightingAttribute ( LightingAttributeKit out_kit) const

Shows the net lighting attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetLineAttribute()

bool HPS::KeyPath::ShowNetLineAttribute ( LineAttributeKit out_kit) const

Shows the net line attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetMarkerAttribute()

bool HPS::KeyPath::ShowNetMarkerAttribute ( MarkerAttributeKit out_kit) const

Shows the net marker attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetMaterialMapping()

bool HPS::KeyPath::ShowNetMaterialMapping ( MaterialMappingKit out_kit) const

Shows the net material mapping attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetMaterialPalette()

bool HPS::KeyPath::ShowNetMaterialPalette ( UTF8 out_name) const

Shows the material palette name along this key path.

Returns
true if a material palette is set along this path, false otherwise.

◆ ShowNetModellingMatrix()

bool HPS::KeyPath::ShowNetModellingMatrix ( MatrixKit out_kit) const

Shows the net modelling matrix attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetNURBSSurfaceAttribute()

bool HPS::KeyPath::ShowNetNURBSSurfaceAttribute ( NURBSSurfaceAttributeKit out_kit) const

Shows the net NURBS surface attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetPBRMaterial()

bool HPS::KeyPath::ShowNetPBRMaterial ( PBRMaterialKit out_kit) const

Shows the net pbr material attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetPerformance()

bool HPS::KeyPath::ShowNetPerformance ( PerformanceKit out_kit) const

Shows the net performance attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetSelectability()

bool HPS::KeyPath::ShowNetSelectability ( SelectabilityKit out_kit) const

Shows the net selectability attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetSphereAttribute()

bool HPS::KeyPath::ShowNetSphereAttribute ( SphereAttributeKit out_kit) const

Shows the net sphere attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetSubwindow()

bool HPS::KeyPath::ShowNetSubwindow ( SubwindowKit out_kit) const

Shows the net subwindow attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetTextAttribute()

bool HPS::KeyPath::ShowNetTextAttribute ( TextAttributeKit out_kit) const

Shows the net text attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetTextureMatrix()

bool HPS::KeyPath::ShowNetTextureMatrix ( MatrixKit out_kit) const

Shows the net texture matrix attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetTransformMask()

bool HPS::KeyPath::ShowNetTransformMask ( TransformMaskKit out_kit) const

Shows the net transform mask attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetTransparency()

bool HPS::KeyPath::ShowNetTransparency ( TransparencyKit out_kit) const

Shows the net transparency attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetVisibility()

bool HPS::KeyPath::ShowNetVisibility ( VisibilityKit out_kit) const

Shows the net visibility attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ ShowNetVisualEffects()

bool HPS::KeyPath::ShowNetVisualEffects ( VisualEffectsKit out_kit) const

Shows the net visual effects attribute settings along this key path.

Returns
true if the setting is valid along this path, false otherwise.

◆ Size()

size_t HPS::KeyPath::Size ( ) const

Returns the number of Keys contained in this KeyPath object.

Returns
the number of keys in this key path.

◆ UnsetKeys()

KeyPath& HPS::KeyPath::UnsetKeys ( )

Removes the keys defining this key path.

Returns
A reference to this object.

The documentation for this class was generated from the following file: