# ShapeCoordinate

class HPS::ShapeCoordinate

The ShapeCoordinate class is a coordinate used in shape definitions. Two ShapeCoordinates can be used together to define a ShapePoint It is a 2d parametric coordinate.

Public Functions

bool Equals(ShapeCoordinate const &in_that) const

This function is used to check an object for equivalence to this.

Parameters

in_that – The object to compare to this.

Returns

true if the objects are equivalent, false otherwise.

inline bool operator!=(ShapeCoordinate const &in_that) const

This function is used to check an object for equivalence to this.

Parameters

in_that – The object to compare to this.

Returns

true if the objects are not equivalent, false otherwise.

inline bool operator==(ShapeCoordinate const &in_that) const

This function is used to check an object for equivalence to this.

Parameters

in_that – The object to compare to this.

Returns

true if the objects are equivalent, false otherwise.

ShapeCoordinate &SetMargins(float in_margin_one, float in_margin_two = 0.0f, float in_margin_three = 0.0f, float in_margin_four = 0.0f)

Sets the margins for this ShapeCoordinate.

Parameters
• in_margin_one – The first margin value.

• in_margin_two – The second margin value.

• in_margin_three – The third margin value.

• in_margin_four – The fourth margin value.

Returns

A reference to this ShapeCoordinate.

ShapeCoordinate()

Default constructor.

ShapeCoordinate(float in_x, float in_y)

Construct a new ShapeCoordinate from an (x, y) pair.

Parameters
• in_x – A normalized distance over the horizontal text bounds.

• in_y – A normalized distance over the vertical text bounds.

ShapeCoordinate(float in_x, float in_y, float in_radius)

Construct a new ShapeCoordinate from an (x, y, radius) tuple.

Parameters
• in_x – A normalized distance over the horizontal text bounds.

• in_y – A normalized distance over the vertical text bounds.

• in_radius – A normalized distance over the radius of the circle circumscribing the text bounds.

ShapeCoordinate(float in_x, float in_y, float in_radius, FloatArray const &in_margins)

Construct a new ShapeCoordinate from an (x, y, radius) tuple and up to four margin values.

Parameters
• in_x – A normalized distance over the horizontal text bounds.

• in_y – A normalized distance over the vertical text bounds.

• in_radius – A normalized distance over the radius of the circle circumscribing the text bounds.

• in_margins – A series of up to four distances, normalized over the respective text margins.

ShapeCoordinate(float in_x, float in_y, float in_radius, size_t in_count, float const in_margins[])

Construct a new ShapeCoordinate from an (x, y, radius) tuple and up to four margin values.

Parameters
• in_x – A normalized distance over the horizontal text bounds.

• in_y – A normalized distance over the vertical text bounds.

• in_radius – A normalized distance over the radius of the circle circumscribing the text bounds.

• in_count – The size of in_margins.

• in_margins – A series of up to four distances, normalized over the respective text margins.

ShapeCoordinate(float in_x, float in_y, FloatArray const &in_margins)

Construct a new ShapeCoordinate from an (x, y) pair and up to four margins values

Parameters
• in_x – A normalized distance over the horizontal text bounds.

• in_y – A normalized distance over the vertical text bounds.

• in_margins – A series of up to four distances, normalized over the respective text margins.

ShapeCoordinate(float in_x, float in_y, size_t in_count, float const in_margins[])

Construct a new ShapeCoordinate from an (x, y) pair and up to four margins values

Parameters
• in_x – A normalized distance over the horizontal text bounds.

• in_y – A normalized distance over the vertical text bounds.

• in_size – The size of in_margins.

• in_margins – A series of up to four distances, normalized over the respective text margins.

bool ShowMargins(FloatArray &out_margins) const

Shows the margins for this ShapeCoordinate.

Parameters

out_margins – The margins for this ShapeCoordinate.

Returns

true if margins were set, false otherwise.

ShapeCoordinate &UnsetMargins()

Removes the margins for this ShapeCoordinate.

Returns

A reference to this ShapeCoordinate.

Public Members

FloatArray margins