Panda3D
 All Classes Functions Variables Enumerations
Public Member Functions | Static Public Member Functions | List of all members
LPoint3i Class Reference

This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). More...

#include "lpoint3.h"

Inheritance diagram for LPoint3i:
LVecBase3i

Public Member Functions

 LPoint3i (const LVecBase3i &copy)
 
 LPoint3i (int fill_value)
 
 LPoint3i (int x, int y, int z)
 
 LPoint3i (const LVecBase2i &copy, int z)
 
LPoint3i cross (const LVecBase3i &other) const
 
LPoint2i get_xy () const
 Returns a 2-component vector that shares just the first two components of this vector. More...
 
LPoint2i get_xz () const
 Returns a 2-component vector that shares just the first and last components of this vector. More...
 
LPoint2i get_yz () const
 Returns a 2-component vector that shares just the last two components of this vector. More...
 
LPoint3i operator* (int scalar) const
 
LVecBase3i operator+ (const LVecBase3i &other) const
 
LPoint3i operator+ (const LVector3i &other) const
 
LPoint3i operator- () const
 
LVecBase3i operator- (const LVecBase3i &other) const
 
LVector3i operator- (const LPoint3i &other) const
 
LPoint3i operator- (const LVector3i &other) const
 
LPoint3i operator/ (int scalar) const
 
LPoint3ioperator= (const LVecBase3i &copy)
 
LPoint3ioperator= (int fill_value)
 
LPoint3i project (const LVecBase3i &onto) const
 Returns a new vector representing the projection of this vector onto another one. More...
 
- Public Member Functions inherited from LVecBase3i
 LVecBase3i (const LVecBase3i &copy)
 
 LVecBase3i (int fill_value)
 
 LVecBase3i (int x, int y, int z)
 
 LVecBase3i (const LVecBase2i &copy, int z)
 
 LVecBase3i (const EVector3 &v)
 
size_t add_hash (size_t hash) const
 Adds the vector into the running hash. More...
 
size_t add_hash (size_t hash, int threshold) const
 Adds the vector into the running hash. More...
 
void add_to_cell (int i, int value)
 
void add_x (int value)
 
void add_y (int value)
 
void add_z (int value)
 
bool almost_equal (const LVecBase3i &other, int threshold) const
 Returns true if two vectors are memberwise equal within a specified tolerance. More...
 
bool almost_equal (const LVecBase3i &other) const
 Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. More...
 
iterator begin ()
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
const_iterator begin () const
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
int compare_to (const LVecBase3i &other) const
 This flavor of compare_to uses a default threshold value based on the numeric type. More...
 
int compare_to (const LVecBase3i &other, int threshold) const
 Sorts vectors lexicographically, componentwise. More...
 
void componentwise_mult (const LVecBase3i &other)
 
LVecBase3i cross (const LVecBase3i &other) const
 
void cross_into (const LVecBase3i &other)
 
int dot (const LVecBase3i &other) const
 
iterator end ()
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
const_iterator end () const
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
void fill (int fill_value)
 Sets each element of the vector to the indicated fill_value. More...
 
LVecBase3i fmax (const LVecBase3i &other) const
 
LVecBase3i fmin (const LVecBase3i &other) const
 
void generate_hash (ChecksumHashGenerator &hashgen) const
 Adds the vector to the indicated hash generator. More...
 
void generate_hash (ChecksumHashGenerator &hashgen, int threshold) const
 Adds the vector to the indicated hash generator. More...
 
int get_cell (int i) const
 
const int * get_data () const
 Returns the address of the first of the three data elements in the vector. More...
 
size_t get_hash () const
 Returns a suitable hash for phash_map. More...
 
size_t get_hash (int threshold) const
 Returns a suitable hash for phash_map. More...
 
int get_num_components () const
 Returns the number of elements in the vector, three. More...
 
LVecBase3i get_standardized_hpr () const
 Try to un-spin the hpr to a standard form. More...
 
int get_x () const
 
LVecBase2i get_xy () const
 Returns a 2-component vector that shares just the first two components of this vector. More...
 
LVecBase2i get_xz () const
 Returns a 2-component vector that shares just the first and last components of this vector. More...
 
int get_y () const
 
LVecBase2i get_yz () const
 Returns a 2-component vector that shares just the last two components of this vector. More...
 
int get_z () const
 
bool is_nan () const
 Returns true if any component of the vector is not-a-number, false otherwise. More...
 
int length () const
 Returns the length of the vector, by the Pythagorean theorem. More...
 
int length_squared () const
 Returns the square of the vector's length, cheap and easy. More...
 
bool normalize ()
 Normalizes the vector in place. More...
 
bool operator!= (const LVecBase3i &other) const
 
LVecBase3i operator* (int scalar) const
 
void operator*= (int scalar)
 
LVecBase3i operator+ (const LVecBase3i &other) const
 
void operator+= (const LVecBase3i &other)
 
LVecBase3i operator- () const
 
LVecBase3i operator- (const LVecBase3i &other) const
 
void operator-= (const LVecBase3i &other)
 
LVecBase3i operator/ (int scalar) const
 
void operator/= (int scalar)
 
bool operator< (const LVecBase3i &other) const
 This performs a lexicographical comparison. More...
 
LVecBase3ioperator= (const LVecBase3i &copy)
 
LVecBase3ioperator= (int fill_value)
 
bool operator== (const LVecBase3i &other) const
 
int operator[] (int i) const
 
int & operator[] (int i)
 
void output (ostream &out) const
 
LVecBase3i project (const LVecBase3i &onto) const
 Returns a new vector representing the projection of this vector onto another one. More...
 
void read_datagram (DatagramIterator &source)
 Reads the vector from the Datagram using get_stdfloat(). More...
 
void read_datagram_fixed (DatagramIterator &source)
 Reads the vector from the Datagram using get_float32() or get_float64(). More...
 
void set (int x, int y, int z)
 
void set_cell (int i, int value)
 
void set_x (int value)
 
void set_y (int value)
 
void set_z (int value)
 
void write_datagram (Datagram &destination) const
 Writes the vector to the Datagram using add_stdfloat(). More...
 
void write_datagram_fixed (Datagram &destination) const
 Writes the vector to the Datagram using add_float32() or add_float64(), depending on the type of floats in the vector, regardless of the setting of Datagram::set_stdfloat_double(). More...
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
static const LPoint3iorigin (CoordinateSystem cs=CS_default)
 Returns the origin of the indicated coordinate system. More...
 
static 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. More...
 
static const LPoint3iunit_x ()
 Returns a unit X point. More...
 
static const LPoint3iunit_y ()
 Returns a unit Y point. More...
 
static const LPoint3iunit_z ()
 Returns a unit Z point. More...
 
static const LPoint3izero ()
 Returns a zero-length point. More...
 
- Static Public Member Functions inherited from LVecBase3i
static TypeHandle get_class_type ()
 
static void init_type ()
 
static int size ()
 Returns 3: the number of components of a LVecBase3. More...
 
static const LVecBase3iunit_x ()
 Returns a unit X vector. More...
 
static const LVecBase3iunit_y ()
 Returns a unit Y vector. More...
 
static const LVecBase3iunit_z ()
 Returns a unit Z vector. More...
 
static const LVecBase3izero ()
 Returns a zero-length vector. More...
 

Additional Inherited Members

- Public Types inherited from LVecBase3i
enum  { num_components = 3, is_int = 0 }
 
typedef const int * const_iterator
 
typedef LSimpleMatrix< int, 1, 3 > EVector3
 
typedef const int * iterator
 
typedef int numeric_type
 
- Public Attributes inherited from LVecBase3i
EVector3 _v
 

Detailed Description

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.

Definition at line 914 of file lpoint3.h.

Member Function Documentation

LPoint2i LPoint3i::get_xy ( ) const
inline

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

Definition at line 1114 of file lpoint3.h.

LPoint2i LPoint3i::get_xz ( ) const
inline

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

Definition at line 1125 of file lpoint3.h.

LPoint2i LPoint3i::get_yz ( ) const
inline

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

Definition at line 1136 of file lpoint3.h.

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

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.

Definition at line 1253 of file lpoint3.h.

LPoint3i LPoint3i::project ( const LVecBase3i onto) const
inline

Returns a new vector representing the projection of this vector onto another one.

The resulting vector will be a scalar multiple of onto.

Definition at line 1219 of file lpoint3.h.

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

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

Definition at line 1265 of file lpoint3.h.

const LPoint3i & LPoint3i::unit_x ( )
inlinestatic

Returns a unit X point.

Definition at line 1083 of file lpoint3.h.

const LPoint3i & LPoint3i::unit_y ( )
inlinestatic

Returns a unit Y point.

Definition at line 1093 of file lpoint3.h.

const LPoint3i & LPoint3i::unit_z ( )
inlinestatic

Returns a unit Z point.

Definition at line 1103 of file lpoint3.h.

const LPoint3i & LPoint3i::zero ( )
inlinestatic

Returns a zero-length point.

Definition at line 1073 of file lpoint3.h.


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