#include <hps.h>

Inheritance diagram for HPS::SpotlightKit:
HPS::Kit HPS::Object

Public Member Functions

void Consume (SpotlightKit &in_kit)
 
bool Empty () const
 
bool Equals (SpotlightKit const &in_kit) const
 
HPS::Type ObjectType () const
 
bool operator!= (SpotlightKit const &in_kit) const
 
SpotlightKitoperator= (SpotlightKit &&in_that)
 
SpotlightKitoperator= (SpotlightKit const &in_kit)
 
bool operator== (SpotlightKit const &in_kit) const
 
void Set (SpotlightKit const &in_kit)
 
SpotlightKitSetCameraRelative (bool in_state)
 
SpotlightKitSetColor (RGBAColor const &in_rgba_color)
 
SpotlightKitSetColorByIndex (float in_index)
 
SpotlightKitSetConcentration (float in_concentration)
 
SpotlightKitSetInnerCone (float in_size, HPS::Spotlight::InnerConeUnits in_units=HPS::Spotlight::InnerConeUnits::Percent)
 
SpotlightKitSetOuterCone (float in_size, HPS::Spotlight::OuterConeUnits in_units=HPS::Spotlight::OuterConeUnits::Degrees)
 
SpotlightKitSetPosition (HPS::Point const &in_position)
 
SpotlightKitSetPriority (int in_priority)
 
SpotlightKitSetTarget (HPS::Point const &in_target)
 
SpotlightKitSetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
SpotlightKitSetUserData (intptr_t in_index, ByteArray const &in_data)
 
SpotlightKitSetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
void Show (SpotlightKit &out_kit) const
 
bool ShowCameraRelative (bool &out_state) const
 
bool ShowColor (Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const
 
bool ShowConcentration (float &out_concentration) const
 
bool ShowInnerCone (float &out_size, HPS::Spotlight::InnerConeUnits &out_units) const
 
bool ShowOuterCone (float &out_size, HPS::Spotlight::OuterConeUnits &out_units) const
 
bool ShowPosition (HPS::Point &out_position) const
 
bool ShowPriority (int &out_priority) const
 
bool ShowTarget (HPS::Point &out_target) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
 SpotlightKit ()
 
 SpotlightKit (SpotlightKit const &in_kit)
 
 SpotlightKit (SpotlightKit &&in_that)
 
SpotlightKitUnsetAllUserData ()
 
SpotlightKitUnsetCameraRelative ()
 
SpotlightKitUnsetColor ()
 
SpotlightKitUnsetConcentration ()
 
SpotlightKitUnsetEverything ()
 
SpotlightKitUnsetInnerCone ()
 
SpotlightKitUnsetOuterCone ()
 
SpotlightKitUnsetPosition ()
 
SpotlightKitUnsetPriority ()
 
SpotlightKitUnsetTarget ()
 
SpotlightKitUnsetUserData (intptr_t in_index)
 
SpotlightKitUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
SpotlightKitUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Kit
virtual HPS::Type Type () const
 
- 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 ()
 

Static Public Member Functions

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

Static Public Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from HPS::Kit
 Kit (Kit &&in_that)
 
Kitoperator= (Kit &&in_that)
 

Detailed Description

The HPS::SpotlightKit class is a user space object. It is the kit counterpart to a HPS::SpotlightKey. Calling HPS::SpotlightKit::GetDefault() will return a kit with values found in this table.

Constructor & Destructor Documentation

◆ SpotlightKit() [1/3]

HPS::SpotlightKit::SpotlightKit ( )

The default constructor creates an empty SpotlightKit object.

◆ SpotlightKit() [2/3]

HPS::SpotlightKit::SpotlightKit ( SpotlightKit const &  in_kit)

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

Parameters
in_kitThe source SpotlightKit to copy.

◆ SpotlightKit() [3/3]

HPS::SpotlightKit::SpotlightKit ( SpotlightKit &&  in_that)

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

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

Member Function Documentation

◆ Consume()

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

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

Parameters
in_kitThe source SpotlightKit to consume.

◆ Empty()

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

Indicates whether this SpotlightKit has any values set on it.

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

Reimplemented from HPS::Object.

◆ Equals()

bool HPS::SpotlightKit::Equals ( SpotlightKit const &  in_kit) const

Check if the source SpotlightKit is equivalent to this SpotlightKit.

Parameters
in_kitThe source SpotlightKit to compare to this SpotlightKit.
Returns
true if the objects are equivalent, false otherwise.

◆ GetDefault()

static SpotlightKit HPS::SpotlightKit::GetDefault ( )
static

Creates a SpotlightKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default.

Returns
A SpotlightKit with the default settings.

◆ ObjectType()

HPS::Type HPS::SpotlightKit::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::Kit.

◆ operator!=()

bool HPS::SpotlightKit::operator!= ( SpotlightKit const &  in_kit) const

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

Parameters
in_kitThe source SpotlightKit to compare to this SpotlightKit.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator=() [1/2]

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

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

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

◆ operator=() [2/2]

SpotlightKit& HPS::SpotlightKit::operator= ( SpotlightKit const &  in_kit)

Copies the source SpotlightKit into this SpotlightKit.

Parameters
in_kitThe source SpotlightKit to copy.
Returns
A reference to this SpotlightKit.

◆ operator==()

bool HPS::SpotlightKit::operator== ( SpotlightKit const &  in_kit) const

Check if the source SpotlightKit is equivalent to this SpotlightKit.

Parameters
in_kitThe source SpotlightKit to compare to this SpotlightKit.
Returns
true if the objects are equivalent, false otherwise.

◆ Set()

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

Copies the source SpotlightKit into this SpotlightKit.

Parameters
in_kitThe source SpotlightKit to copy.

◆ SetCameraRelative()

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

Sets the camera-relative setting for this SpotlightKit. This defines what the implied units of the target and position will be.

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

◆ SetColor()

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

Sets the RGBA color to use for this SpotlightKit.

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

◆ SetColorByIndex()

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

Sets the color index to use for this SpotlightKit.

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

◆ SetConcentration()

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

Sets the concentration for this SpotlightKit. 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 SpotlightKit. 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 SpotlightKit.

◆ SetInnerCone()

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

Sets the size of the inner cone for this SpotlightKit. 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 SpotlightKit. 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 SpotlightKit. Defaults to Spotlight::InnerConeUnits::Percent.
Returns
A reference to this SpotlightKit.

◆ SetOuterCone()

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

Sets the size of the outer cone for this SpotlightKit. 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 SpotlightKit. 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 SpotlightKit. Defaults to Spotlight::OuterConeUnits::Degrees.
Returns
A reference to this SpotlightKit.

◆ SetPosition()

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

Sets the position of the light source for this SpotlightKit.

Parameters
in_positionThe position of the light source for this SpotlightKit. 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 SpotlightKit.
See also
SetCameraRelative

◆ SetPriority()

SpotlightKit& HPS::SpotlightKit::SetPriority ( int  in_priority)

Assigns a specific drawing priority value to the SpotlightKit. It affects the order in which the contents of this segment are drawn if and only if the rendering algorithm is set to Priority.

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::SetPriority()
SubwindowKit::SetRenderingAlgorithm()

◆ SetTarget()

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

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

Parameters
in_targetThe target coordinate towards which the light source points for this SpotlightKit. 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 SpotlightKit.
See also
SetCameraRelative

◆ SetUserData() [1/3]

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

Sets user data on this kit.

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

◆ SetUserData() [2/3]

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

Sets user data on this kit.

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

◆ SetUserData() [3/3]

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

Sets user data on this kit.

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

◆ Show()

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

Copies this SpotlightKit into the given SpotlightKit.

Parameters
out_kitThe SpotlightKit to populate with the contents of this SpotlightKit.

◆ ShowCameraRelative()

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

Shows the camera-relative setting for this SpotlightKit.

Parameters
out_stateWhether the coordinates of the position and target for this SpotlightKit 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::SpotlightKit::ShowColor ( Material::Type out_type,
RGBAColor out_rgba_color,
float &  out_index 
) const

Shows the color for this SpotlightKit.

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::SpotlightKit::ShowConcentration ( float &  out_concentration) const

Shows the concentration for this SpotlightKit.

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

◆ ShowInnerCone()

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

Shows the inner cone for this SpotlightKit.

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

◆ ShowOuterCone()

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

Shows the outer cone for this SpotlightKit.

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

◆ ShowPosition()

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

Shows the position of the light source for this SpotlightKit.

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

◆ ShowPriority()

bool HPS::SpotlightKit::ShowPriority ( int &  out_priority) const

Shows the drawing priority.

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

◆ ShowTarget()

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

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

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

◆ ShowUserData() [1/2]

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

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

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::SpotlightKit::ShowUserData ( IntPtrTArray out_indices,
ByteArrayArray out_data 
) const

Shows all user data for this kit.

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

◆ ShowUserDataCount()

size_t HPS::SpotlightKit::ShowUserDataCount ( ) const

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

◆ ShowUserDataIndices()

bool HPS::SpotlightKit::ShowUserDataIndices ( IntPtrTArray out_indices) const

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

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

◆ UnsetAllUserData()

SpotlightKit& HPS::SpotlightKit::UnsetAllUserData ( )

Removes all user data from this kit.

Returns
A reference to this kit.

◆ UnsetCameraRelative()

SpotlightKit& HPS::SpotlightKit::UnsetCameraRelative ( )

Removes the camera-relative setting for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetColor()

SpotlightKit& HPS::SpotlightKit::UnsetColor ( )

Removes the color (RGBA or material index) for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetConcentration()

SpotlightKit& HPS::SpotlightKit::UnsetConcentration ( )

Removes the concentration for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetEverything()

SpotlightKit& HPS::SpotlightKit::UnsetEverything ( )

Removes all settings from the SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetInnerCone()

SpotlightKit& HPS::SpotlightKit::UnsetInnerCone ( )

Removes the inner-cone size specification for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetOuterCone()

SpotlightKit& HPS::SpotlightKit::UnsetOuterCone ( )

Removes the outer-cone size specification for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetPosition()

SpotlightKit& HPS::SpotlightKit::UnsetPosition ( )

Removes the light source position for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetPriority()

SpotlightKit& HPS::SpotlightKit::UnsetPriority ( )

Removes the drawing priority setting.

Returns
A reference to this SpotlightKit.

◆ UnsetTarget()

SpotlightKit& HPS::SpotlightKit::UnsetTarget ( )

Removes the target coordinate towards which the light source points for this SpotlightKit.

Returns
A reference to this SpotlightKit.

◆ UnsetUserData() [1/3]

SpotlightKit& HPS::SpotlightKit::UnsetUserData ( intptr_t  in_index)

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

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

◆ UnsetUserData() [2/3]

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

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

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

◆ UnsetUserData() [3/3]

SpotlightKit& HPS::SpotlightKit::UnsetUserData ( IntPtrTArray const &  in_indices)

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

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

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