LVecBase3f

from acron.core import LVecBase3f
class LVecBase3f

Bases:

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

Inheritance diagram

digraph inheritancea3b02a79e7 { 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=""]; "LVecBase3f" [URL="acron.core.LVecBase3f.html#acron.core.LVecBase3f",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" -> "LVecBase3f" [arrowsize=0.75,style=""]; }
__add__()
__ceil__()
__div__()
__eq__()
__floor__()
__floordiv__()
__getattr__()
__getbuffer__()
__getitem__()
__iadd__()
__idiv__()
__ifloordiv__()
__imul__()
__init__()
__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_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()
cross()
cross_into()
dot()
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 three 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_standardized_hpr()

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

Returns a 2-component vector that shares just the first two components of this vector.

get_xz()

Returns a 2-component vector that shares just the first and last components of this vector.

get_y()
get_yz()

Returns a 2-component vector that shares just the last two components of this vector.

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()
static operator_delete()
static operator_new()
static operator_new()
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_x()
set_y()
set_z()
static size()
static unit_x()

Returns a unit X vector.

static unit_y()

Returns a unit Y vector.

static unit_z()

Returns a unit Z vector.

static validate_ptr()
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 → 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 y → float
property yz → LVecBase2f

Returns a 2-component vector that shares just the last two components of this vector.

property z → float
static zero()

Returns a zero-length vector.