Public Member Functions | List of all members
HPS::DistantLightKey Class Reference

#include <hps.h>

Inheritance diagram for HPS::DistantLightKey:
HPS::GeometryKey HPS::Key HPS::Object

Public Member Functions

 DistantLightKey ()
 
 DistantLightKey (Key const &in_that)
 
 DistantLightKey (DistantLightKey const &in_that)
 
DistantLightKeyoperator= (DistantLightKey const &in_that)
 
 DistantLightKey (DistantLightKey &&in_that)
 
DistantLightKeyoperator= (DistantLightKey &&in_that)
 
HPS::Type ObjectType () const
 
void Consume (DistantLightKit &in_kit)
 
void Set (DistantLightKit const &in_kit)
 
void Show (DistantLightKit &out_kit) const
 
DistantLightKeySetDirection (HPS::Vector const &in_vector)
 
DistantLightKeySetColor (RGBAColor const &in_rgba_color)
 
DistantLightKeySetColorByIndex (float in_index)
 
DistantLightKeySetCameraRelative (bool in_state)
 
DistantLightKeyUnsetColor ()
 
bool ShowDirection (HPS::Vector &out_vector) const
 
bool ShowColor (Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const
 
bool ShowCameraRelative (bool &out_state) const
 
- Public Member Functions inherited from HPS::GeometryKey
 GeometryKey ()
 
 GeometryKey (Key const &in_that)
 
 GeometryKey (GeometryKey const &in_that)
 
GeometryKeyoperator= (GeometryKey const &in_that)
 
 GeometryKey (GeometryKey &&in_that)
 
GeometryKeyoperator= (GeometryKey &&in_that)
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 
size_t ShowReferrers (ReferenceKeyArray &out_references) const
 
GeometryKeySetPriority (int in_priority)
 
GeometryKeyUnsetPriority ()
 
bool ShowPriority (int &out_priority) const
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
GeometryKeyUnsetUserData (intptr_t in_index)
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 
GeometryKeyUnsetAllUserData ()
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
bool ShowBoundings (BoundingKit &out_kit) const
 
- Public Member Functions inherited from HPS::Key
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
Keyoperator= (Key &&in_that)
 
virtual ~Key ()
 
bool HasOwner () const
 
SegmentKey Up () const
 
SegmentKey Owner () const
 
void Delete ()
 
void MoveTo (SegmentKey const &in_new_owner)
 
Key CopyTo (SegmentKey const &in_destination) const
 
Keyoperator= (Key const &in_that)
 
virtual void Assign (Key const &in_that)
 
bool Equals (Key const &in_that) const
 
bool operator!= (Key const &in_that) const
 
bool operator== (Key const &in_that) const
 
size_t GetHash () const
 
- Public Member Functions inherited from HPS::Object
 Object (Object const &that)
 
Objectoperator= (Object const &other_object)
 
 Object (Object &&in_that)
 
Objectoperator= (Object &&in_that)
 
HPS::Type Type () const
 
virtual bool Empty () const
 
virtual void Reset ()
 
bool HasType (HPS::Type in_mask) const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 

Additional Inherited Members

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

Detailed Description

The DistantLightKey class is a smart pointer to a database object. It is a handle to a distant light inserted via SegmentKey::InsertDistantLight.

Constructor & Destructor Documentation

HPS::DistantLightKey::DistantLightKey ( )

The default constructor creates an uninitialized DistantLightKey object. The Type() function will return Type::None.

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

This constructor creates a DistantLightKey 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 DistantLight key. Otherwise the copy will fail and the resulting DistantLightKey will be invalid.

Parameters
in_keyThe source Key to copy.
HPS::DistantLightKey::DistantLightKey ( DistantLightKey const &  in_that)

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

Parameters
in_thatThe source DistantLightKey to copy.
HPS::DistantLightKey::DistantLightKey ( DistantLightKey &&  in_that)

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

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

Member Function Documentation

void HPS::DistantLightKey::Consume ( DistantLightKit in_kit)

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

Parameters
in_kitThe kit from which to get the settings to replace on this DistantLightKey.
HPS::Type HPS::DistantLightKey::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::GeometryKey.

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

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

Parameters
in_thatThe source DistantLightKey for the assignment.
Returns
A reference to this DistantLightKey.
DistantLightKey& HPS::DistantLightKey::operator= ( DistantLightKey &&  in_that)

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

Parameters
in_thatAn rvalue reference to a DistantLightKey to take the impl from.
Returns
A reference to this DistantLightKey.
void HPS::DistantLightKey::Set ( DistantLightKit const &  in_kit)

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

Parameters
in_kitThe kit from which to get the settings to replace on this DistantLightKey.
DistantLightKey& HPS::DistantLightKey::SetCameraRelative ( bool  in_state)

Sets the camera-relative setting for this DistantLightKey.

Parameters
in_stateWhether the direction of this DistantLightKey is treated as being in object space or camera-relative space.
Returns
A reference to this DistantLightKey.
See also
SetDirection
DistantLightKey& HPS::DistantLightKey::SetColor ( RGBAColor const &  in_rgba_color)

Sets the RGBA color to use for this DistantLightKey.

Parameters
in_rgba_colorThe RGBA color to use for this DistantLightKey.
Returns
A reference to this DistantLightKey.
DistantLightKey& HPS::DistantLightKey::SetColorByIndex ( float  in_index)

Sets the color index to use for this DistantLightKey.

Parameters
in_indexThe color index to use for this DistantLightKey.
Returns
A reference to this DistantLightKey.
DistantLightKey& HPS::DistantLightKey::SetDirection ( HPS::Vector const &  in_vector)

Sets the direction in which this DistantLightKey lies. The rays emitted by this light will travel in the opposite direction of this vector.

Parameters
in_vectorThe direction in which this DistantLightKey lies. The vector will either be treated as being in object space or in camera-relative units depending on the setting passed SetCameraRelative.
Returns
A reference to this DistantLightKey.
See also
SetCameraRelative
void HPS::DistantLightKey::Show ( DistantLightKit out_kit) const

Copy the contents of this DistantLightKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this DistantLightKey.
bool HPS::DistantLightKey::ShowCameraRelative ( bool &  out_state) const

Shows the camera-relative setting for this DistantLightKey.

Parameters
out_stateWhether the direction of this DistantLightKey is treated as being in object space or camera-relative space.
Returns
true if a camera-relative setting was specified, false otherwise.
bool HPS::DistantLightKey::ShowColor ( Material::Type out_type,
RGBAColor out_rgba_color,
float &  out_index 
) const

Shows the color for this DistantLightKey.

Parameters
out_typeThe type of color for the distant light.
out_rgba_colorThe RGBA color for the distant light. This is only valid if out_type is Material::Type::ExplicitRGBAColor.
out_indexThe material index for the distant light. This is only valid if out_type is Material::Type::MaterialIndex.
Returns
true if a color was set, false otherwise.
bool HPS::DistantLightKey::ShowDirection ( HPS::Vector out_vector) const

Shows the direction in which this DistantLightKey lies.

Parameters
out_vectorThe direction in which this DistantLightKey lies.
Returns
true if a direction was set, false otherwise.
DistantLightKey& HPS::DistantLightKey::UnsetColor ( )

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

Returns
A reference to this DistantLightKey.

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