DistantLightKit
-
class HPS::DistantLightKit : public HPS::Kit
The DistantLightKit class is a user space object. It is a kit analog to a DistantLightKey.
Public Functions
-
void Consume(DistantLightKit &in_kit)
Copies the source DistantLightKit into this DistantLightKit and resets the source kit.
- Parameters
in_kit – The source DistantLightKit to consume.
-
DistantLightKit()
The default constructor creates an empty DistantLightKit object.
-
DistantLightKit(DistantLightKit &&in_that)
The move constructor creates a DistantLightKit by transferring the underlying impl of the rvalue reference to this DistantLightKit thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to a DistantLightKit to take the impl from.
-
DistantLightKit(DistantLightKit const &in_kit)
The copy constructor creates a new DistantLightKit object that contains the same settings as the source DistantLightKit.
- Parameters
in_kit – The source DistantLightKit to copy.
-
virtual bool Empty() const
Indicates whether this DistantLightKit has any values set on it.
- Returns
true if no values are set on this DistantLightKit, false otherwise.
-
bool Equals(DistantLightKit const &in_kit) const
Check if the source DistantLightKit is equivalent to this DistantLightKit.
- Parameters
in_kit – The source DistantLightKit to compare to this DistantLightKit.
- Returns
true if the objects are equivalent, false otherwise.
-
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.
-
bool operator!=(DistantLightKit const &in_kit) const
Check if the source DistantLightKit is not equivalent to this DistantLightKit.
- Parameters
in_kit – The source DistantLightKit to compare to this DistantLightKit.
- Returns
true if the objects are not equivalent, false otherwise.
-
DistantLightKit &operator=(DistantLightKit &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this DistantLightKit thereby avoiding a copy.
- Parameters
in_that – An rvalue reference to a DistantLightKit to take the impl from.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &operator=(DistantLightKit const &in_kit)
Copies the source DistantLightKit into this DistantLightKit.
- Parameters
in_kit – The source DistantLightKit to copy.
- Returns
A reference to this DistantLightKit.
-
bool operator==(DistantLightKit const &in_kit) const
Check if the source DistantLightKit is equivalent to this DistantLightKit.
- Parameters
in_kit – The source DistantLightKit to compare to this DistantLightKit.
- Returns
true if the objects are equivalent, false otherwise.
-
void Set(DistantLightKit const &in_kit)
Copies the source DistantLightKit into this DistantLightKit.
- Parameters
in_kit – The source DistantLightKit to copy.
-
DistantLightKit &SetCameraRelative(bool in_state)
Sets the camera-relative setting for this DistantLightKit.
- See
- See
- Parameters
in_state – Whether the direction of this DistantLightKit is treated as being in object space or camera-relative space.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &SetColor(RGBAColor const &in_rgba_color)
Sets the RGBA color to use for this DistantLightKit.
- Parameters
in_rgba_color – The RGBA color to use for this DistantLightKit.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &SetColorByIndex(float in_index)
Sets the color index to use for this DistantLightKit.
- Parameters
in_index – The color index to use for this DistantLightKit.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &SetDirection(HPS::Vector const &in_vector)
Sets the direction in which this DistantLightKit lies. The rays emitted by this light will travel in the opposite direction of this vector.
- Parameters
in_vector – The direction in which this DistantLightKit 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 DistantLightKit.
-
DistantLightKit &SetPriority(int in_priority)
Assigns a specific drawing priority value to the DistantLightKit. It affects the order in which the contents of the owning segment are drawn if and only if the rendering algorithm is set to Priority.
- See
SubwindowKit::SetPriority()
- See
- Parameters
in_priority – The drawing priority, higher priority items are drawn on top of lower priority items.
- Returns
A reference to this object.
-
DistantLightKit &SetUserData(intptr_t in_index, ByteArray const &in_data)
Sets user data on this kit.
- Parameters
in_index – The index of the user data to set.
in_data – The bytes of user data to set.
- Returns
A reference to this kit.
-
DistantLightKit &SetUserData(intptr_t in_index, size_t in_bytes, byte const in_data[])
Sets user data on this kit.
- Parameters
in_index – The index of the user data to set.
in_bytes – The number of bytes of user data to set.
in_data – The bytes of user data to set.
- Returns
A reference to this kit.
-
DistantLightKit &SetUserData(IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
Sets user data on this kit.
- Parameters
in_indices – An array of user data indices to set.
in_data – An array of bytes of user data to set.
- Returns
A reference to this kit.
-
void Show(DistantLightKit &out_kit) const
Copies this DistantLightKit into the given DistantLightKit.
- Parameters
out_kit – The DistantLightKit to populate with the contents of this DistantLightKit.
-
bool ShowCameraRelative(bool &out_state) const
Shows the camera-relative setting for this DistantLightKit.
- Parameters
out_state – Whether the direction of this DistantLightKit 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 DistantLightKit.
- 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 DistantLightKit lies.
- Parameters
out_vector – The direction in which this DistantLightKit lies.
- Returns
true if a direction was set, false otherwise.
-
bool ShowPriority(int &out_priority) const
Shows the drawing priority for this DistantLightKit.
- Parameters
out_priority – The drawing priority, higher priority items are drawn on top of lower priority items.
- Returns
true if drawing priority was specified, false otherwise.
-
bool ShowUserData(intptr_t in_index, ByteArray &out_data) const
Shows the user data at a given index for this kit.
- Parameters
in_index – The index of the user data to show.
out_data – The user data at the given index.
- Returns
true if there is user data at the given index, false otherwise.
-
bool ShowUserData(IntPtrTArray &out_indices, ByteArrayArray &out_data) const
Shows all user data for this kit.
- Parameters
out_indices – An array of all user data indices set on this kit.
out_data – An array of all user data set on this kit.
- Returns
true if there is user data on this kit, false otherwise.
-
size_t ShowUserDataCount() const
Get the number of user data indices set on this kit.
-
bool ShowUserDataIndices(IntPtrTArray &out_indices) const
Shows the indices of all user data set on this kit.
- Parameters
out_indices – The user data indices set on this kit.
- Returns
The number of user data indices set on this kit.
-
DistantLightKit &UnsetAllUserData()
Removes all user data from this kit.
- Returns
A reference to this kit.
-
DistantLightKit &UnsetCameraRelative()
Removes the camera-relative setting on this DistantLightKit.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &UnsetColor()
Removes the color (RGBA or material index) set on this DistantLightKit.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &UnsetDirection()
Removes the direction set on this DistantLightKit.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &UnsetEverything()
Removes all settings from the DistantLightKit.
- Returns
A reference to this DistantLightKit.
-
DistantLightKit &UnsetPriority()
Removes the drawing priority setting.
- Returns
A reference to this object.
-
DistantLightKit &UnsetUserData(intptr_t in_index)
Removes the user data at the given index from this kit.
- Parameters
in_index – The index of the user data to remove.
- Returns
A reference to this kit.
-
DistantLightKit &UnsetUserData(IntPtrTArray const &in_indices)
Removes the user data at the given indices from this kit.
- Parameters
in_indices – The indices of the user data to remove.
- Returns
A reference to this kit.
-
DistantLightKit &UnsetUserData(size_t in_count, intptr_t const in_indices[])
Removes the user data at the given indices from this kit.
- Parameters
in_count – The size of the following array.
in_indices – The indices of the user data to remove.
- Returns
A reference to this kit.
-
virtual ~DistantLightKit()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::DistantLightKit
-
void Consume(DistantLightKit &in_kit)