# LPoint3i

class LPoint3i

Bases: `LVecBase3i`

This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). Some of the methods are slightly different between `LPoint3` and `LVector3`; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.

Inheritance diagram

LPoint3i(void) = default
LPoint3i(LVecBase3i const &copy)
LPoint3i(int fill_value)
LPoint3i(int x, int y, int z)
LPoint3i(LVecBase2i const &copy, int z)
LPoint3i(LPoint3i const&) = default
LPoint3i cross(LVecBase3i const &other) const
static TypeHandle get_class_type(void)
LPoint2i get_xy(void) const

Returns a 2-component vector that shares just the first two components of this vector.

LPoint2i get_xz(void) const

Returns a 2-component vector that shares just the first and last components of this vector.

LPoint2i get_yz(void) const

Returns a 2-component vector that shares just the last two components of this vector.

LPoint3i const &origin(CoordinateSystem cs = ::CS_default)

Returns the origin of the indicated coordinate system. This is always 0, 0, 0 with all of our existing coordinate systems; it’s hard to imagine it ever being different.

LPoint3i rfu(int right, int fwd, int up, CoordinateSystem cs = ::CS_default)

Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.

LPoint3i const &unit_x(void)

Returns a unit X point.

LPoint3i const &unit_y(void)

Returns a unit Y point.

LPoint3i const &unit_z(void)

Returns a unit Z point.

LPoint3i const &zero(void)

Returns a zero-length point.