panda3d.core.LVecBase4d

from panda3d.core import LVecBase4d
class LVecBase4d

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

Inheritance diagram

Inheritance diagram of LVecBase4d

__init__() → None
__init__(point: LPoint3d) → None

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

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

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

__init__(copy: UnalignedLVecBase4d) → None
__init__(fill_value: float) → None
__init__(x: float, y: float, z: float, w: float) → None
operatorNew(size: size_t) → None
assign(copy: LVecBase4d) → LVecBase4d
Return type

LVecBase4d

assign(fill_value: float) → LVecBase4d
Return type

LVecBase4d

static zero() → LVecBase4d

Returns a zero-length vector.

Return type

LVecBase4d

static unitX() → LVecBase4d

Returns a unit X vector.

Return type

LVecBase4d

static unitY() → LVecBase4d

Returns a unit Y vector.

Return type

LVecBase4d

static unitZ() → LVecBase4d

Returns a unit Z vector.

Return type

LVecBase4d

static unitW() → LVecBase4d

Returns a unit W vector.

Return type

LVecBase4d

static size() → int
isNan() → bool

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

getCell(i: int) → float
setCell(i: int, value: float) → None
getX() → float
getY() → float
getZ() → float
getW() → float
getXyz() → LVecBase3d

Returns the x, y and z component of this vector

Return type

LVecBase3d

getXy() → LVecBase2d

Returns the x and y component of this vector

Return type

LVecBase2d

setX(value: float) → None
setY(value: float) → None
setZ(value: float) → None
setW(value: float) → None
addToCell(i: int, value: float) → None

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:

addX(value: float) → None
addY(value: float) → None
addZ(value: float) → None
addW(value: float) → None
getData() → None

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

static getNumComponents() → int
fill(fill_value: float) → None

Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

set(x: float, y: float, z: float, w: float) → None
dot(other: LVecBase4d) → float
lengthSquared() → float

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

length() → float

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

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.

Return type

LVecBase4d

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.

Return type

LVecBase4d

compareTo(other: LVecBase4d) → int

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

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

getHash() → size_t

Returns a suitable hash for phash_map.

Return type

size_t

getHash(threshold: float) → size_t

Returns a suitable hash for phash_map.

Return type

size_t

addHash(hash: size_t) → size_t

Adds the vector into the running hash.

Return type

size_t

addHash(hash: size_t, threshold: float) → size_t

Adds the vector into the running hash.

Return type

size_t

generateHash(hashgen: ChecksumHashGenerator) → None

Adds the vector to the indicated hash generator.

generateHash(hashgen: ChecksumHashGenerator, threshold: float) → None

Adds the vector to the indicated hash generator.

componentwiseMult(other: LVecBase4d) → None
fmax(other: LVecBase4d) → LVecBase4d
Return type

LVecBase4d

fmin(other: LVecBase4d) → LVecBase4d
Return type

LVecBase4d

almostEqual(other: LVecBase4d) → bool

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

almostEqual(other: LVecBase4d, threshold: float) → bool

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

output(out: ostream) → None
writeDatagramFixed(destination: Datagram) → None

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.

readDatagramFixed(source: DatagramIterator) → None

Reads the vector from the Datagram using get_float32() or get_float64(). See writeDatagramFixed().

writeDatagram(destination: Datagram) → None

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.

readDatagram(source: DatagramIterator) → None

Reads the vector from the Datagram using get_stdfloat().

static getClassType() → TypeHandle
Return type

TypeHandle

property x

Getter Setter

Return type

float

property y

Getter Setter

Return type

float

property z

Getter Setter

Return type

float

property xyz

Returns the x, y and z component of this vector

Return type

LVecBase3d

property xy

Returns the x and y component of this vector

Return type

LVecBase2d