LVecBase4d

from panda3d.core import LVecBase4d
class LVecBase4d

Bases:

Bases: MemoryBase

This is the base class for all three-component vectors and points.

Inheritance diagram

Inheritance diagram of LVecBase4d

__add__(other: LVecBase4d) LVecBase4d
__ceil__() object
__div__(scalar: float) LVecBase4d
__eq__(other: LVecBase4d) bool
__floor__() object
__floordiv__(scalar: float) object
__getattr__(attr_name: str) object
__getbuffer__(view: Py_buffer, flags: int) int
__getitem__(i: int)
__getitem__(i: int) float
__iadd__(other: LVecBase4d) LVecBase4d
__idiv__(scalar: float) LVecBase4d
__ifloordiv__(scalar: float) object
__imul__(scalar: float) LVecBase4d
__init__()
__init__(point: LPoint3d)

Constructs an LVecBase4 from an LPoint3. The w coordinate is set to 1.0.

__init__(copy: LVecBase3d, w: float)
__init__(param0: LVecBase4d)
__init__(vector: LVector3d)

Constructs an LVecBase4 from an LVector3. The w coordinate is set to 0.0.

__init__(copy: UnalignedLVecBase4d)
__init__(fill_value: float)
__init__(x: float, y: float, z: float, w: float)
__ipow__(exponent: float) object
__isub__(other: LVecBase4d) LVecBase4d
__lt__(other: LVecBase4d) bool
__mul__(scalar: float) LVecBase4d
__ne__(other: LVecBase4d) bool
__pow__(exponent: float) object
__reduce__() object
__repr__() str
__rmul__(scalar: float) object
__round__() object
__setattr__(attr_name: str, assign: object) int
__sub__(other: LVecBase4d) LVecBase4d
__sub__(other: LVecBase4d) LVecBase4d
add_hash(hash: int) int

Adds the vector into the running hash.

add_hash(hash: int, threshold: float) int

Adds the vector into the running hash.

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:

add_w(value: float)
add_x(value: float)
add_y(value: float)
add_z(value: float)
almost_equal(other: LVecBase4d) bool

Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

almost_equal(other: LVecBase4d, threshold: float) bool

Returns true if two vectors are memberwise equal within a specified tolerance.

assign(copy: LVecBase4d) LVecBase4d
assign(fill_value: float) LVecBase4d
compare_to(other: LVecBase4d) int

This flavor of compare_to uses a default threshold value based on the numeric type.

compare_to(other: LVecBase4d, 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: LVecBase4d)
dot(other: LVecBase4d) 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: LVecBase4d) LVecBase4d
fmin(other: LVecBase4d) LVecBase4d
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.

get_cell(i: int) float
static get_class_type() TypeHandle
get_data()

Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

get_hash() int

Returns a suitable hash for phash_map.

get_hash(threshold: float) int

Returns a suitable hash for phash_map.

static get_num_components() int
get_w() float
get_x() float
get_xy() LVecBase2d

Returns the x and y component of this vector

get_xyz() LVecBase3d

Returns the x, y and z component of this vector

get_y() float
get_z() float
is_nan() bool

Returns true if any component of the vector is not-a-number, false otherwise.

length() float

Returns the length of the vector, by the Pythagorean theorem.

length_squared() float

Returns the square of the vector’s length, cheap and easy.

normalize() bool

Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

normalized() LVecBase4d

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.

output(out: ostream)
project(onto: LVecBase4d) LVecBase4d

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().

set(x: float, y: float, z: float, w: float)
set_cell(i: int, value: float)
set_w(value: float)
set_x(value: float)
set_y(value: float)
set_z(value: float)
static size() int
static unit_w() LVecBase4d

Returns a unit W vector.

static unit_x() LVecBase4d

Returns a unit X vector.

static unit_y() LVecBase4d

Returns a unit Y vector.

static unit_z() LVecBase4d

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 x float
property xy LVecBase2d

Returns the x and y component of this vector

property xyz LVecBase3d

Returns the x, y and z component of this vector

property y float
property z float
static zero() LVecBase4d

Returns a zero-length vector.