DistantLightKey
- 
class HPS::DistantLightKey : public HPS::GeometryKey
- The DistantLightKey class is a smart pointer to a database object. It is a handle to a distant light inserted via SegmentKey::InsertDistantLight. - Public Functions - 
void Consume(DistantLightKit &in_kit)
- Completely replaces all settings on this DistantLightKey with those set on the specified kit and resets the kit. - Parameters
- in_kit – The kit from which to get the settings to replace on this DistantLightKey. 
 
 - 
DistantLightKey()
- The default constructor creates an uninitialized DistantLightKey object. The Type() function will return Type::None. 
 - 
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_that – An rvalue reference to a DistantLightKey to take the impl from. 
 
 - 
DistantLightKey(DistantLightKey const &in_that)
- The copy constructor creates a DistantLightKey object that shares the underlying smart-pointer of the source DistantLightKey. - Parameters
- in_that – The source DistantLightKey to copy. 
 
 - 
explicit DistantLightKey(Key const &in_that)
- 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_key – The source Key to copy. 
 
 - 
inline virtual HPS::Type ObjectType() const
- 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. 
 
 - 
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_that – An rvalue reference to a DistantLightKey to take the impl from. 
- Returns
- A reference to this DistantLightKey. 
 
 - 
DistantLightKey &operator=(DistantLightKey const &in_that)
- Associate this DistantLightKey with the same underlying impl as the source DistantLightKey. - Parameters
- in_that – The source DistantLightKey for the assignment. 
- Returns
- A reference to this DistantLightKey. 
 
 - 
void Set(DistantLightKit const &in_kit)
- Replace those settings on this DistantLightKey with those set on the specified kit. - Parameters
- in_kit – The kit from which to get the settings to replace on this DistantLightKey. 
 
 - 
DistantLightKey &SetCameraRelative(bool in_state)
- Sets the camera-relative setting for this DistantLightKey. - See
 - Parameters
- in_state – Whether the direction of this DistantLightKey is treated as being in object space or camera-relative space. 
- Returns
- A reference to this DistantLightKey. 
 
 - 
DistantLightKey &SetColor(RGBAColor const &in_rgba_color)
- Sets the RGBA color to use for this DistantLightKey. - Parameters
- in_rgba_color – The RGBA color to use for this DistantLightKey. 
- Returns
- A reference to this DistantLightKey. 
 
 - 
DistantLightKey &SetColorByIndex(float in_index)
- Sets the color index to use for this DistantLightKey. - Parameters
- in_index – The color index to use for this DistantLightKey. 
- Returns
- A reference to this DistantLightKey. 
 
 - 
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_vector – The 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. 
 
 - 
void Show(DistantLightKit &out_kit) const
- Copy the contents of this DistantLightKey into the specified kit. - Parameters
- out_kit – The kit to populate with the contents of this DistantLightKey. 
 
 - 
bool ShowCameraRelative(bool &out_state) const
- Shows the camera-relative setting for this DistantLightKey. - Parameters
- out_state – Whether 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 ShowColor(Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const
- Shows the color for this DistantLightKey. - Parameters
- out_type – The type of color for the distant light. 
- out_rgba_color – The RGBA color for the distant light. This is only valid if out_type is Material::Type::RGBAColor. 
- out_index – The 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 ShowDirection(HPS::Vector &out_vector) const
- Shows the direction in which this DistantLightKey lies. - Parameters
- out_vector – The direction in which this DistantLightKey lies. 
- Returns
- true if a direction was set, false otherwise. 
 
 - 
DistantLightKey &UnsetColor()
- Removes the color (RGBA or material index) set on this DistantLightKey. - Returns
- A reference to this DistantLightKey. 
 
 - 
~DistantLightKey()
 - Public Static Attributes - 
static const HPS::Type staticType = HPS::Type::DistantLightKey
 
- 
void Consume(DistantLightKit &in_kit)
