LVecBase3d
from panda3d.core import LVecBase3d
- class LVecBase3d
Bases:
This is the base class for all three-component vectors and points.
Inheritance diagram
- __add__(other: LVecBase3d) LVecBase3d
- __div__(scalar: float) LVecBase3d
- __eq__(other: LVecBase3d) bool
- __iadd__(other: LVecBase3d) LVecBase3d
- __idiv__(scalar: float) LVecBase3d
- __imul__(scalar: float) LVecBase3d
- __init__()
- __init__(copy: LVecBase2d, z: float)
- __init__(param0: LVecBase3d)
- __init__(fill_value: float)
- __isub__(other: LVecBase3d) LVecBase3d
- __lt__(other: LVecBase3d) bool
- __mul__(scalar: float) LVecBase3d
- __ne__(other: LVecBase3d) bool
- __sub__(other: LVecBase3d) LVecBase3d
- __sub__(other: LVecBase3d) LVecBase3d
- addToCell(i: int, value: float)
These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
- almostEqual(other: LVecBase3d) bool
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.
- almostEqual(other: LVecBase3d, threshold: float) bool
Returns true if two vectors are memberwise equal within a specified tolerance.
- assign(copy: LVecBase3d) LVecBase3d
- assign(fill_value: float) LVecBase3d
- compareTo(other: LVecBase3d) int
This flavor of
compareTo()
uses a default threshold value based on the numeric type.
- compareTo(other: LVecBase3d, threshold: float) int
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(other: LVecBase3d)
- cross(other: LVecBase3d) LVecBase3d
- crossInto(other: LVecBase3d)
- dot(other: LVecBase3d) float
- fill(fill_value: float)
Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.
- fmax(other: LVecBase3d) LVecBase3d
- fmin(other: LVecBase3d) LVecBase3d
- generateHash(hashgen: ChecksumHashGenerator)
Adds the vector to the indicated hash generator.
- generateHash(hashgen: ChecksumHashGenerator, threshold: float)
Adds the vector to the indicated hash generator.
- static getClassType() TypeHandle
- 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.
- getStandardizedHpr() LVecBase3d
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.isSameDirection()
for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction
- getXy() LVecBase2d
Returns a 2-component vector that shares just the first two components of this vector.
- getXz() LVecBase2d
Returns a 2-component vector that shares just the first and last components of this vector.
- getYz() LVecBase2d
Returns a 2-component vector that shares just the last two components of this vector.
- normalize() bool
Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.
- normalized() LVecBase3d
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.
- project(onto: LVecBase3d) LVecBase3d
Returns a new vector representing the projection of this vector onto another one. The resulting vector will be a scalar multiple of onto.
- readDatagram(source: DatagramIterator)
Reads the vector from the Datagram using get_stdfloat().
- readDatagramFixed(source: DatagramIterator)
Reads the vector from the Datagram using get_float32() or get_float64(). See
writeDatagramFixed()
.
- static unitX() LVecBase3d
Returns a unit X vector.
- static unitY() LVecBase3d
Returns a unit Y vector.
- static unitZ() LVecBase3d
Returns a unit Z vector.
- writeDatagram(destination: Datagram)
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(destination: Datagram)
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.setStdfloatDouble()
. This is appropriate when you want to write a fixed-width value to the datagram, especially when you are not writing a bam file.
- property xy LVecBase2d
Returns a 2-component vector that shares just the first two components of this vector.
- property xz LVecBase2d
Returns a 2-component vector that shares just the first and last components of this vector.
- property yz LVecBase2d
Returns a 2-component vector that shares just the last two components of this vector.
- static zero() LVecBase3d
Returns a zero-length vector.