Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::DistantLightKit Class Reference

The DistantLightKit class is a user space object. More...

#include <hps.h>

Inheritance diagram for HPS::DistantLightKit:
Collaboration diagram for HPS::DistantLightKit:

Public Member Functions

 DistantLightKit ()
 The default constructor creates an empty DistantLightKit object. More...
 
 DistantLightKit (DistantLightKit const &in_kit)
 The copy constructor creates a new DistantLightKit object that contains the same settings as the source DistantLightKit. More...
 
 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. More...
 
DistantLightKitoperator= (DistantLightKit &&in_that)
 The move assignment operator transfers the underlying impl of the rvalue reference to this DistantLightKit thereby avoiding a copy. More...
 
virtual ~DistantLightKit ()
 
HPS::Type ObjectType () const
 
void Consume (DistantLightKit &in_kit)
 Copies the source DistantLightKit into this DistantLightKit and resets the source kit. More...
 
void Set (DistantLightKit const &in_kit)
 Copies the source DistantLightKit into this DistantLightKit. More...
 
void Show (DistantLightKit &out_kit) const
 Copies this DistantLightKit into the given DistantLightKit. More...
 
DistantLightKitoperator= (DistantLightKit const &in_kit)
 Copies the source DistantLightKit into this DistantLightKit. More...
 
bool Empty () const
 Indicates whether this DistantLightKit has any values set on it. More...
 
bool Equals (DistantLightKit const &in_kit) const
 Check if the source DistantLightKit is equivalent to this DistantLightKit. More...
 
bool operator== (DistantLightKit const &in_kit) const
 Check if the source DistantLightKit is equivalent to this DistantLightKit. More...
 
bool operator!= (DistantLightKit const &in_kit) const
 Check if the source DistantLightKit is not equivalent to this DistantLightKit. More...
 
DistantLightKitSetPriority (int in_priority)
 Assigns a specific drawing priority value to the DistantLightKit. More...
 
DistantLightKitSetDirection (HPS::Vector const &in_vector)
 Sets the direction in which this DistantLightKit lies. More...
 
DistantLightKitSetColor (RGBAColor const &in_rgba_color)
 Sets the RGBA color to use for this DistantLightKit. More...
 
DistantLightKitSetColorByIndex (float in_index)
 Sets the color index to use for this DistantLightKit. More...
 
DistantLightKitSetCameraRelative (bool in_state)
 Sets the camera-relative setting for this DistantLightKit. More...
 
DistantLightKitUnsetPriority ()
 Removes the drawing priority setting. More...
 
DistantLightKitUnsetDirection ()
 Removes the direction set on this DistantLightKit. More...
 
DistantLightKitUnsetColor ()
 Removes the color (RGBA or material index) set on this DistantLightKit. More...
 
DistantLightKitUnsetCameraRelative ()
 Removes the camera-relative setting on this DistantLightKit. More...
 
DistantLightKitUnsetEverything ()
 Removes all settings from the DistantLightKit. More...
 
bool ShowPriority (int &out_priority) const
 Shows the drawing priority for this DistantLightKit. More...
 
bool ShowDirection (HPS::Vector &out_vector) const
 Shows the direction in which this DistantLightKit lies. More...
 
bool ShowColor (Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const
 Shows the color for this DistantLightKit. More...
 
bool ShowCameraRelative (bool &out_state) const
 Shows the camera-relative setting for this DistantLightKit. More...
 
DistantLightKitSetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 Sets user data on this kit. More...
 
DistantLightKitSetUserData (intptr_t in_index, ByteArray const &in_data)
 Sets user data on this kit. More...
 
DistantLightKitSetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 Sets user data on this kit. More...
 
DistantLightKitUnsetUserData (intptr_t in_index)
 Removes the user data at the given index from this kit. More...
 
DistantLightKitUnsetUserData (size_t in_count, intptr_t const in_indices[])
 Removes the user data at the given indices from this kit. More...
 
DistantLightKitUnsetUserData (IntPtrTArray const &in_indices)
 Removes the user data at the given indices from this kit. More...
 
DistantLightKitUnsetAllUserData ()
 Removes all user data from this kit. More...
 
size_t ShowUserDataCount () const
 Get the number of user data indices set on this kit. More...
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 Shows the indices of all user data set on this kit. More...
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 Shows the user data at a given index for this kit. More...
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 Shows all user data for this kit. More...
 
virtual HPS::Type Type () const
 This function returns the true type of the underlying object. More...
 
virtual void Reset ()
 Resets this object to its initial, uninitialized state. More...
 
bool HasType (HPS::Type in_mask) const
 This function indicates whether this Object has the given Type mask. More...
 
intptr_t GetClassID () const
 Returns a unique identifier that is shared by all objects of the same class. More...
 
intptr_t GetInstanceID () const
 Returns an identifier that can be used to identify which instance of a class an object is. More...
 

Static Public Member Functions

template<typename T >
static intptr_t ClassID ()
 Unique identifier for this class. More...
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::DistantLightKit
 

Detailed Description

The DistantLightKit class is a user space object.

It is a kit analog to a DistantLightKey.

Constructor & Destructor Documentation

◆ DistantLightKit() [1/3]

HPS::DistantLightKit::DistantLightKit ( )

The default constructor creates an empty DistantLightKit object.

◆ DistantLightKit() [2/3]

HPS::DistantLightKit::DistantLightKit ( DistantLightKit const &  in_kit)

The copy constructor creates a new DistantLightKit object that contains the same settings as the source DistantLightKit.

Parameters
in_kitThe source DistantLightKit to copy.

◆ DistantLightKit() [3/3]

HPS::DistantLightKit::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_thatAn rvalue reference to a DistantLightKit to take the impl from.

◆ ~DistantLightKit()

virtual HPS::DistantLightKit::~DistantLightKit ( )
virtual

Member Function Documentation

◆ ClassID()

template<typename T >
static intptr_t HPS::Object::ClassID ( )
inlinestaticinherited

Unique identifier for this class.

Note: this method uses construction of static objects. If used in a constructor, it should be used in the body not the initializer list.

◆ Consume()

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

Copies the source DistantLightKit into this DistantLightKit and resets the source kit.

Parameters
in_kitThe source DistantLightKit to consume.

◆ Empty()

bool HPS::DistantLightKit::Empty ( ) const
virtual

Indicates whether this DistantLightKit has any values set on it.

Returns
true if no values are set on this DistantLightKit, false otherwise.

Reimplemented from HPS::Object.

◆ Equals()

bool HPS::DistantLightKit::Equals ( DistantLightKit const &  in_kit) const

Check if the source DistantLightKit is equivalent to this DistantLightKit.

Parameters
in_kitThe source DistantLightKit to compare to this DistantLightKit.
Returns
true if the objects are equivalent, false otherwise.

◆ GetClassID()

intptr_t HPS::Object::GetClassID ( ) const
inherited

Returns a unique identifier that is shared by all objects of the same class.

Returns
A unique value shared by all objects of the same class.

◆ GetInstanceID()

intptr_t HPS::Object::GetInstanceID ( ) const
inherited

Returns an identifier that can be used to identify which instance of a class an object is.

Different keys and controls will return the same value if they are backed by the same database resource.

Returns
A value unique to an instance of an object and all objects that are backed by the same database resource.

◆ HasType()

bool HPS::Object::HasType ( HPS::Type  in_mask) const
inherited

This function indicates whether this Object has the given Type mask.

Parameters
in_maskThe Type mask to check against this Object.
Returns
true if this Object has the given Type mask, false otherwise.

◆ ObjectType()

HPS::Type HPS::DistantLightKit::ObjectType ( ) const
inlinevirtual

Reimplemented from HPS::Kit.

Here is the call graph for this function:

◆ operator!=()

bool HPS::DistantLightKit::operator!= ( DistantLightKit const &  in_kit) const

Check if the source DistantLightKit is not equivalent to this DistantLightKit.

Parameters
in_kitThe source DistantLightKit to compare to this DistantLightKit.
Returns
true if the objects are not equivalent, false otherwise.

◆ operator=() [1/2]

DistantLightKit& HPS::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_thatAn rvalue reference to a DistantLightKit to take the impl from.
Returns
A reference to this DistantLightKit.

◆ operator=() [2/2]

DistantLightKit& HPS::DistantLightKit::operator= ( DistantLightKit const &  in_kit)

Copies the source DistantLightKit into this DistantLightKit.

Parameters
in_kitThe source DistantLightKit to copy.
Returns
A reference to this DistantLightKit.

◆ operator==()

bool HPS::DistantLightKit::operator== ( DistantLightKit const &  in_kit) const

Check if the source DistantLightKit is equivalent to this DistantLightKit.

Parameters
in_kitThe source DistantLightKit to compare to this DistantLightKit.
Returns
true if the objects are equivalent, false otherwise.

◆ Reset()

◆ Set()

void HPS::DistantLightKit::Set ( DistantLightKit const &  in_kit)

Copies the source DistantLightKit into this DistantLightKit.

Parameters
in_kitThe source DistantLightKit to copy.

◆ SetCameraRelative()

DistantLightKit& HPS::DistantLightKit::SetCameraRelative ( bool  in_state)

Sets the camera-relative setting for this DistantLightKit.

Parameters
in_stateWhether the direction of this DistantLightKit is treated as being in object space or camera-relative space.
Returns
A reference to this DistantLightKit.
See also
SetDirection
Default value

◆ SetColor()

DistantLightKit& HPS::DistantLightKit::SetColor ( RGBAColor const &  in_rgba_color)

Sets the RGBA color to use for this DistantLightKit.

Parameters
in_rgba_colorThe RGBA color to use for this DistantLightKit.
Returns
A reference to this DistantLightKit.

◆ SetColorByIndex()

DistantLightKit& HPS::DistantLightKit::SetColorByIndex ( float  in_index)

Sets the color index to use for this DistantLightKit.

Parameters
in_indexThe color index to use for this DistantLightKit.
Returns
A reference to this DistantLightKit.

◆ SetDirection()

DistantLightKit& HPS::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_vectorThe 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.
See also
SetCameraRelative
Default value

◆ SetPriority()

DistantLightKit& HPS::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.

Parameters
in_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
A reference to this object.
See also
SubwindowKit::SetPriority()
SubwindowKit::SetRenderingAlgorithm()

◆ SetUserData() [1/3]

DistantLightKit& HPS::DistantLightKit::SetUserData ( intptr_t  in_index,
size_t  in_bytes,
byte const  in_data[] 
)

Sets user data on this kit.

Parameters
in_indexThe index of the user data to set.
in_bytesThe number of bytes of user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this kit.

◆ SetUserData() [2/3]

DistantLightKit& HPS::DistantLightKit::SetUserData ( intptr_t  in_index,
ByteArray const &  in_data 
)

Sets user data on this kit.

Parameters
in_indexThe index of the user data to set.
in_dataThe bytes of user data to set.
Returns
A reference to this kit.

◆ SetUserData() [3/3]

DistantLightKit& HPS::DistantLightKit::SetUserData ( IntPtrTArray const &  in_indices,
ByteArrayArray const &  in_data 
)

Sets user data on this kit.

Parameters
in_indicesAn array of user data indices to set.
in_dataAn array of bytes of user data to set.
Returns
A reference to this kit.

◆ Show()

void HPS::DistantLightKit::Show ( DistantLightKit out_kit) const

Copies this DistantLightKit into the given DistantLightKit.

Parameters
out_kitThe DistantLightKit to populate with the contents of this DistantLightKit.

◆ ShowCameraRelative()

bool HPS::DistantLightKit::ShowCameraRelative ( bool &  out_state) const

Shows the camera-relative setting for this DistantLightKit.

Parameters
out_stateWhether 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.

◆ ShowColor()

bool HPS::DistantLightKit::ShowColor ( Material::Type out_type,
RGBAColor out_rgba_color,
float &  out_index 
) const

Shows the color for this DistantLightKit.

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::RGBAColor.
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.

◆ ShowDirection()

bool HPS::DistantLightKit::ShowDirection ( HPS::Vector out_vector) const

Shows the direction in which this DistantLightKit lies.

Parameters
out_vectorThe direction in which this DistantLightKit lies.
Returns
true if a direction was set, false otherwise.

◆ ShowPriority()

bool HPS::DistantLightKit::ShowPriority ( int &  out_priority) const

Shows the drawing priority for this DistantLightKit.

Parameters
out_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
true if drawing priority was specified, false otherwise.

◆ ShowUserData() [1/2]

bool HPS::DistantLightKit::ShowUserData ( intptr_t  in_index,
ByteArray out_data 
) const

Shows the user data at a given index for this kit.

Parameters
in_indexThe index of the user data to show.
out_dataThe user data at the given index.
Returns
true if there is user data at the given index, false otherwise.

◆ ShowUserData() [2/2]

bool HPS::DistantLightKit::ShowUserData ( IntPtrTArray out_indices,
ByteArrayArray out_data 
) const

Shows all user data for this kit.

Parameters
out_indicesAn array of all user data indices set on this kit.
out_dataAn array of all user data set on this kit.
Returns
true if there is user data on this kit, false otherwise.

◆ ShowUserDataCount()

size_t HPS::DistantLightKit::ShowUserDataCount ( ) const

Get the number of user data indices set on this kit.

◆ ShowUserDataIndices()

bool HPS::DistantLightKit::ShowUserDataIndices ( IntPtrTArray out_indices) const

Shows the indices of all user data set on this kit.

Parameters
out_indicesThe user data indices set on this kit.
Returns
The number of user data indices set on this kit.

◆ Type()

virtual HPS::Type HPS::Kit::Type ( ) const
inlinevirtualinherited

This function returns the true type of the underlying object.

This function is useful for finding the type of smart pointer objects that have been cast to more generic types.

Returns
The true type of the object in question.

Reimplemented from HPS::Object.

◆ UnsetAllUserData()

DistantLightKit& HPS::DistantLightKit::UnsetAllUserData ( )

Removes all user data from this kit.

Returns
A reference to this kit.

◆ UnsetCameraRelative()

DistantLightKit& HPS::DistantLightKit::UnsetCameraRelative ( )

Removes the camera-relative setting on this DistantLightKit.

Returns
A reference to this DistantLightKit.

◆ UnsetColor()

DistantLightKit& HPS::DistantLightKit::UnsetColor ( )

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

Returns
A reference to this DistantLightKit.

◆ UnsetDirection()

DistantLightKit& HPS::DistantLightKit::UnsetDirection ( )

Removes the direction set on this DistantLightKit.

Returns
A reference to this DistantLightKit.

◆ UnsetEverything()

DistantLightKit& HPS::DistantLightKit::UnsetEverything ( )

Removes all settings from the DistantLightKit.

Returns
A reference to this DistantLightKit.

◆ UnsetPriority()

DistantLightKit& HPS::DistantLightKit::UnsetPriority ( )

Removes the drawing priority setting.

Returns
A reference to this object.

◆ UnsetUserData() [1/3]

DistantLightKit& HPS::DistantLightKit::UnsetUserData ( intptr_t  in_index)

Removes the user data at the given index from this kit.

Parameters
in_indexThe index of the user data to remove.
Returns
A reference to this kit.

◆ UnsetUserData() [2/3]

DistantLightKit& HPS::DistantLightKit::UnsetUserData ( size_t  in_count,
intptr_t const  in_indices[] 
)

Removes the user data at the given indices from this kit.

Parameters
in_countThe size of the following array.
in_indicesThe indices of the user data to remove.
Returns
A reference to this kit.

◆ UnsetUserData() [3/3]

DistantLightKit& HPS::DistantLightKit::UnsetUserData ( IntPtrTArray const &  in_indices)

Removes the user data at the given indices from this kit.

Parameters
in_indicesThe indices of the user data to remove.
Returns
A reference to this kit.

Member Data Documentation

◆ staticType

const HPS::Type HPS::DistantLightKit::staticType = HPS::Type::DistantLightKit
static

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