Template Class PointKey

Inheritance Relationships

Base Type

Class Documentation

template<typename T>
class PointKey : public lsst::afw::table::FunctorKey<lsst::geom::Point<T, 2>>

A FunctorKey used to get or set a lsst::geom::Point from an (x,y) pair of int or double Keys.

Unnamed Group

bool operator==(PointKey<T> const &other) const

Compare the FunctorKey for equality with another, using the underlying x and y Keys.

bool operator!=(PointKey<T> const &other) const

Public Functions

PointKey()

Default constructor; instance will not be usable unless subsequently assigned to.

PointKey(Key<T> const &x, Key<T> const &y)

Construct from a pair of Keys.

PointKey(PointKey const&)
PointKey(PointKey&&)
PointKey &operator=(PointKey const&)
PointKey &operator=(PointKey&&)
~PointKey()
PointKey(SubSchema const &s)

Construct from a subschema, assuming x and y subfields

If a schema has “a_x” and “a_y” fields, this constructor allows you to construct a PointKey via:

PointKey<T> k(schema["a"]);

lsst::geom::Point<T, 2> get(BaseRecord const &record) const

Get a Point from the given record.

void set(BaseRecord &record, lsst::geom::Point<T, 2> const &value) const

Set a Point in the given record.

std::size_t hash_value() const

Return a hash of this object.

bool isValid() const

Return True if both the x and y Keys are valid.

Key<T> getX() const

Return the underlying x Key.

Key<T> getY() const

Return the underlying y Key.

Public Static Functions

static PointKey addFields(Schema &schema, std::string const &name, std::string const &doc, std::string const &unit)

Add a pair of _x, _y fields to a Schema, and return a PointKey that points to them.

Parameters
  • [inout] schema: Schema to add fields to.

  • [in] name: Name prefix for all fields; “_x”, “_y”, will be appended to this to form the full field names.

  • [in] doc: String used as the documentation for the fields.

  • [in] unit: String used as the unit for all fields.