GridKey

class HPS::GridKey : public HPS::GeometryKey

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

Public Functions

void Consume(GridKit &in_kit)

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

Parameters

in_kit – The kit from which to get the settings to replace on this GridKey.

GridKey()

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

GridKey(GridKey &&in_that)

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

Parameters

in_that – An rvalue reference to a GridKey to take the underlying object from.

GridKey(GridKey const &in_that)

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

Parameters

in_that – The source GridKey to copy.

explicit GridKey(Key const &in_that)

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_that – The source Key to copy.

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.

GridKey &operator=(GridKey &&in_that)

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

Parameters

in_that – An rvalue reference to a GridKey to take the underlying object from.

Returns

A reference to this GridKey.

GridKey &operator=(GridKey const &in_that)

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

Parameters

in_that – The source GridKey for the assignment.

Returns

A reference to this GridKey.

void Set(GridKit const &in_kit)

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

Parameters

in_kit – The kit from which to get the settings to replace on this GridKey.

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_count – The count of the number of grid elements along the vector determined by the first reference point.

Returns

A reference to this GridKey.

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_point – The first reference point for this GridKey.

Returns

A reference to this GridKey.

GridKey &SetOrigin(Point const &in_origin)

Sets the origin for this GridKey.

Parameters

in_origin – The origin for this GridKey.

Returns

A reference to this GridKey.

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_count – The count of the number of grid elements along the vector determined by the second reference point.

Returns

A reference to this GridKey.

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_point – The second reference point for this GridKey.

Returns

A reference to this GridKey.

GridKey &SetType(Grid::Type in_type)

Sets the type of this GridKey.

Parameters

in_type – The type of this GridKey.

Returns

A reference to this GridKey.

void Show(GridKit &out_kit) const

Copy the contents of this GridKey into the specified kit.

Parameters

out_kit – The kit to populate with the contents of this GridKey.

bool ShowFirstCount(int &out_first_count) const

Shows the first reference count for this GridKey.

Parameters

out_first_count – The first reference count for this GridKey.

Returns

true if a first reference count was set, false otherwise.

bool ShowFirstPoint(Point &out_first_point) const

Shows the first reference point for this GridKey.

Parameters

out_first_point – The first reference point for this GridKey.

Returns

true if a first reference point was set, false otherwise.

bool ShowOrigin(Point &out_origin) const

Shows the origin for this GridKey.

Parameters

out_origin – The origin for this GridKey.

Returns

true if an origin was set, false otherwise.

bool ShowSecondCount(int &out_second_count) const

Shows the second reference count for this GridKey.

Parameters

out_second_count – The second reference count for this GridKey.

Returns

true if a second reference count was set, false otherwise.

bool ShowSecondPoint(Point &out_second_point) const

Shows the second reference point for this GridKey.

Parameters

out_second_point – The second reference point for this GridKey.

Returns

true if a second reference point was set, false otherwise.

bool ShowType(Grid::Type &out_type) const

Shows the type for this GridKey.

Parameters

out_type – The type for this GridKey.

Returns

true if a type was set, false otherwise.

~GridKey()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::GridKey