Panda3D
|
This is a three-component vector distance (as opposed to a three-component point, which represents a particular point in space). More...
#include "lvector3.h"
Public Member Functions | |
LVector3i (const LVecBase3i ©) | |
LVector3i (int fill_value) | |
LVector3i (int x, int y, int z) | |
LVector3i (const LVecBase2i ©, int z) | |
int | angle_deg (const LVector3i &other) const |
Returns the angle between this vector and the other one, expressed in degrees. More... | |
int | angle_rad (const LVector3i &other) const |
Returns the unsigned angle between this vector and the other one, expressed in radians. More... | |
LVector3i | cross (const LVecBase3i &other) const |
LVector2i | get_xy () const |
Returns a 2-component vector that shares just the first two components of this vector. More... | |
LVector2i | get_xz () const |
Returns a 2-component vector that shares just the first and last components of this vector. More... | |
LVector2i | get_yz () const |
Returns a 2-component vector that shares just the last two components of this vector. More... | |
LVector3i | normalized () const |
Normalizes the vector and returns the normalized vector as a copy. More... | |
LVector3i | operator* (int scalar) const |
LVecBase3i | operator+ (const LVecBase3i &other) const |
LVector3i | operator+ (const LVector3i &other) const |
LVector3i | operator- () const |
LVecBase3i | operator- (const LVecBase3i &other) const |
LVector3i | operator- (const LVector3i &other) const |
LVector3i | operator/ (int scalar) const |
LVector3i & | operator= (const LVecBase3i ©) |
LVector3i & | operator= (int fill_value) |
LVector3i | project (const LVecBase3i &onto) const |
Returns a new vector representing the projection of this vector onto another one. More... | |
int | relative_angle_deg (const LVector3i &other) const |
This method is deprecated. More... | |
int | relative_angle_rad (const LVector3i &other) const |
This method is deprecated. More... | |
int | signed_angle_deg (const LVector3i &other, const LVector3i &ref) const |
Returns the signed angle between two vectors. More... | |
int | signed_angle_rad (const LVector3i &other, const LVector3i &ref) const |
returns the signed angle between two vectors. More... | |
![]() | |
LVecBase3i (const LVecBase3i ©) | |
LVecBase3i (int fill_value) | |
LVecBase3i (int x, int y, int z) | |
LVecBase3i (const LVecBase2i ©, 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... | |
LVecBase3i | normalized () const |
Normalizes the vector and returns the normalized vector as a copy. 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... | |
LVecBase3i & | operator= (const LVecBase3i ©) |
LVecBase3i & | operator= (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 LVector3i | back (CoordinateSystem cs=CS_default) |
Returns the back vector for the given coordinate system. More... | |
static LVector3i | down (CoordinateSystem cs=CS_default) |
Returns the down vector for the given coordinate system. More... | |
static LVector3i | forward (CoordinateSystem cs=CS_default) |
Returns the forward vector for the given coordinate system. More... | |
static TypeHandle | get_class_type () |
static void | init_type () |
static LVector3i | left (CoordinateSystem cs=CS_default) |
Returns the left vector for the given coordinate system. More... | |
static LVector3i | rfu (int right, int fwd, int up, CoordinateSystem cs=CS_default) |
Returns a vector that is described by its right, forward, and up components, in whatever way the coordinate system represents that vector. More... | |
static LVector3i | right (CoordinateSystem cs=CS_default) |
Returns the right vector for the given coordinate system. More... | |
static const LVector3i & | unit_x () |
Returns a unit X vector. More... | |
static const LVector3i & | unit_y () |
Returns a unit Y vector. More... | |
static const LVector3i & | unit_z () |
Returns a unit Z vector. More... | |
static LVector3i | up (CoordinateSystem cs=CS_default) |
Returns the up vector for the given coordinate system. More... | |
static const LVector3i & | zero () |
Returns a zero-length vector. More... | |
![]() | |
static TypeHandle | get_class_type () |
static void | init_type () |
static int | size () |
Returns 3: the number of components of a LVecBase3. More... | |
static const LVecBase3i & | unit_x () |
Returns a unit X vector. More... | |
static const LVecBase3i & | unit_y () |
Returns a unit Y vector. More... | |
static const LVecBase3i & | unit_z () |
Returns a unit Z vector. More... | |
static const LVecBase3i & | zero () |
Returns a zero-length vector. More... | |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
EVector3 | _v |
This is a three-component vector distance (as opposed to a three-component point, which represents a particular point in space).
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 1371 of file lvector3.h.
|
inline |
Returns the angle between this vector and the other one, expressed in degrees.
Both vectors should be initially normalized.
Definition at line 1722 of file lvector3.h.
|
inline |
Returns the unsigned angle between this vector and the other one, expressed in radians.
Both vectors should be initially normalized.
Definition at line 1702 of file lvector3.h.
References MathNumbers::cpi().
|
inlinestatic |
Returns the back vector for the given coordinate system.
Definition at line 1903 of file lvector3.h.
|
inlinestatic |
Returns the down vector for the given coordinate system.
Definition at line 1881 of file lvector3.h.
|
inlinestatic |
Returns the forward vector for the given coordinate system.
Definition at line 1850 of file lvector3.h.
|
inline |
Returns a 2-component vector that shares just the first two components of this vector.
Definition at line 1582 of file lvector3.h.
|
inline |
Returns a 2-component vector that shares just the first and last components of this vector.
Definition at line 1593 of file lvector3.h.
|
inline |
Returns a 2-component vector that shares just the last two components of this vector.
Definition at line 1604 of file lvector3.h.
|
inlinestatic |
Returns the left vector for the given coordinate system.
Definition at line 1892 of file lvector3.h.
|
inline |
Normalizes the vector and returns the normalized vector as a copy.
If the vector was a zero-length vector, a zero length vector will be returned.
Definition at line 1678 of file lvector3.h.
|
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 1690 of file lvector3.h.
|
inline |
|
inline |
|
inlinestatic |
Returns a vector that is described by its right, forward, and up components, in whatever way the coordinate system represents that vector.
Definition at line 1916 of file lvector3.h.
|
inlinestatic |
Returns the right vector for the given coordinate system.
Definition at line 1839 of file lvector3.h.
Returns the signed angle between two vectors.
The angle is positive if the rotation from this vector to other is clockwise when looking in the direction of the ref vector.
Vectors (except the ref vector) should be initially normalized.
Definition at line 1759 of file lvector3.h.
returns the signed angle between two vectors.
The angle is positive if the rotation from this vector to other is clockwise when looking in the direction of the ref vector.
Vectors (except the ref vector) should be initially normalized.
Definition at line 1738 of file lvector3.h.
|
inlinestatic |
Returns a unit X vector.
Definition at line 1551 of file lvector3.h.
|
inlinestatic |
Returns a unit Y vector.
Definition at line 1561 of file lvector3.h.
|
inlinestatic |
Returns a unit Z vector.
Definition at line 1571 of file lvector3.h.
|
inlinestatic |
Returns the up vector for the given coordinate system.
Definition at line 1812 of file lvector3.h.
|
inlinestatic |
Returns a zero-length vector.
Definition at line 1541 of file lvector3.h.