Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::KeyPath Class Reference

The KeyPath contains an array of keys, organized from leaf to root. More...

#include <hps.h>

Inheritance diagram for HPS::KeyPath:
Collaboration diagram for HPS::KeyPath:

Public Member Functions

 KeyPath ()
 Creates an uninitialized key path that refers to no database objects. More...
 
 KeyPath (KeyArray const &in_path)
 Creates a new KeyPath object based on the supplied path. More...
 
 KeyPath (size_t in_path_count, Key const in_path [])
 Creates a new KeyPath object based on the supplied path. More...
 
 KeyPath (KeyPath const &in_that)
 Copies in_that into this key path. More...
 
 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. More...
 
KeyPathoperator= (KeyPath &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this KeyPath thereby avoiding a copy. More...
 
virtual ~KeyPath ()
 Releases a reference to the database object this object is tied to. More...
 
HPS::Type ObjectType () const
 
KeyPathoperator+= (Key const &in_key)
 Appends the supplied Key into this object. More...
 
KeyPathoperator+= (KeyPath const &in_key_path)
 Appends the supplied KeyPath into this object. More...
 
KeyPathoperator+= (KeyArray const &in_key_array)
 Appends the supplied KeyArray into this object. More...
 
KeyPathAppend (Key const &in_key)
 Appends the supplied Key into this object. More...
 
KeyPathAppend (KeyPath const &in_key_path)
 Appends the supplied key into this object. More...
 
KeyPathAppend (KeyArray const &in_key_array)
 Appends the supplied key into this object. More...
 
KeyPathoperator= (KeyPath const &in_that)
 Copies the supplied path into this object. More...
 
KeyPathoperator= (KeyArray const &in_path)
 Copies an array of keys into this object. More...
 
void Set (KeyPath const &in_that)
 Copies the supplied path into this object. More...
 
bool Equals (KeyPath const &in_that) const
 Check if the source KeyPath is equivalent to this object. More...
 
bool operator!= (KeyPath const &in_that) const
 Check if the source KeyPath is not equivalent to this object. More...
 
bool operator== (KeyPath const &in_that) const
 Check if the source KeyPath is equivalent to this object. More...
 
KeyPathSetKeys (KeyArray const &in_keys)
 Copies an array of keys into this object. More...
 
KeyPathSetKeys (size_t in_key_count, Key const in_keys [])
 Copies an array of keys into this object. More...
 
KeyPathUnsetKeys ()
 Removes the keys defining this key path. More...
 
bool ShowKeys (KeyArray &out_keys) const
 Shows the keys defining this key path. More...
 
bool 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. More...
 
bool 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. More...
 
bool 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. More...
 
bool ComputeExtent (Rectangle &out_extent) const
 Computes a tight 2D extents box around the geometry contained in this key path. More...
 
bool ComputeExtent (HPS::VisibilityKit const &in_vis, Rectangle &out_extent) const
 Computes a tight 2D extents box around the geometry contained in this key path. More...
 
bool ComputeExtent (HPS::Extent::ClipRegion in_clip, Rectangle &out_extent) const
 Computes a tight 2D extents box around the geometry contained in this key path. More...
 
bool 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. More...
 
bool 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. More...
 
bool ShowNetVisibility (VisibilityKit &out_kit) const
 Shows the net visibility attribute settings along this key path. More...
 
bool ShowNetBounding (BoundingKit &out_kit) const
 Shows the net bounding along this key path. More...
 
bool ShowNetCamera (CameraKit &out_kit) const
 Shows the net camera attribute settings along this key path. More...
 
bool ShowNetColorInterpolation (ColorInterpolationKit &out_kit) const
 Shows the net color interpolation attribute settings along this key path. More...
 
bool ShowNetContourLine (ContourLineKit &out_kit) const
 Shows the net contour line attribute settings along this key path. More...
 
bool ShowNetPerformance (PerformanceKit &out_kit) const
 Shows the net performance attribute settings along this key path. More...
 
bool ShowNetHiddenLineAttribute (HiddenLineAttributeKit &out_kit) const
 Shows the net hidden line attribute settings along this key path. More...
 
bool ShowNetDrawingAttribute (DrawingAttributeKit &out_kit) const
 Shows the net drawing attribute settings along this key path. More...
 
bool ShowNetSelectability (SelectabilityKit &out_kit) const
 Shows the net selectability attribute settings along this key path. More...
 
bool ShowNetMarkerAttribute (MarkerAttributeKit &out_kit) const
 Shows the net marker attribute settings along this key path. More...
 
bool ShowNetSphereAttribute (SphereAttributeKit &out_kit) const
 Shows the net sphere attribute settings along this key path. More...
 
bool ShowNetLightingAttribute (LightingAttributeKit &out_kit) const
 Shows the net lighting attribute settings along this key path. More...
 
bool ShowNetCylinderAttribute (CylinderAttributeKit &out_kit) const
 Shows the net cylinder attribute settings along this key path. More...
 
bool ShowNetCuttingSectionAttribute (CuttingSectionAttributeKit &out_kit) const
 Shows the net cutting section attribute settings along this key path. More...
 
bool ShowNetTextAttribute (TextAttributeKit &out_kit) const
 Shows the net text attribute settings along this key path. More...
 
bool ShowNetLineAttribute (LineAttributeKit &out_kit) const
 Shows the net line attribute settings along this key path. More...
 
bool ShowNetEdgeAttribute (EdgeAttributeKit &out_kit) const
 Shows the net edge attribute settings along this key path. More...
 
bool ShowNetCurveAttribute (CurveAttributeKit &out_kit) const
 Shows the net curve attribute settings along this key path. More...
 
bool ShowNetModellingMatrix (MatrixKit &out_kit) const
 Shows the net modelling matrix attribute settings along this key path. More...
 
bool ShowNetTextureMatrix (MatrixKit &out_kit) const
 Shows the net texture matrix attribute settings along this key path. More...
 
bool ShowNetCulling (CullingKit &out_kit) const
 Shows the net culling attribute settings along this key path. More...
 
bool ShowNetTransparency (TransparencyKit &out_kit) const
 Shows the net transparency attribute settings along this key path. More...
 
bool ShowNetTransformMask (TransformMaskKit &out_kit) const
 Shows the net transform mask attribute settings along this key path. More...
 
bool ShowNetMaterialMapping (MaterialMappingKit &out_kit) const
 Shows the net material mapping attribute settings along this key path. More...
 
bool ShowNetNURBSSurfaceAttribute (NURBSSurfaceAttributeKit &out_kit) const
 Shows the net NURBS surface attribute settings along this key path. More...
 
bool ShowNetVisualEffects (VisualEffectsKit &out_kit) const
 Shows the net visual effects attribute settings along this key path. More...
 
bool ShowNetSubwindow (SubwindowKit &out_kit) const
 Shows the net subwindow attribute settings along this key path. More...
 
bool ShowNetAttributeLock (AttributeLockKit &out_kit) const
 Shows the net attribute lock settings along this key path. More...
 
bool ShowNetConditions (UTF8Array &out_conditions) const
 Shows the net condition settings along this key path. More...
 
size_t GatherCutGeometry (SegmentKey const &in_destination, CutGeometryGatheringOptionsKit const &in_options) const
 Collects capping geometry generated by cutting planes. More...
 
bool ShowNetClipRegions (PointArrayArrayArray &out_loops_array, ClipSpaceArray &out_spaces, ClipOperationArray &out_operations, MatrixKitArray &out_matrices) const
 Collects all clip regions on key path. More...
 
bool ShowNetMaterialPalette (UTF8 &out_name) const
 Shows the material palette name along this key path. More...
 
bool ShowEffectiveMaterialPaletteDefinition (char const *in_name, MaterialPaletteDefinition &out_def) const
 Shows the effective material palette definition belonging to the input name along this key path. More...
 
bool ShowEffectiveGlyphDefinition (char const *in_name, GlyphDefinition &out_def) const
 Shows the effective glyph definition belonging to the input name along this key path. More...
 
bool ShowEffectiveLinePatternDefinition (char const *in_name, LinePatternDefinition &out_def) const
 Shows the effective line pattern definition belonging to the input name along this key path. More...
 
bool ShowEffectiveShaderDefinition (char const *in_name, ShaderDefinition &out_def) const
 Shows the effective shader definition belonging to the input name along this key path. More...
 
bool ShowEffectiveTextureDefinition (char const *in_name, TextureDefinition &out_def) const
 Shows the effective texture definition belonging to the input name along this key path. More...
 
bool ShowEffectiveImageDefinition (char const *in_name, ImageDefinition &out_def) const
 Shows the effective image definition belonging to the input name along this key path. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual bool Empty () const
 Indicates whether this object has any values set on it. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::KeyPath
 

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.

◆ 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.

◆ 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.

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ 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::Object::Empty ( ) const
inlinevirtualinherited

Indicates whether this object has any values set on it.

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

Reimplemented in HPS::STL::ImportResultsKit, HPS::STL::ImportOptionsKit, HPS::OBJ::ImportResultsKit, HPS::OBJ::ImportOptionsKit, HPS::Hardcopy::File::ExportOptionsKit, HPS::Stream::ExportOptionsKit, HPS::Stream::ImportResultsKit, HPS::Stream::ImportOptionsKit, HPS::PointCloud::ImportOptionsKit, HPS::PointCloud::ImportResultsKit, HPS::UpdateOptionsKit, HPS::HighlightSearchOptionsKit, HPS::HighlightOptionsKit, HPS::SelectionOptionsKit, HPS::SearchOptionsKit, HPS::CutGeometryGatheringOptionsKit, HPS::ShapeKit, HPS::ShaderKit, HPS::Shader::ImportOptionsKit, HPS::ImageKit, HPS::Image::ImportOptionsKit, HPS::Image::ExportOptionsKit, HPS::TextureOptionsKit, HPS::LinePatternKit, HPS::LinePatternParallelKit, HPS::LinePatternOptionsKit, HPS::GlyphKit, HPS::ApplicationWindowOptionsKit, HPS::OffScreenWindowOptionsKit, HPS::StandAloneWindowOptionsKit, HPS::GridKit, HPS::PolygonKit, HPS::MeshKit, HPS::ShellKit, HPS::ShellRelationResultsKit, HPS::ShellRelationOptionsKit, HPS::ShellOptimizationOptionsKit, HPS::TextKit, HPS::EllipticalArcKit, HPS::EllipseKit, HPS::TrimKit, HPS::NURBSSurfaceKit, HPS::NURBSCurveKit, HPS::SpotlightKit, HPS::InfiniteLineKit, HPS::CuttingSectionKit, HPS::CircularWedgeKit, HPS::CircularArcKit, HPS::CircleKit, HPS::SphereKit, HPS::CylinderKit, HPS::DistantLightKit, HPS::MarkerKit, HPS::LineKit, HPS::AttributeLockKit, HPS::FontInfoState, HPS::WindowInfoKit, HPS::DebuggingKit, HPS::SubwindowKit, HPS::ContourLineKit, HPS::VisualEffectsKit, HPS::TransformMaskKit, HPS::PostProcessEffectsKit, HPS::DrawingAttributeKit, HPS::HiddenLineAttributeKit, HPS::PerformanceKit, HPS::NURBSSurfaceAttributeKit, HPS::MaterialKit, HPS::MaterialMappingKit, HPS::MatrixKit, HPS::CurveAttributeKit, HPS::EdgeAttributeKit, HPS::LineAttributeKit, HPS::TextAttributeKit, HPS::CuttingSectionAttributeKit, HPS::CylinderAttributeKit, HPS::LightingAttributeKit, HPS::SphereAttributeKit, HPS::MarkerAttributeKit, HPS::CullingKit, HPS::ColorInterpolationKit, HPS::TransparencyKit, HPS::SelectabilityKit, HPS::CameraKit, HPS::VisibilityKit, HPS::BoundingKit, HPS::SegmentOptimizationOptionsKit, HPS::Publish::ExportOptionsKit, HPS::Publish::TextFieldKit, HPS::Publish::SignatureFieldKit, HPS::Publish::DropDownListKit, HPS::Exchange::TessellationOptionsKit, HPS::Publish::ListBoxKit, HPS::Exchange::ExportSTEPOptionsKit, HPS::Exchange::ExportParasolidOptionsKit, HPS::Publish::RadioButtonKit, HPS::Exchange::ExportIGESOptionsKit, HPS::Exchange::ExportXMLOptionsKit, HPS::Publish::CheckBoxKit, HPS::Exchange::ExportU3DOptionsKit, HPS::Exchange::ExportSTLOptionsKit, HPS::Publish::ButtonKit, HPS::Exchange::ExportPRCOptionsKit, HPS::Publish::LinkKit, HPS::Exchange::ExportJTOptionsKit, HPS::Publish::SlideTableKit, HPS::Exchange::ExportACISOptionsKit, HPS::Publish::TableKit, HPS::Exchange::Export3MFOptionsKit, HPS::Publish::ImageKit, HPS::Publish::TextKit, HPS::Exchange::ModelFileImportOptionsKit, HPS::Publish::ViewKit, HPS::Exchange::TranslationOptionsKit, HPS::Publish::ArtworkKit, HPS::Publish::AnnotationKit, HPS::ComponentPath, HPS::Exchange::ImportOptionsKit, HPS::Parasolid::ExportOptionsKit, HPS::Exchange::NURBSConversionOptionsKit, HPS::Parasolid::LineTessellationKit, HPS::Exchange::Configuration, HPS::Publish::PageKit, HPS::Parasolid::FacetTessellationKit, HPS::Publish::DocumentKit, HPS::Parasolid::ImportOptionsKit, HPS::DWG::ImportOptionsKit, HPS::OOC::ImportOptionsKit, HPS::Sketchup::ImportOptionsKit, and HPS::Sketchup::ImportResultsKit.

◆ 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.

◆ 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.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

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

Reimplemented from HPS::Object.

Here is the call graph for this function:

◆ 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.

◆ Reset()

◆ 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.

◆ 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.

◆ Type()

◆ UnsetKeys()

KeyPath& HPS::KeyPath::UnsetKeys ( )

Removes the keys defining this key path.

Returns
A reference to this object.

Member Data Documentation

◆ staticType

const HPS::Type HPS::KeyPath::staticType = HPS::Type::KeyPath
static

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