HPS::InfiniteLineKit Class Reference

#include <hps.h>

Inheritance diagram for HPS::InfiniteLineKit:
HPS::Kit HPS::Object

Public Member Functions

void Consume (InfiniteLineKit &in_kit)
 
bool Empty () const
 
bool Equals (InfiniteLineKit const &in_kit) const
 
 InfiniteLineKit ()
 
 InfiniteLineKit (InfiniteLineKit const &in_kit)
 
 InfiniteLineKit (InfiniteLineKit &&in_that)
 
HPS::Type ObjectType () const
 
bool operator!= (InfiniteLineKit const &in_kit) const
 
InfiniteLineKitoperator= (InfiniteLineKit &&in_that)
 
InfiniteLineKitoperator= (InfiniteLineKit const &in_kit)
 
bool operator== (InfiniteLineKit const &in_kit) const
 
void Set (InfiniteLineKit const &in_kit)
 
InfiniteLineKitSetFirst (Point const &in_first)
 
InfiniteLineKitSetPriority (int in_priority)
 
InfiniteLineKitSetSecond (Point const &in_second)
 
InfiniteLineKitSetType (InfiniteLine::Type in_type)
 
InfiniteLineKitSetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
InfiniteLineKitSetUserData (intptr_t in_index, ByteArray const &in_data)
 
InfiniteLineKitSetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
void Show (InfiniteLineKit &out_kit) const
 
bool ShowFirst (Point &out_first) const
 
bool ShowPriority (int &out_priority) const
 
bool ShowSecond (Point &out_second) const
 
bool ShowType (InfiniteLine::Type &out_type) const
 
bool ShowUserData (intptr_t in_index, ByteArray &out_data) const
 
bool ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const
 
size_t ShowUserDataCount () const
 
bool ShowUserDataIndices (IntPtrTArray &out_indices) const
 
InfiniteLineKitUnsetAllUserData ()
 
InfiniteLineKitUnsetEverything ()
 
InfiniteLineKitUnsetFirst ()
 
InfiniteLineKitUnsetPriority ()
 
InfiniteLineKitUnsetSecond ()
 
InfiniteLineKitUnsetType ()
 
InfiniteLineKitUnsetUserData (intptr_t in_index)
 
InfiniteLineKitUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
InfiniteLineKitUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Kit
virtual HPS::Type Type () const
 
- Public Member Functions inherited from HPS::Object
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::InfiniteLineKit
 
- Static Public Attributes inherited from HPS::Kit
static const HPS::Type staticType = HPS::Type::Kit
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 
- Protected Member Functions inherited from HPS::Kit
 Kit (Kit &&in_that)
 
Kitoperator= (Kit &&in_that)
 

Detailed Description

The InfiniteLineKit class is a user space object. It is a kit analog to an InfiniteLineKey.

Constructor & Destructor Documentation

◆ InfiniteLineKit() [1/3]

HPS::InfiniteLineKit::InfiniteLineKit ( )

The default constructor creates an empty InfiniteLineKit object.

◆ InfiniteLineKit() [2/3]

HPS::InfiniteLineKit::InfiniteLineKit ( InfiniteLineKit const &  in_kit)

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

Parameters
in_kitThe source InfiniteLineKit to copy.

◆ InfiniteLineKit() [3/3]

HPS::InfiniteLineKit::InfiniteLineKit ( InfiniteLineKit &&  in_that)

The move constructor creates an InfiniteLineKit by transferring the underlying impl of the rvalue reference to this InfiniteLineKit thereby avoiding a copy and allocation.

Parameters
in_thatAn rvalue reference to an InfiniteLineKit to take the impl from.

Member Function Documentation

◆ Consume()

void HPS::InfiniteLineKit::Consume ( InfiniteLineKit in_kit)

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

Parameters
in_kitThe source InfiniteLineKit to consume.

◆ Empty()

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

Indicates whether this InfiniteLineKit has any values set on it.

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

Reimplemented from HPS::Object.

◆ Equals()

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

Check if the source InfiniteLineKit is equivalent to this InfiniteLineKit.

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

◆ ObjectType()

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

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.

Reimplemented from HPS::Kit.

◆ operator!=()

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

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

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

◆ operator=() [1/2]

InfiniteLineKit& HPS::InfiniteLineKit::operator= ( InfiniteLineKit &&  in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this InfiniteLineKit thereby avoiding a copy.

Parameters
in_thatAn rvalue reference to an InfiniteLineKit to take the impl from.
Returns
A reference to this InfiniteLineKit.

◆ operator=() [2/2]

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

Copies the source InfiniteLineKit into this InfiniteLineKit.

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

◆ operator==()

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

Check if the source InfiniteLineKit is equivalent to this InfiniteLineKit.

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

◆ Set()

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

Copies the source InfiniteLineKit into this InfiniteLineKit.

Parameters
in_kitThe source InfiniteLineKit to copy.

◆ SetFirst()

InfiniteLineKit& HPS::InfiniteLineKit::SetFirst ( Point const &  in_first)

Sets the first point for this InfiniteLineKit.

Parameters
in_firstThe first point for this InfiniteLineKit. If the type is InfiniteLine::Type::Ray, this will be the point at which the ray starts.
Returns
A reference to this InfiniteLineKit.

◆ SetPriority()

InfiniteLineKit& HPS::InfiniteLineKit::SetPriority ( int  in_priority)

Assigns a specific drawing priority value to the InfiniteLineKit. It affects the order in which the contents of this 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()

◆ SetSecond()

InfiniteLineKit& HPS::InfiniteLineKit::SetSecond ( Point const &  in_second)

Sets the second point for this InfiniteLineKit.

Parameters
in_secondThe second point for this InfiniteLineKit. If the type is InfiniteLine::Type::Ray, this will be the point through which the ray passes.
Returns
A reference to this InfiniteLineKit.

◆ SetType()

InfiniteLineKit& HPS::InfiniteLineKit::SetType ( InfiniteLine::Type  in_type)

Sets the type of this InfiniteLineKit.

Parameters
in_typeThe type of this InfiniteLineKit.
Returns
A reference to this InfiniteLineKit.

◆ SetUserData() [1/3]

InfiniteLineKit& HPS::InfiniteLineKit::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]

InfiniteLineKit& HPS::InfiniteLineKit::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]

InfiniteLineKit& HPS::InfiniteLineKit::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::InfiniteLineKit::Show ( InfiniteLineKit out_kit) const

Copies this InfiniteLineKit into the given InfiniteLineKit.

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

◆ ShowFirst()

bool HPS::InfiniteLineKit::ShowFirst ( Point out_first) const

Shows the first point for this InfiniteLineKit.

Parameters
out_firstThe first point for this InfiniteLineKit.
Returns
true if a first point was set, false otherwise.

◆ ShowPriority()

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

Shows the drawing priority.

Parameters
out_priorityThe drawing priority, higher priority items are drawn on top of lower priority items.
Returns
true if the setting is valid, false otherwise.

◆ ShowSecond()

bool HPS::InfiniteLineKit::ShowSecond ( Point out_second) const

Shows the second point for this InfiniteLineKit.

Parameters
out_secondThe second point for this InfiniteLineKit.
Returns
true if a second point was set, false otherwise.

◆ ShowType()

bool HPS::InfiniteLineKit::ShowType ( InfiniteLine::Type out_type) const

Shows the type of this InfiniteLineKit.

Parameters
out_typeThe type of this InfiniteLineKit.
Returns
true if a type was set, false otherwise.

◆ ShowUserData() [1/2]

bool HPS::InfiniteLineKit::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::InfiniteLineKit::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::InfiniteLineKit::ShowUserDataCount ( ) const

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

◆ ShowUserDataIndices()

bool HPS::InfiniteLineKit::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.

◆ UnsetAllUserData()

InfiniteLineKit& HPS::InfiniteLineKit::UnsetAllUserData ( )

Removes all user data from this kit.

Returns
A reference to this kit.

◆ UnsetEverything()

InfiniteLineKit& HPS::InfiniteLineKit::UnsetEverything ( )

Removes all settings from the InfiniteLineKit.

Returns
A reference to this InfiniteLineKit.

◆ UnsetFirst()

InfiniteLineKit& HPS::InfiniteLineKit::UnsetFirst ( )

Removes the first point for this InfiniteLineKit.

Returns
A reference to this InfiniteLineKit.

◆ UnsetPriority()

InfiniteLineKit& HPS::InfiniteLineKit::UnsetPriority ( )

Removes a drawing priority setting.

Returns
A reference to this object.

◆ UnsetSecond()

InfiniteLineKit& HPS::InfiniteLineKit::UnsetSecond ( )

Removes the second point for this InfiniteLineKit.

Returns
A reference to this InfiniteLineKit.

◆ UnsetType()

InfiniteLineKit& HPS::InfiniteLineKit::UnsetType ( )

Removes the type of this InfiniteLineKit.

Returns
A reference to this InfiniteLineKit.

◆ UnsetUserData() [1/3]

InfiniteLineKit& HPS::InfiniteLineKit::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]

InfiniteLineKit& HPS::InfiniteLineKit::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]

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

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