#include <hps.h>

Inheritance diagram for HPS::GridKey:
HPS::GeometryKey HPS::Key HPS::Object

Public Member Functions

void Consume (GridKit &in_kit)
 
 GridKey ()
 
 GridKey (Key const &in_that)
 
 GridKey (GridKey const &in_that)
 
 GridKey (GridKey &&in_that)
 
HPS::Type ObjectType () const
 
GridKeyoperator= (GridKey const &in_that)
 
GridKeyoperator= (GridKey &&in_that)
 
void Set (GridKit const &in_kit)
 
GridKeySetFirstCount (int in_first_count)
 
GridKeySetFirstPoint (Point const &in_first_point)
 
GridKeySetOrigin (Point const &in_origin)
 
GridKeySetSecondCount (int in_second_count)
 
GridKeySetSecondPoint (Point const &in_second_point)
 
GridKeySetType (Grid::Type in_type)
 
void Show (GridKit &out_kit) const
 
bool ShowFirstCount (int &out_first_count) const
 
bool ShowFirstPoint (Point &out_first_point) const
 
bool ShowOrigin (Point &out_origin) const
 
bool ShowSecondCount (int &out_second_count) const
 
bool ShowSecondPoint (Point &out_second_point) const
 
bool ShowType (Grid::Type &out_type) const
 
- Public Member Functions inherited from HPS::GeometryKey
 GeometryKey ()
 
 GeometryKey (Key const &in_that)
 
 GeometryKey (GeometryKey const &in_that)
 
 GeometryKey (GeometryKey &&in_that)
 
GeometryKeyoperator= (GeometryKey const &in_that)
 
GeometryKeyoperator= (GeometryKey &&in_that)
 
GeometryKeySetPriority (int in_priority)
 
GeometryKeySetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[])
 
GeometryKeySetUserData (intptr_t in_index, ByteArray const &in_data)
 
GeometryKeySetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data)
 
bool ShowBounding (BoundingKit &out_kit) const
 
bool ShowPriority (int &out_priority) const
 
size_t ShowReferrers (SegmentKeyArray &out_segments) const
 
size_t ShowReferrers (ReferenceKeyArray &out_references) 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
 
GeometryKeyUnsetAllUserData ()
 
GeometryKeyUnsetPriority ()
 
GeometryKeyUnsetUserData (intptr_t in_index)
 
GeometryKeyUnsetUserData (size_t in_count, intptr_t const in_indices[])
 
GeometryKeyUnsetUserData (IntPtrTArray const &in_indices)
 
- Public Member Functions inherited from HPS::Key
virtual void Assign (Key const &in_that)
 
Key CopyTo (SegmentKey const &in_destination) const
 
void Delete ()
 
bool Equals (Key const &in_that) const
 
size_t GetHash () const
 
bool HasOwner () const
 
 Key ()
 
 Key (Key const &in_that)
 
 Key (Control const &in_control)
 
 Key (Key &&in_that)
 
void MoveTo (SegmentKey const &in_new_owner)
 
bool operator!= (Key const &in_that) const
 
Keyoperator= (Key &&in_that)
 
Keyoperator= (Key const &in_that)
 
bool operator== (Key const &in_that) const
 
SegmentKey Owner () const
 
SegmentKey Up () const
 
virtual ~Key ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
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 ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::GridKey
 
- Static Public Attributes inherited from HPS::GeometryKey
static const HPS::Type staticType = HPS::Type::GeometryKey
 
- Static Public Attributes inherited from HPS::Key
static const HPS::Type staticType = HPS::Type::Key
 
- 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 ()
 

Detailed Description

The GridKey class is a smart pointer to a database object. It is a handle to a grid created by SegmentKey::InsertGrid.

Constructor & Destructor Documentation

◆ GridKey() [1/4]

HPS::GridKey::GridKey ( )

The default constructor creates an uninitialized GridKey object. The Type() function will return Type::None.

◆ GridKey() [2/4]

HPS::GridKey::GridKey ( Key const &  in_that)
explicit

This constructor creates an GridKey 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 grid key. Otherwise the copy will fail and the resulting GridKey will be invalid.

Parameters
in_thatThe source Key to copy.

◆ GridKey() [3/4]

HPS::GridKey::GridKey ( GridKey const &  in_that)

The copy constructor creates a GridKey object that shares the underlying smart-pointer of the source GridKey.

Parameters
in_thatThe source GridKey to copy.

◆ GridKey() [4/4]

HPS::GridKey::GridKey ( GridKey &&  in_that)

The move constructor creates a GridKey by transferring the underlying object of the rvalue reference to this GridKey.

Parameters
in_thatAn rvalue reference to a GridKey to take the underlying object from.

Member Function Documentation

◆ Consume()

void HPS::GridKey::Consume ( GridKit in_kit)

Completely replaces all settings on this GridKey with those set on the specified kit and resets the kit.

Parameters
in_kitThe kit from which to get the settings to replace on this GridKey.

◆ ObjectType()

HPS::Type HPS::GridKey::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::GeometryKey.

◆ operator=() [1/2]

GridKey& HPS::GridKey::operator= ( GridKey const &  in_that)

Associate this GridKey with the same underlying object as the source GridKey.

Parameters
in_thatThe source GridKey for the assignment.
Returns
A reference to this GridKey.

◆ operator=() [2/2]

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

The move assignment operator transfers the underlying object of the rvalue reference to this GridKey.

Parameters
in_thatAn rvalue reference to a GridKey to take the underlying object from.
Returns
A reference to this GridKey.

◆ Set()

void HPS::GridKey::Set ( GridKit const &  in_kit)

Replace those settings on this GridKey with those set on the specified kit.

Parameters
in_kitThe kit from which to get the settings to replace on this GridKey.

◆ SetFirstCount()

GridKey& HPS::GridKey::SetFirstCount ( int  in_first_count)

Sets the first reference count for this GridKey, i.e., the number of grid elements along the vector determined by the first reference point. If the type of the grid is Grid::Type::Quadrilateral, there are three type of behavior depending on if the count is greater than zero, less than zero, or equal to zero. If the count is greater than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the first reference point. If the count is less than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the first reference point and additionally that same number of intersections along the negation of that vector. Lastly, if the count is zero, the grid will extend infinitely along the vector determined by the first reference point and its negation. If the type of the grid is Grid::Type::Radial, there are two types of behavior depending on if the count is greater than zero or equal to zero. If the count is greater than zero, it determines the finite number of circular arcs which will intersect with the radial vectors. If the count is equal to zero, there will be an infinite number of intersections along the radial arcs. Negative counts are invalid in this case.

Parameters
in_first_countThe count of the number of grid elements along the vector determined by the first reference point.
Returns
A reference to this GridKey.

◆ SetFirstPoint()

GridKey& HPS::GridKey::SetFirstPoint ( Point const &  in_first_point)

Sets the first reference point for this GridKey. If the type of the grid is Grid::Type::Quadrilateral, this defines the first point along one of the vectors defining the grid (the other vector is determined by the second point). It also determines the spacing between the grid lines along the vector. If the type of the grid is Grid::Type::Radial, this defines the first point along the radius vector which will intersect with the circular grid arcs.

Parameters
in_first_pointThe first reference point for this GridKey.
Returns
A reference to this GridKey.

◆ SetOrigin()

GridKey& HPS::GridKey::SetOrigin ( Point const &  in_origin)

Sets the origin for this GridKey.

Parameters
in_originThe origin for this GridKey.
Returns
A reference to this GridKey.

◆ SetSecondCount()

GridKey& HPS::GridKey::SetSecondCount ( int  in_second_count)

Sets the second reference count for this GridKey, i.e., the number of grid elements along the vector determined by the second reference point. If the type of the grid is Grid::Type::Quadrilateral, there are three type of behavior depending on if the count is greater than zero, less than zero, or equal to zero. If the count is greater than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the second reference point. If the count is less than zero, the count determines the finite number of grid lines which will intersect with the vector determined by the second reference point and additionally that same number of intersections along the negation of that vector. Lastly, if the count is zero, the grid will extend infinitely along the vector determined by the second reference point and its negation. If the type of the grid is Grid::Type::Radial, the count determines the number of radial vectors for the grid.

Parameters
in_second_countThe count of the number of grid elements along the vector determined by the second reference point.
Returns
A reference to this GridKey.

◆ SetSecondPoint()

GridKey& HPS::GridKey::SetSecondPoint ( Point const &  in_second_point)

Sets the second reference point for this GridKey. If the type of the grid Grid::Type::Quadrilateral, this defines the first point along the second vector defining the grid (the other vector is determined by the first point). It also determines the spacing between the grid lines along the vector. If the type of the grid is Grid::Type::Radial, this defines the first point on the first circular arc which intersects with the radial vectors, and determines the spacing of the arcs along the radial vectors.

Parameters
in_second_pointThe second reference point for this GridKey.
Returns
A reference to this GridKey.

◆ SetType()

GridKey& HPS::GridKey::SetType ( Grid::Type  in_type)

Sets the type of this GridKey.

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

◆ Show()

void HPS::GridKey::Show ( GridKit out_kit) const

Copy the contents of this GridKey into the specified kit.

Parameters
out_kitThe kit to populate with the contents of this GridKey.

◆ ShowFirstCount()

bool HPS::GridKey::ShowFirstCount ( int &  out_first_count) const

Shows the first reference count for this GridKey.

Parameters
out_first_countThe first reference count for this GridKey.
Returns
true if a first reference count was set, false otherwise.

◆ ShowFirstPoint()

bool HPS::GridKey::ShowFirstPoint ( Point out_first_point) const

Shows the first reference point for this GridKey.

Parameters
out_first_pointThe first reference point for this GridKey.
Returns
true if a first reference point was set, false otherwise.

◆ ShowOrigin()

bool HPS::GridKey::ShowOrigin ( Point out_origin) const

Shows the origin for this GridKey.

Parameters
out_originThe origin for this GridKey.
Returns
true if an origin was set, false otherwise.

◆ ShowSecondCount()

bool HPS::GridKey::ShowSecondCount ( int &  out_second_count) const

Shows the second reference count for this GridKey.

Parameters
out_second_countThe second reference count for this GridKey.
Returns
true if a second reference count was set, false otherwise.

◆ ShowSecondPoint()

bool HPS::GridKey::ShowSecondPoint ( Point out_second_point) const

Shows the second reference point for this GridKey.

Parameters
out_second_pointThe second reference point for this GridKey.
Returns
true if a second reference point was set, false otherwise.

◆ ShowType()

bool HPS::GridKey::ShowType ( Grid::Type out_type) const

Shows the type for this GridKey.

Parameters
out_typeThe type for this GridKey.
Returns
true if a type was set, false otherwise.

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