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::SpotlightKey Class Reference

The SpotlightKey class is a smart pointer to a database object. More...

#include <hps.h>

Inheritance diagram for HPS::SpotlightKey:
Collaboration diagram for HPS::SpotlightKey:

Public Member Functions

 SpotlightKey ()
 The default constructor creates an uninitialized SpotlightKey object. More...
 
 SpotlightKey (Key const &in_that)
 This constructor creates a SpotlightKey object that shares the underlying smart-pointer of the source Key. More...
 
 SpotlightKey (SpotlightKey const &in_that)
 The copy constructor creates a SpotlightKey object that shares the underlying smart-pointer of the source SpotlightKey. More...
 
SpotlightKeyoperator= (SpotlightKey const &in_that)
 Associate this SpotlightKey with the same underlying impl as the source SpotlightKey. More...
 
 SpotlightKey (SpotlightKey &&in_that)
 The move constructor creates a SpotlightKey by transferring the underlying impl of the rvalue reference to this SpotlightKey thereby avoiding a copy and allocation. More...
 
SpotlightKeyoperator= (SpotlightKey &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this SpotlightKey thereby avoiding a copy. More...
 
 ~SpotlightKey ()
 
HPS::Type ObjectType () const
 
void Consume (SpotlightKit &in_kit)
 Completely replaces all settings on this SpotlightKey with those set on the specified kit and resets the kit.InfiniteLineKey. More...
 
void Set (SpotlightKit const &in_kit)
 Replace those settings on this SpotlightKey with those set on the specified kit. More...
 
void Show (SpotlightKit &out_kit) const
 Copy the contents of this SpotlightKey into the specified kit. More...
 
SpotlightKeySetPosition (HPS::Point const &in_position)
 Sets the position of the light source for this SpotlightKey. More...
 
SpotlightKeySetTarget (HPS::Point const &in_target)
 Sets the target coordinate towards which the light source points for this SpotlightKey. More...
 
SpotlightKeySetColor (RGBAColor const &in_rgba_color)
 Sets the RGBA color to use for this SpotlightKey. More...
 
SpotlightKeySetColorByIndex (float in_index)
 Sets the color index to use for this SpotlightKey. More...
 
SpotlightKeySetOuterCone (float in_size, HPS::Spotlight::OuterConeUnits in_units=HPS::Spotlight::OuterConeUnits::Degrees)
 Sets the size of the outer cone for this SpotlightKey. More...
 
SpotlightKeySetInnerCone (float in_size, HPS::Spotlight::InnerConeUnits in_units=HPS::Spotlight::InnerConeUnits::Percent)
 Sets the size of the inner cone for this SpotlightKey. More...
 
SpotlightKeySetConcentration (float in_concentration)
 Sets the concentration for this SpotlightKey. More...
 
SpotlightKeySetCameraRelative (bool in_state)
 Sets whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space. More...
 
SpotlightKeyUnsetColor ()
 Removes the color (RGBA or material index) set on this SpotlightKey. More...
 
bool ShowPosition (HPS::Point &out_position) const
 Shows the position of the light source for this SpotlightKey. More...
 
bool ShowTarget (HPS::Point &out_target) const
 Shows the target coordinate towards which the light source points for this SpotlightKey. More...
 
bool ShowColor (Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const
 Shows the color for this SpotlightKey. More...
 
bool ShowOuterCone (float &out_size, HPS::Spotlight::OuterConeUnits &out_units) const
 Shows the outer cone for this SpotlightKey. More...
 
bool ShowInnerCone (float &out_size, HPS::Spotlight::InnerConeUnits &out_units) const
 Shows the inner cone for this SpotlightKey. More...
 
bool ShowConcentration (float &out_concentration) const
 Shows the concentration for this SpotlightKey. More...
 
bool ShowCameraRelative (bool &out_state) const
 Shows whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space. More...
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 Shows the all the segments which contain references to this key. More...
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 Shows the all the references to this key. More...
 
GeometryKeySetPriority (int in_priority)
 Assigns a drawing priority value to the geometry. More...
 
GeometryKeyUnsetPriority ()
 Removes the drawing priority setting. More...
 
bool ShowPriority (int &out_priority) const
 Shows the drawing priority. More...
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 Sets user data on this key. More...
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 Sets user data on this key. More...
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 Sets user data on this key. More...
 
GeometryKeyUnsetUserData (intptr_t in_index)
 Removes the user data at the given index from this key. More...
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 Removes the user data at the given indices from this key. More...
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 Removes the user data at the given indices from this key. More...
 
GeometryKeyUnsetAllUserData ()
 Removes all user data from this key. More...
 
size_t ShowUserDataCount () const
 Get the number of user data indices set on this key. More...
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 Shows the indices of all user data set on this key. More...
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 Shows the user data at a given index for this key. More...
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 Shows all user data for this key. More...
 
bool ShowBounding (BoundingKit &out_kit) const
 Shows the bounding of this geometry. More...
 
bool HasOwner () const
 
SegmentKey Up () const
 
SegmentKey Owner () const
 
void Delete ()
 Removes the database object referred to by this key. More...
 
void MoveTo (SegmentKey const &in_new_owner)
 Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner. More...
 
Key CopyTo (SegmentKey const &in_destination) const
 Copies the database object referred to by this key into a segment pointed to by in_destination. More...
 
virtual void Assign (Key const &in_that)
 Share the underlying smart-pointer of the Key source. More...
 
bool Equals (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
bool operator!= (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
bool operator== (Key const &in_that) const
 Determines whether the database objects pointed to by this key and in_that are the same. More...
 
size_t GetHash () const
 Returns a hash code for the key. 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::SpotlightKey
 

Detailed Description

The SpotlightKey class is a smart pointer to a database object.

It is a handle to a spotlight inserted via SegmentKey::InsertSpotlight.

Constructor & Destructor Documentation

◆ SpotlightKey() [1/4]

HPS::SpotlightKey::SpotlightKey ( )

The default constructor creates an uninitialized SpotlightKey object.

The Type() function will return Type::None.

◆ SpotlightKey() [2/4]

HPS::SpotlightKey::SpotlightKey ( Key const &  in_that)
explicit

This constructor creates a SpotlightKey object that shares the underlying smart-pointer of the source Key.

The copy will only be successful if the source key is really an upcast of a Spotlight key. Otherwise the copy will fail and the resulting SpotlightKey will be invalid.

Parameters
in_keyThe source Key to copy.

◆ SpotlightKey() [3/4]

HPS::SpotlightKey::SpotlightKey ( SpotlightKey const &  in_that)

The copy constructor creates a SpotlightKey object that shares the underlying smart-pointer of the source SpotlightKey.

Parameters
in_thatThe source SpotlightKey to copy.

◆ SpotlightKey() [4/4]

HPS::SpotlightKey::SpotlightKey ( SpotlightKey &&  in_that)

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

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

◆ ~SpotlightKey()

HPS::SpotlightKey::~SpotlightKey ( )

Member Function Documentation

◆ Assign()

virtual void HPS::Key::Assign ( Key const &  in_that)
virtualinherited

Share the underlying smart-pointer of the Key source.

Parameters
in_thatThe Key source of the assignment.

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

◆ Consume()

void HPS::SpotlightKey::Consume ( SpotlightKit in_kit)

Completely replaces all settings on this SpotlightKey with those set on the specified kit and resets the kit.InfiniteLineKey.

Parameters
in_kitThe kit from which to get the settings to replace on this SpotlightKey.

◆ CopyTo()

Key HPS::Key::CopyTo ( SegmentKey const &  in_destination) const
inherited

Copies the database object referred to by this key into a segment pointed to by in_destination.

Returns
The key of the new copy.

◆ Delete()

void HPS::Key::Delete ( )
inherited

Removes the database object referred to by this key.

◆ 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::Key::Equals ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

Empty keys (when key.Empty() returns true) are never equal to any key, even when the key is compared against itself (they act analogously to NaN comparisons in this case.)

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

◆ GetHash()

size_t HPS::Key::GetHash ( ) const
inherited

Returns a hash code for the key.

Returns
The size_t hash code.
Here is the caller graph for this function:

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

◆ HasOwner()

bool HPS::Key::HasOwner ( ) const
inherited
Returns
Indicates whether this key has an owner or not.

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

◆ MoveTo()

void HPS::Key::MoveTo ( SegmentKey const &  in_new_owner)
inherited

Moves the database object referred to by this key into a new containing segment pointed to by in_new_owner.

◆ ObjectType()

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

Reimplemented from HPS::GeometryKey.

◆ operator!=()

bool HPS::Key::operator!= ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

◆ operator=() [1/2]

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

Associate this SpotlightKey with the same underlying impl as the source SpotlightKey.

Parameters
in_thatThe source SpotlightKey for the assignment.
Returns
A reference to this SpotlightKey.

◆ operator=() [2/2]

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

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

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

◆ operator==()

bool HPS::Key::operator== ( Key const &  in_that) const
inherited

Determines whether the database objects pointed to by this key and in_that are the same.

◆ Owner()

SegmentKey HPS::Key::Owner ( ) const
inherited
Returns
The segment containing this key.

◆ Reset()

◆ Set()

void HPS::SpotlightKey::Set ( SpotlightKit const &  in_kit)

Replace those settings on this SpotlightKey with those set on the specified kit.

Parameters
in_kitThe kit from which to get the settings to replace on this SpotlightKey.

◆ SetCameraRelative()

SpotlightKey& HPS::SpotlightKey::SetCameraRelative ( bool  in_state)

Sets whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.

Parameters
in_stateWhether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.
Returns
A reference to this SpotlightKey.
See also
SetPosition
SetTarget

◆ SetColor()

SpotlightKey& HPS::SpotlightKey::SetColor ( RGBAColor const &  in_rgba_color)

Sets the RGBA color to use for this SpotlightKey.

Parameters
in_rgba_colorThe RGBA color to use for this SpotlightKey.
Returns
A reference to this SpotlightKey.

◆ SetColorByIndex()

SpotlightKey& HPS::SpotlightKey::SetColorByIndex ( float  in_index)

Sets the color index to use for this SpotlightKey.

Parameters
in_indexThe color index to use for this SpotlightKey.
Returns
A reference to this SpotlightKey.

◆ SetConcentration()

SpotlightKey& HPS::SpotlightKey::SetConcentration ( float  in_concentration)

Sets the concentration for this SpotlightKey.

The concentration defines the rate at which light intensity decreases with increasing angular distance from the light direction vector. This effect works in addition to the decrease that occurs between the inner and outer cones.

Parameters
in_concentrationThe concentration for the SpotlightKey. This value must be non-negative. A value of 0.0f defines no intensity decrease (besides that between the inner and outer cone), and larger values will concentrate intensity closer to the light direction vector.
Returns
A reference to this SpotlightKey.

◆ SetInnerCone()

SpotlightKey& HPS::SpotlightKey::SetInnerCone ( float  in_size,
HPS::Spotlight::InnerConeUnits  in_units = HPS::Spotlight::InnerConeUnits::Percent 
)

Sets the size of the inner cone for this SpotlightKey.

The inner cone defines the conic region inside the conic region defined by the outer cone at which the spotlight intensity will decrease linearly to zero at the outer cone's edge. As such, the size of the inner cone should be no larger than the outer cone.

Parameters
in_sizeThe size of the inner cone for this SpotlightKey. The interpretation of the value and its valid range depends on the units argument.
in_unitsThe units for the size of the inner cone for this SpotlightKey. Defaults to Spotlight::InnerConeUnits::Degrees.
Returns
A reference to this SpotlightKey.

◆ SetOuterCone()

SpotlightKey& HPS::SpotlightKey::SetOuterCone ( float  in_size,
HPS::Spotlight::OuterConeUnits  in_units = HPS::Spotlight::OuterConeUnits::Degrees 
)

Sets the size of the outer cone for this SpotlightKey.

The outer cone defines the conic region inside of which surfaces will be illuminated by this spotlight. Any surface outside this conic region will not be illuminated by this spotlight.

Parameters
in_sizeThe size of the outer cone for this SpotlightKey. The interpretation of the value and its valid range depends on the units argument.
in_unitsThe units for the size of the outer cone for this SpotlightKey. Defaults to Spotlight::OuterConeUnits::Degrees.
Returns
A reference to this SpotlightKey.

◆ SetPosition()

SpotlightKey& HPS::SpotlightKey::SetPosition ( HPS::Point const &  in_position)

Sets the position of the light source for this SpotlightKey.

Parameters
in_positionThe position of the light source for this SpotlightKey. The point will either be treated as being in object space or in camera-relative units depending on the setting passed to SetCameraRelative.
Returns
A reference to this SpotlightKey.
See also
SetCameraRelative

◆ SetPriority()

GeometryKey& HPS::GeometryKey::SetPriority ( int  in_priority)
inherited

Assigns a drawing priority value to the geometry.

It affects the order in which the geometry is visited if and only if the rendering algorithm is set to Priority. The geometry has a default drawing priority assigned, based on the order of insertion.

Parameters
in_priorityThe drawing priority; higher priority items are drawn on top of lower priority items.
Returns
A reference to this object.
See also
SubwindowKit::SetRenderingAlgorithm()

◆ SetTarget()

SpotlightKey& HPS::SpotlightKey::SetTarget ( HPS::Point const &  in_target)

Sets the target coordinate towards which the light source points for this SpotlightKey.

Parameters
in_targetThe target coordinate towards which the light source points for this SpotlightKey. The point will either be treated as being in object space or in camera-relative units depending on the setting passed to SetCameraRelative.
Returns
A reference to this SpotlightKey.
See also
SetCameraRelative

◆ SetUserData() [1/3]

GeometryKey& HPS::GeometryKey::SetUserData ( intptr_t  in_index,
size_t  in_bytes,
byte const  in_data[] 
)
inherited

Sets user data on this key.

Parameters
in_indexThe index of the user data to set.
in_bytesThe number of bytes of user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this key.

◆ SetUserData() [2/3]

GeometryKey& HPS::GeometryKey::SetUserData ( intptr_t  in_index,
ByteArray const &  in_data 
)
inherited

Sets user data on this key.

Parameters
in_indexThe index of the user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this key.

◆ SetUserData() [3/3]

GeometryKey& HPS::GeometryKey::SetUserData ( IntPtrTArray const &  in_indices,
ByteArrayArray const &  in_data 
)
inherited

Sets user data on this key.

Parameters
in_indicesAn array of user data indices to set.
in_dataAn array of bytes of user data to set.
Returns
A reference to this key.

◆ Show()

void HPS::SpotlightKey::Show ( SpotlightKit out_kit) const

Copy the contents of this SpotlightKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this SpotlightKey.

◆ ShowBounding()

bool HPS::GeometryKey::ShowBounding ( BoundingKit out_kit) const
inherited

Shows the bounding of this geometry.

Parameters
out_kitThe BoundingKit that is set on this GeometryKey
Returns
False if no bounding exists.

◆ ShowCameraRelative()

bool HPS::SpotlightKey::ShowCameraRelative ( bool &  out_state) const

Shows whether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.

Parameters
out_stateWhether the coordinates of the position and target for this SpotlightKey are treated as being in object space or camera-relative space.
Returns
true if a camera-relative setting was set, false otherwise.

◆ ShowColor()

bool HPS::SpotlightKey::ShowColor ( Material::Type out_type,
RGBAColor out_rgba_color,
float &  out_index 
) const

Shows the color for this SpotlightKey.

Parameters
out_typeThe type of color for the spotlight.
out_rgba_colorThe RGBA color for the spotlight. This is only valid if out_type is Material::Type::RGBAColor.
out_indexThe material index for the spotlight. This is only valid if out_type is Material::Type::MaterialIndex.
Returns
true if a color was set, false otherwise.

◆ ShowConcentration()

bool HPS::SpotlightKey::ShowConcentration ( float &  out_concentration) const

Shows the concentration for this SpotlightKey.

Parameters
out_concentrationThe concentration for this SpotlightKey.
Returns
true if a concentration was set, false otherwise.

◆ ShowInnerCone()

bool HPS::SpotlightKey::ShowInnerCone ( float &  out_size,
HPS::Spotlight::InnerConeUnits out_units 
) const

Shows the inner cone for this SpotlightKey.

Parameters
out_sizeThe size of the inner cone for this SpotlightKey.
out_unitsThe units for the size of the inner cone for this SpotlightKey.
Returns
true if an inner cone was set, false otherwise.

◆ ShowOuterCone()

bool HPS::SpotlightKey::ShowOuterCone ( float &  out_size,
HPS::Spotlight::OuterConeUnits out_units 
) const

Shows the outer cone for this SpotlightKey.

Parameters
out_sizeThe size of the outer cone for this SpotlightKey.
out_unitsThe units for the size of the outer cone for this SpotlightKey.
Returns
true if an outer cone was set, false otherwise.

◆ ShowPosition()

bool HPS::SpotlightKey::ShowPosition ( HPS::Point out_position) const

Shows the position of the light source for this SpotlightKey.

Parameters
out_positionThe position of the light source for this SpotlightKey.
Returns
true if a light source position was set, false otherwise.

◆ ShowPriority()

bool HPS::GeometryKey::ShowPriority ( int &  out_priority) const
inherited

Shows the drawing priority.

Parameters
out_priorityThe drawing priority; higher priority items are drawn on top of lower priority items.
Returns
true if a priority was specified, false otherwise.

◆ ShowReferrers() [1/2]

size_t HPS::GeometryKey::ShowReferrers ( SegmentKeyArray out_segments) const
inherited

Shows the all the segments which contain references to this key.

Note that while a segment may only appear once in the returned array, that segment could have multiple references to this key.

Parameters
out_segmentsThe list of segments which contains references to this key.
Returns
The number of segments which contain references to this key.

◆ ShowReferrers() [2/2]

size_t HPS::GeometryKey::ShowReferrers ( ReferenceKeyArray out_references) const
inherited

Shows the all the references to this key.

Parameters
out_referencesThe list of all references to this key.
Returns
The number of references to this key.

◆ ShowTarget()

bool HPS::SpotlightKey::ShowTarget ( HPS::Point out_target) const

Shows the target coordinate towards which the light source points for this SpotlightKey.

Parameters
out_targetThe target coordinate towards which the light source points for this SpotlightKey.
Returns
true if a target was set, false otherwise.

◆ ShowUserData() [1/2]

bool HPS::GeometryKey::ShowUserData ( intptr_t  in_index,
ByteArray out_data 
) const
inherited

Shows the user data at a given index for this key.

Parameters
in_indexThe index of the user data to show.
out_dataThe user data at the given index.
Returns
true if there is user data at the given index, false otherwise.

◆ ShowUserData() [2/2]

bool HPS::GeometryKey::ShowUserData ( IntPtrTArray out_indices,
ByteArrayArray out_data 
) const
inherited

Shows all user data for this key.

Parameters
out_indicesAn array of all user data indices set on this key.
out_dataAn array of all user data set on this key.
Returns
true if there is user data on this key, false otherwise.

◆ ShowUserDataCount()

size_t HPS::GeometryKey::ShowUserDataCount ( ) const
inherited

Get the number of user data indices set on this key.

◆ ShowUserDataIndices()

bool HPS::GeometryKey::ShowUserDataIndices ( IntPtrTArray out_indices) const
inherited

Shows the indices of all user data set on this key.

Parameters
out_indicesThe user data indices set on this key.
Returns
The number of user data indices set on this key.

◆ Type()

◆ UnsetAllUserData()

GeometryKey& HPS::GeometryKey::UnsetAllUserData ( )
inherited

Removes all user data from this key.

Returns
A reference to this key.

◆ UnsetColor()

SpotlightKey& HPS::SpotlightKey::UnsetColor ( )

Removes the color (RGBA or material index) set on this SpotlightKey.

Returns
A reference to this SpotlightKey.

◆ UnsetPriority()

GeometryKey& HPS::GeometryKey::UnsetPriority ( )
inherited

Removes the drawing priority setting.

Returns
A reference to this object.

◆ UnsetUserData() [1/3]

GeometryKey& HPS::GeometryKey::UnsetUserData ( intptr_t  in_index)
inherited

Removes the user data at the given index from this key.

Parameters
in_indexThe index of the user data to remove.
Returns
A reference to this key.

◆ UnsetUserData() [2/3]

GeometryKey& HPS::GeometryKey::UnsetUserData ( size_t  in_count,
intptr_t const  in_indices[] 
)
inherited

Removes the user data at the given indices from this key.

Parameters
in_countThe size of the following array.
in_indicesThe indices of the user data to remove.
Returns
A reference to this key.

◆ UnsetUserData() [3/3]

GeometryKey& HPS::GeometryKey::UnsetUserData ( IntPtrTArray const &  in_indices)
inherited

Removes the user data at the given indices from this key.

Parameters
in_indicesThe indices of the user data to remove.
Returns
A reference to this key.

◆ Up()

SegmentKey HPS::Key::Up ( ) const
inherited
Returns
The segment containing this key.

Member Data Documentation

◆ staticType

const HPS::Type HPS::SpotlightKey::staticType = HPS::Type::SpotlightKey
static

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