Panda3D
|
This is the base class for all three-component vectors and points. More...
Public Types | |
enum | { num_components = 4, is_int = 0 } |
Public Member Functions | |
object | __getattr__ (str attr_name) |
__init__ () | |
__init__ (const LPoint3d point) | |
Constructs an LVecBase4 from an LPoint3. More... | |
__init__ (const LVecBase3d copy, double w) | |
__init__ (const LVecBase4d) | |
__init__ (const LVector3d vector) | |
Constructs an LVecBase4 from an LVector3. More... | |
__init__ (const UnalignedLVecBase4d copy) | |
__init__ (double fill_value) | |
__init__ (double x, double y, double z, double w) | |
object | __ipow__ (double exponent) |
LVecBase4d | __pow__ (double exponent) |
object | __reduce__ () |
str | __repr__ () |
int | __setattr__ (str attr_name, object assign) |
int | addHash (int hash) |
Adds the vector into the running hash. More... | |
int | addHash (int hash, double threshold) |
Adds the vector into the running hash. More... | |
addToCell (int i, double value) | |
addW (double value) | |
addX (double value) | |
addY (double value) | |
addZ (double value) | |
bool | almostEqual (const LVecBase4d other) |
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. More... | |
bool | almostEqual (const LVecBase4d other, double threshold) |
Returns true if two vectors are memberwise equal within a specified tolerance. More... | |
int | compareTo (const LVecBase4d other) |
This flavor of compare_to uses a default threshold value based on the numeric type. More... | |
int | compareTo (const LVecBase4d other, double threshold) |
Sorts vectors lexicographically, componentwise. More... | |
componentwiseMult (const LVecBase4d other) | |
double | dot (const LVecBase4d other) |
fill (double fill_value) | |
Sets each element of the vector to the indicated fill_value. More... | |
LVecBase4d | fmax (const LVecBase4d other) |
LVecBase4d | fmin (const LVecBase4d other) |
generateHash (ChecksumHashGenerator hashgen) | |
Adds the vector to the indicated hash generator. More... | |
generateHash (ChecksumHashGenerator hashgen, double threshold) | |
Adds the vector to the indicated hash generator. More... | |
double | getCell (int i) |
getData () | |
Returns the address of the first of the four data elements in the vector. More... | |
int | getHash () |
Returns a suitable hash for phash_map. More... | |
int | getHash (double threshold) |
Returns a suitable hash for phash_map. More... | |
double | getW () |
double | getX () |
LVecBase2d | getXy () |
Returns the x and y component of this vector. More... | |
LVecBase3d | getXyz () |
Returns the x, y and z component of this vector. More... | |
double | getY () |
double | getZ () |
bool | isNan () |
Returns true if any component of the vector is not-a-number, false otherwise. More... | |
double | length () |
Returns the length of the vector, by the Pythagorean theorem. More... | |
double | lengthSquared () |
Returns the square of the vector's length, cheap and easy. More... | |
bool | normalize () |
Normalizes the vector in place. More... | |
LVecBase4d | normalized () |
Normalizes the vector and returns the normalized vector as a copy. More... | |
operator new (int size) | |
bool | operator!= (const LVecBase4d other) |
LVecBase4d | operator* (double scalar) |
LVecBase4d | operator*= (double scalar) |
LVecBase4d | operator+ (const LVecBase4d other) |
LVecBase4d | operator+= (const LVecBase4d other) |
LVecBase4d | operator- () |
LVecBase4d | operator- (const LVecBase4d other) |
LVecBase4d | operator-= (const LVecBase4d other) |
LVecBase4d | operator/ (double scalar) |
LVecBase4d | operator/= (double scalar) |
bool | operator< (const LVecBase4d other) |
LVecBase4d | operator= (const LVecBase4d copy) |
LVecBase4d | operator= (double fill_value) |
bool | operator== (const LVecBase4d other) |
double | operator[] (int i) |
operator[] (int i, double assign_val) | |
output (Ostream out) | |
LVecBase4d | project (const LVecBase4d onto) |
Returns a new vector representing the projection of this vector onto another one. 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(). More... | |
set (double x, double y, double z, double w) | |
setCell (int i, double value) | |
setW (double value) | |
setX (double value) | |
setY (double value) | |
setZ (double value) | |
writeDatagram (Datagram destination) | |
Writes the vector to the Datagram using add_stdfloat(). 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(). More... | |
Static Public Member Functions | |
static TypeHandle | getClassType () |
static int | getNumComponents () |
static int | size () |
static const LVecBase4d | unitW () |
Returns a unit W vector. More... | |
static const LVecBase4d | unitX () |
Returns a unit X vector. More... | |
static const LVecBase4d | unitY () |
Returns a unit Y vector. More... | |
static const LVecBase4d | unitZ () |
Returns a unit Z vector. More... | |
static const LVecBase4d | zero () |
Returns a zero-length vector. More... | |
Public Attributes | |
double | x |
LVecBase2d | xy |
Returns the x and y component of this vector. More... | |
LVecBase3d | xyz |
Returns the x, y and z component of this vector. More... | |
double | y |
double | z |
This is the base class for all three-component vectors and points.
object __getattr__ | ( | str | attr_name | ) |
__init__ | ( | ) |
__init__ | ( | const LPoint3d | point | ) |
Constructs an LVecBase4 from an LPoint3.
The w coordinate is set to 1.0.
__init__ | ( | const LVecBase3d | copy, |
double | w | ||
) |
__init__ | ( | const | LVecBase4d | ) |
__init__ | ( | const LVector3d | vector | ) |
Constructs an LVecBase4 from an LVector3.
The w coordinate is set to 0.0.
__init__ | ( | const UnalignedLVecBase4d | copy | ) |
__init__ | ( | double | fill_value | ) |
__init__ | ( | double | x, |
double | y, | ||
double | z, | ||
double | w | ||
) |
object __ipow__ | ( | double | exponent | ) |
LVecBase4d __pow__ | ( | double | exponent | ) |
object __reduce__ | ( | ) |
str __repr__ | ( | ) |
int __setattr__ | ( | str | attr_name, |
object | assign | ||
) |
int addHash | ( | int | hash | ) |
Adds the vector into the running hash.
int addHash | ( | int | hash, |
double | threshold | ||
) |
Adds the vector into the running hash.
addToCell | ( | int | i, |
double | value | ||
) |
addW | ( | double | value | ) |
addX | ( | double | value | ) |
addY | ( | double | value | ) |
addZ | ( | double | value | ) |
bool almostEqual | ( | const LVecBase4d | other | ) |
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.
bool almostEqual | ( | const LVecBase4d | other, |
double | threshold | ||
) |
Returns true if two vectors are memberwise equal within a specified tolerance.
int compareTo | ( | const LVecBase4d | other | ) |
This flavor of compare_to uses a default threshold value based on the numeric type.
int compareTo | ( | const LVecBase4d | other, |
double | 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).
componentwiseMult | ( | const LVecBase4d | other | ) |
double dot | ( | const LVecBase4d | other | ) |
fill | ( | double | fill_value | ) |
Sets each element of the vector to the indicated fill_value.
This is particularly useful for initializing to zero.
LVecBase4d fmax | ( | const LVecBase4d | other | ) |
LVecBase4d fmin | ( | const LVecBase4d | other | ) |
generateHash | ( | ChecksumHashGenerator | hashgen | ) |
Adds the vector to the indicated hash generator.
generateHash | ( | ChecksumHashGenerator | hashgen, |
double | threshold | ||
) |
Adds the vector to the indicated hash generator.
double getCell | ( | int | i | ) |
|
static |
getData | ( | ) |
Returns the address of the first of the four data elements in the vector.
The remaining elements occupy the next positions consecutively in memory.
int getHash | ( | ) |
Returns a suitable hash for phash_map.
int getHash | ( | double | threshold | ) |
Returns a suitable hash for phash_map.
|
static |
double getW | ( | ) |
double getX | ( | ) |
LVecBase2d getXy | ( | ) |
Returns the x and y component of this vector.
LVecBase3d getXyz | ( | ) |
Returns the x, y and z component of this vector.
double getY | ( | ) |
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.
Returns true if the vector was normalized, false if it was a zero-length vector.
LVecBase4d 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.
operator new | ( | int | size | ) |
bool operator!= | ( | const LVecBase4d | other | ) |
LVecBase4d operator* | ( | double | scalar | ) |
LVecBase4d operator*= | ( | double | scalar | ) |
LVecBase4d operator+ | ( | const LVecBase4d | other | ) |
LVecBase4d operator+= | ( | const LVecBase4d | other | ) |
LVecBase4d operator- | ( | ) |
LVecBase4d operator- | ( | const LVecBase4d | other | ) |
LVecBase4d operator-= | ( | const LVecBase4d | other | ) |
LVecBase4d operator/ | ( | double | scalar | ) |
LVecBase4d operator/= | ( | double | scalar | ) |
bool operator< | ( | const LVecBase4d | other | ) |
LVecBase4d operator= | ( | const LVecBase4d | copy | ) |
LVecBase4d operator= | ( | double | fill_value | ) |
bool operator== | ( | const LVecBase4d | other | ) |
double operator[] | ( | int | i | ) |
operator[] | ( | int | i, |
double | assign_val | ||
) |
output | ( | Ostream | out | ) |
LVecBase4d project | ( | const LVecBase4d | onto | ) |
Returns a new vector representing the projection of this vector onto another one.
The resulting vector will be a scalar multiple of onto.
readDatagram | ( | DatagramIterator | source | ) |
Reads the vector from the Datagram using get_stdfloat().
readDatagramFixed | ( | DatagramIterator | source | ) |
Reads the vector from the Datagram using get_float32() or get_float64().
See write_datagram_fixed().
set | ( | double | x, |
double | y, | ||
double | z, | ||
double | w | ||
) |
setCell | ( | int | i, |
double | value | ||
) |
setW | ( | double | value | ) |
setX | ( | double | value | ) |
setY | ( | double | value | ) |
setZ | ( | double | value | ) |
|
static |
|
static |
Returns a unit W vector.
|
static |
Returns a unit X vector.
|
static |
Returns a unit Y vector.
|
static |
Returns a unit Z vector.
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.
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.
|
static |
Returns a zero-length vector.
double x |
LVecBase2d xy |
Returns the x and y component of this vector.
LVecBase3d xyz |
Returns the x, y and z component of this vector.
double y |
double z |