Panda3D
|
This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). More...
Public Member Functions | |
Point3D () | |
Point3D (VBase3D const copy) | |
Point3D (double x, double y, double z) | |
Point3D (double fill_value) | |
unsigned int | addHash (unsigned int hash) |
Adds the vector into the running hash. | |
unsigned int | addHash (unsigned int hash, double threshold) |
Adds the vector into the running hash. | |
addToCell (int i, double value) | |
addX (double value) | |
addY (double value) | |
addZ (double value) | |
bool | almostEqual (VBase3D const other) |
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. | |
bool | almostEqual (VBase3D const other, double threshold) |
Returns true if two vectors are memberwise equal within a specified tolerance. | |
int | compareTo (VBase3D const other) |
This flavor of compare_to uses a default threshold value based on the numeric type. | |
int | compareTo (VBase3D const other, double threshold) |
Sorts vectors lexicographically, componentwise. | |
Point3D | cross (VBase3D const other) |
crossInto (VBase3D const other) | |
double | dot (VBase3D const other) |
fill (double fill_value) | |
Sets each element of the vector to the indicated fill_value. | |
VBase3D | fmax (VBase3D const other) |
VBase3D | fmin (VBase3D const other) |
PyObject | getattr (string attr_name) |
This is used to implement swizzle masks. | |
double | getCell (int i) |
getData () | |
Returns the address of the first of the three data elements in the vector. | |
unsigned int | getHash (double threshold) |
Returns a suitable hash for phash_map. | |
unsigned int | getHash () |
Returns a suitable hash for phash_map. | |
int | getNumComponents () |
Returns the number of elements in the vector, three. | |
VBase3D | getStandardizedHpr () |
Try to un-spin the hpr to a standard form. | |
double | getX () |
Point2D | getXy () |
Returns a 2-component vector that shares just the first two components of this vector. | |
Point2D | getXz () |
Returns a 2-component vector that shares just the first and last components of this vector. | |
double | getY () |
Point2D | getYz () |
Returns a 2-component vector that shares just the last two components of this vector. | |
double | getZ () |
bool | isNan () |
Returns true if any component of the vector is not-a-number, false otherwise. | |
double | length () |
Returns the length of the vector, by the Pythagorean theorem. | |
double | lengthSquared () |
Returns the square of the vector's length, cheap and easy. | |
bool | normalize () |
Normalizes the vector in place. | |
operator new (unsigned int size) | |
bool | operator!= (VBase3D const other) |
Point3D | operator* (double scalar) |
VBase3D | operator*= (double scalar) |
VBase3D | operator+ (VBase3D const other) |
Point3D | operator+ (Vec3D const other) |
VBase3D | operator+= (VBase3D const other) |
Point3D | operator- (Vec3D const other) |
VBase3D | operator- (VBase3D const other) |
Vec3D | operator- (Point3D const other) |
Point3D | operator- () |
VBase3D | operator-= (VBase3D const other) |
Point3D | operator/ (double scalar) |
VBase3D | operator/= (double scalar) |
bool | operator< (VBase3D const other) |
This performs a lexicographical comparison. | |
Point3D | operator= (VBase3D const copy) |
Point3D | operator= (double fill_value) |
bool | operator== (VBase3D const other) |
double | operator[] (int i) |
operator[] (int i) | |
output (ostream out) | |
Point3D | project (VBase3D const onto) |
Returns a new vector representing the projection of this vector onto another one. | |
pythonRepr (ostream out, string class_name) | |
PyObject | reduce (PyObject self) |
This special Python method is implement to provide support for the pickle module. | |
set (double x, double y, double z) | |
int | setattr (PyObject self, string attr_name, PyObject assign) |
This is used to implement write masks. | |
setCell (int i, double value) | |
setitem (int i, double v) | |
setX (double value) | |
setY (double value) | |
setZ (double value) | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
static Point3D | origin (CoordinateSystem cs) |
Returns the origin of the indicated coordinate system. | |
static Point3D | origin () |
Returns the origin of the indicated coordinate system. | |
static Point3D | rfu (double right, double fwd, double up) |
Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system. | |
static Point3D | rfu (double right, double fwd, double up, CoordinateSystem cs) |
Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system. | |
static int | size () |
Returns 3: the number of components of a LVecBase3. | |
static Point3D const | unitX () |
Returns a unit X point. | |
static Point3D const | unitY () |
Returns a unit Y point. | |
static Point3D const | unitZ () |
Returns a unit Z point. | |
static Point3D const | zero () |
Returns a zero-length point. |
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.
Point3D | ( | ) |
Point3D | ( | double | fill_value | ) |
Point3D | ( | double | x, |
double | y, | ||
double | z | ||
) |
Adds the vector into the running hash.
addToCell | ( | int | i, |
double | value | ||
) | [inherited] |
addX | ( | double | value | ) | [inherited] |
addY | ( | double | value | ) | [inherited] |
addZ | ( | double | value | ) | [inherited] |
bool almostEqual | ( | VBase3D const | other | ) | [inherited] |
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.
bool almostEqual | ( | VBase3D const | other, |
double | threshold | ||
) | [inherited] |
Returns true if two vectors are memberwise equal within a specified tolerance.
This flavor of compare_to uses a default threshold value based on the numeric type.
Sorts vectors lexicographically, componentwise.
Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).
crossInto | ( | VBase3D const | other | ) | [inherited] |
double dot | ( | VBase3D const | other | ) | [inherited] |
fill | ( | double | fill_value | ) | [inherited] |
Sets each element of the vector to the indicated fill_value.
This is particularly useful for initializing to zero.
PyObject getattr | ( | string | attr_name | ) |
This is used to implement swizzle masks.
Reimplemented from VBase3D.
double getCell | ( | int | i | ) | [inherited] |
static TypeHandle getClassType | ( | ) | [static] |
Reimplemented from VBase3D.
getData | ( | ) | [inherited] |
Returns the address of the first of the three data elements in the vector.
The remaining elements occupy the next positions consecutively in memory.
unsigned int getHash | ( | ) | [inherited] |
Returns a suitable hash for phash_map.
unsigned int getHash | ( | double | threshold | ) | [inherited] |
Returns a suitable hash for phash_map.
int getNumComponents | ( | ) | [inherited] |
Returns the number of elements in the vector, three.
VBase3D getStandardizedHpr | ( | ) | [inherited] |
Try to un-spin the hpr to a standard form.
Like all standards, someone decides between many arbitrary possible standards. This function assumes that 0 and 360 are the same, as is 720 and -360. Also 180 and -180 are the same. Another example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf.is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion.is_same_direction
double getX | ( | ) | [inherited] |
Point2D getXy | ( | ) |
Returns a 2-component vector that shares just the first two components of this vector.
Reimplemented from VBase3D.
Point2D getXz | ( | ) |
Returns a 2-component vector that shares just the first and last components of this vector.
Reimplemented from VBase3D.
double getY | ( | ) | [inherited] |
Point2D getYz | ( | ) |
Returns a 2-component vector that shares just the last two components of this vector.
Reimplemented from VBase3D.
double getZ | ( | ) | [inherited] |
bool isNan | ( | ) | [inherited] |
Returns true if any component of the vector is not-a-number, false otherwise.
double length | ( | ) | [inherited] |
Returns the length of the vector, by the Pythagorean theorem.
double lengthSquared | ( | ) | [inherited] |
Returns the square of the vector's length, cheap and easy.
bool normalize | ( | ) | [inherited] |
Normalizes the vector in place.
Returns true if the vector was normalized, false if it was a zero-length vector.
operator new | ( | unsigned int | size | ) | [inherited] |
bool operator!= | ( | VBase3D const | other | ) | [inherited] |
VBase3D operator*= | ( | double | scalar | ) | [inherited] |
VBase3D operator/= | ( | double | scalar | ) | [inherited] |
bool operator< | ( | VBase3D const | other | ) | [inherited] |
This performs a lexicographical comparison.
It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().
bool operator== | ( | VBase3D const | other | ) | [inherited] |
operator[] | ( | int | i | ) | [inherited] |
double operator[] | ( | int | i | ) | [inherited] |
static Point3D origin | ( | ) | [static] |
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.
static Point3D origin | ( | CoordinateSystem | cs | ) | [static] |
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.
output | ( | ostream | out | ) | [inherited] |
Returns a new vector representing the projection of this vector onto another one.
The resulting vector will be a scalar multiple of onto.
Reimplemented from VBase3D.
PyObject reduce | ( | PyObject | self | ) | [inherited] |
This special Python method is implement to provide support for the pickle module.
static Point3D rfu | ( | double | right, |
double | fwd, | ||
double | up, | ||
CoordinateSystem | cs | ||
) | [static] |
Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.
static Point3D rfu | ( | double | right, |
double | fwd, | ||
double | up | ||
) | [static] |
Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.
set | ( | double | x, |
double | y, | ||
double | z | ||
) | [inherited] |
int setattr | ( | PyObject | self, |
string | attr_name, | ||
PyObject | assign | ||
) |
This is used to implement write masks.
Reimplemented from VBase3D.
setCell | ( | int | i, |
double | value | ||
) | [inherited] |
setitem | ( | int | i, |
double | v | ||
) | [inherited] |
setX | ( | double | value | ) | [inherited] |
setY | ( | double | value | ) | [inherited] |
setZ | ( | double | value | ) | [inherited] |
static int size | ( | ) | [static, inherited] |
Returns 3: the number of components of a LVecBase3.