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

SetDirection

See

Default value

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.

See

SetCameraRelative

See

Default value

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

SubwindowKit::SetRenderingAlgorithm()

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