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.
More...
|
object | __getattr__ (str attr_name) |
|
| __init__ () |
|
| __init__ (const LVecBase2f copy, float z) |
|
| __init__ (const LVecBase3f copy) |
|
| __init__ (float fill_value) |
|
| __init__ (float x, float y, float z) |
|
str | __repr__ () |
|
int | __setattr__ (str attr_name, object assign) |
|
LPoint3f | cross (const LVecBase3f other) |
|
LPoint2f | getXy () |
| Returns a 2-component vector that shares just the first two components of this vector. More...
|
|
LPoint2f | getXz () |
| Returns a 2-component vector that shares just the first and last components of this vector. More...
|
|
LPoint2f | getYz () |
| Returns a 2-component vector that shares just the last two components of this vector. More...
|
|
LPoint3f | normalized () |
| 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. More...
|
|
LPoint3f | operator* (float scalar) |
|
LVecBase3f | operator+ (const LVecBase3f other) |
|
LPoint3f | operator+ (const LVector3f other) |
|
LPoint3f | operator- () |
|
LVector3f | operator- (const LPoint3f other) |
|
LVecBase3f | operator- (const LVecBase3f other) |
|
LPoint3f | operator- (const LVector3f other) |
|
LPoint3f | operator/ (float scalar) |
|
LPoint3f | operator= (const LVecBase3f copy) |
|
LPoint3f | operator= (float fill_value) |
|
LPoint3f | project (const LVecBase3f onto) |
| Returns a new vector representing the projection of this vector onto another one. The resulting vector will be a scalar multiple of onto. More...
|
|
Public Member Functions inherited from LVecBase3f |
object | __getattr__ (str attr_name) |
|
| __init__ () |
|
| __init__ (const LVecBase2f copy, float z) |
|
| __init__ (const LVecBase3f copy) |
|
| __init__ (float fill_value) |
|
| __init__ (float x, float y, float z) |
|
object | __ipow__ (float exponent) |
|
LVecBase3f | __pow__ (float exponent) |
|
object | __reduce__ () |
|
str | __repr__ () |
|
int | __setattr__ (str attr_name, object assign) |
|
size_t | addHash (size_t hash) |
| Adds the vector into the running hash. More...
|
|
size_t | addHash (size_t hash, float threshold) |
| Adds the vector into the running hash. More...
|
|
| addToCell (int i, float value) |
|
| addX (float value) |
|
| addY (float value) |
|
| addZ (float value) |
|
bool | almostEqual (const LVecBase3f other) |
| Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. More...
|
|
bool | almostEqual (const LVecBase3f other, float threshold) |
| Returns true if two vectors are memberwise equal within a specified tolerance. More...
|
|
int | compareTo (const LVecBase3f other) |
| This flavor of compare_to uses a default threshold value based on the numeric type. More...
|
|
int | compareTo (const LVecBase3f other, float threshold) |
| 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). More...
|
|
| componentwiseMult (const LVecBase3f other) |
|
LVecBase3f | cross (const LVecBase3f other) |
|
| crossInto (const LVecBase3f other) |
|
float | dot (const LVecBase3f other) |
|
| fill (float fill_value) |
| Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero. More...
|
|
LVecBase3f | fmax (const LVecBase3f other) |
|
LVecBase3f | fmin (const LVecBase3f other) |
|
| generateHash (ChecksumHashGenerator hashgen) |
| Adds the vector to the indicated hash generator. More...
|
|
| generateHash (ChecksumHashGenerator hashgen, float threshold) |
| Adds the vector to the indicated hash generator. More...
|
|
float | getCell (int i) |
|
| getData () |
| Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory. More...
|
|
size_t | getHash () |
| Returns a suitable hash for phash_map. More...
|
|
size_t | getHash (float threshold) |
| Returns a suitable hash for phash_map. More...
|
|
int | getNumComponents () |
| Returns the number of elements in the vector, three. More...
|
|
LVecBase3f | getStandardizedHpr () |
| 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. More...
|
|
float | getX () |
|
LVecBase2f | getXy () |
| Returns a 2-component vector that shares just the first two components of this vector. More...
|
|
LVecBase2f | getXz () |
| Returns a 2-component vector that shares just the first and last components of this vector. More...
|
|
float | getY () |
|
LVecBase2f | getYz () |
| Returns a 2-component vector that shares just the last two components of this vector. More...
|
|
float | getZ () |
|
bool | isNan () |
| Returns true if any component of the vector is not-a-number, false otherwise. More...
|
|
float | length () |
| Returns the length of the vector, by the Pythagorean theorem. More...
|
|
float | lengthSquared () |
| Returns the square of the vector's length, cheap and easy. More...
|
|
bool | normalize () |
| Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector. More...
|
|
LVecBase3f | normalized () |
| 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. More...
|
|
| operator new (size_t size) |
|
bool | operator!= (const LVecBase3f other) |
|
LVecBase3f | operator* (float scalar) |
|
LVecBase3f | operator*= (float scalar) |
|
LVecBase3f | operator+ (const LVecBase3f other) |
|
LVecBase3f | operator+= (const LVecBase3f other) |
|
LVecBase3f | operator- () |
|
LVecBase3f | operator- (const LVecBase3f other) |
|
LVecBase3f | operator-= (const LVecBase3f other) |
|
LVecBase3f | operator/ (float scalar) |
|
LVecBase3f | operator/= (float scalar) |
|
bool | operator< (const LVecBase3f other) |
|
LVecBase3f | operator= (const LVecBase3f copy) |
|
LVecBase3f | operator= (float fill_value) |
|
bool | operator== (const LVecBase3f other) |
|
| operator[] (int i, float assign_val) |
|
float | operator[] (int i) |
|
| output (Ostream out) |
|
LVecBase3f | project (const LVecBase3f onto) |
| Returns a new vector representing the projection of this vector onto another one. The resulting vector will be a scalar multiple of onto. More...
|
|
| readDatagram (DatagramIterator source) |
| Reads the vector from the Datagram using get_stdfloat(). More...
|
|
| readDatagramFixed (DatagramIterator source) |
| Reads the vector from the Datagram using get_float32() or get_float64(). See write_datagram_fixed(). More...
|
|
| set (float x, float y, float z) |
|
| setCell (int i, float value) |
|
| setX (float value) |
|
| setY (float value) |
|
| setZ (float value) |
|
| writeDatagram (Datagram destination) |
| Writes the vector to the Datagram using add_stdfloat(). This is appropriate when you want to write the vector using the standard width setting, especially when you are writing a bam file. More...
|
|
| writeDatagramFixed (Datagram destination) |
| 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(). This is appropriate when you want to write a fixed-width value to the datagram, especially when you are not writing a bam file. More...
|
|
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.