LVecBase4d

from acron.core import LVecBase4d
class LVecBase4d

Bases:

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

Inheritance diagram

digraph inheritance17328499d0 { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "LVecBase4d" [URL="acron.core.LVecBase4d.html#acron.core.LVecBase4d",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "LVecBase4d" [arrowsize=0.75,style=""]; }
__add__()
__ceil__()
__div__()
__eq__()
__floor__()
__floordiv__()
__getattr__()
__getbuffer__()
__getitem__()
__iadd__()
__idiv__()
__ifloordiv__()
__imul__()
__init__()

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

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

__ipow__()
__isub__()
__lt__()
__mul__()
__ne__()
__pow__()
__reduce__()
__repr__()
__rmul__()
__round__()
__setattr__()
__sub__()
__sub__()
add_hash()

Adds the vector into the running hash.

Adds the vector into the running hash.

add_to_cell()

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()
add_x()
add_y()
add_z()
almost_equal()

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

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

assign()
compare_to()

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

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()
dot()
static extract_data()
fill()

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

fmax()
fmin()
generate_hash()

Adds the vector to the indicated hash generator.

Adds the vector to the indicated hash generator.

get_cell()
static get_class_type()
static 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()

Returns a suitable hash for phash_map.

Returns a suitable hash for phash_map.

static get_num_components()
get_w()
get_x()
get_xy()

Returns the x and y component of this vector

get_xyz()

Returns the x, y and z component of this vector

get_y()
get_z()
is_nan()

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

length()

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

length_squared()

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

normalize()

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

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.

static operator_delete()

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

static operator_delete()

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

static operator_new()

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

static operator_new()

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

Don’t inherit from MemoryBase directly to work around GCC<10.1 bug.

output()
project()

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

Reads the vector from the Datagram using get_stdfloat().

read_datagram_fixed()

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

set()
set_cell()
set_w()
set_x()
set_y()
set_z()
static size()
static unit_w()

Returns a unit W vector.

static unit_x()

Returns a unit X vector.

static unit_y()

Returns a unit Y vector.

static unit_z()

Returns a unit Z vector.

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

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

Returns a zero-length vector.