DistantLightKey
-
class
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 also
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.
See also
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
()
-
void