LVecBase3f
from panda3d.core import LVecBase3f
- class LVecBase3f
Bases:
This is the base class for all three-component vectors and points.
Inheritance diagram
- __add__(other: LVecBase3f) LVecBase3f
- __div__(scalar: float) LVecBase3f
- __eq__(other: LVecBase3f) bool
- __iadd__(other: LVecBase3f) LVecBase3f
- __idiv__(scalar: float) LVecBase3f
- __imul__(scalar: float) LVecBase3f
- __init__()
- __init__(copy: LVecBase2f, z: float)
- __init__(param0: LVecBase3f)
- __init__(fill_value: float)
- __isub__(other: LVecBase3f) LVecBase3f
- __lt__(other: LVecBase3f) bool
- __mul__(scalar: float) LVecBase3f
- __ne__(other: LVecBase3f) bool
- __sub__(other: LVecBase3f) LVecBase3f
- __sub__(other: LVecBase3f) LVecBase3f
- add_to_cell(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:
- almost_equal(other: LVecBase3f) bool
Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.
- almost_equal(other: LVecBase3f, threshold: float) bool
Returns true if two vectors are memberwise equal within a specified tolerance.
- assign(copy: LVecBase3f) LVecBase3f
- assign(fill_value: float) LVecBase3f
- compare_to(other: LVecBase3f) int
This flavor of compare_to uses a default threshold value based on the numeric type.
- compare_to(other: LVecBase3f, 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).
- componentwise_mult(other: LVecBase3f)
- cross(other: LVecBase3f) LVecBase3f
- cross_into(other: LVecBase3f)
- dot(other: LVecBase3f) 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: LVecBase3f) LVecBase3f
- fmin(other: LVecBase3f) LVecBase3f
- generate_hash(hashgen: ChecksumHashGenerator)
Adds the vector to the indicated hash generator.
- generate_hash(hashgen: ChecksumHashGenerator, threshold: float)
Adds the vector to the indicated hash generator.
- static get_class_type() TypeHandle
- get_data()
Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.
- get_standardized_hpr() LVecBase3f
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
- get_xy() LVecBase2f
Returns a 2-component vector that shares just the first two components of this vector.
- get_xz() LVecBase2f
Returns a 2-component vector that shares just the first and last components of this vector.
- get_yz() LVecBase2f
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() LVecBase3f
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: LVecBase3f) LVecBase3f
Returns a new vector representing the projection of this vector onto another one. The resulting vector will be a scalar multiple of onto.
- read_datagram(source: DatagramIterator)
Reads the vector from the Datagram using get_stdfloat().
- read_datagram_fixed(source: DatagramIterator)
Reads the vector from the Datagram using get_float32() or get_float64(). See
write_datagram_fixed()
.
- static unit_x() LVecBase3f
Returns a unit X vector.
- static unit_y() LVecBase3f
Returns a unit Y vector.
- static unit_z() LVecBase3f
Returns a unit Z vector.
- write_datagram(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.
- write_datagram_fixed(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.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.
- property xy LVecBase2f
Returns a 2-component vector that shares just the first two components of this vector.
- property xz LVecBase2f
Returns a 2-component vector that shares just the first and last components of this vector.
- property yz LVecBase2f
Returns a 2-component vector that shares just the last two components of this vector.
- static zero() LVecBase3f
Returns a zero-length vector.