LVecBase4f

class LVecBase4f

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

Inheritance diagram

digraph inheritance49d3ca6cea { 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=""]; "LVecBase4f" [URL="acron.core.LVecBase4f.html#acron.core.LVecBase4f",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" -> "LVecBase4f" [arrowsize=0.75,style=""]; }
LVecBase4f.__add__()
LVecBase4f.__ceil__()
LVecBase4f.__div__()
LVecBase4f.__eq__()
LVecBase4f.__floor__()
LVecBase4f.__floordiv__()
LVecBase4f.__getattr__()
LVecBase4f.__getbuffer__()
LVecBase4f.__getitem__()
LVecBase4f.__iadd__()
LVecBase4f.__idiv__()
LVecBase4f.__ifloordiv__()
LVecBase4f.__imul__()
LVecBase4f.__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.

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

Adds the vector into the running hash.

Adds the vector into the running hash.

LVecBase4f.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:

LVecBase4f.add_w()
LVecBase4f.add_x()
LVecBase4f.add_y()
LVecBase4f.add_z()
LVecBase4f.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.

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

LVecBase4f.componentwise_mult()
LVecBase4f.dot()
static LVecBase4f.extract_data()
LVecBase4f.fill()

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

LVecBase4f.fmax()
LVecBase4f.fmin()
LVecBase4f.generate_hash()

Adds the vector to the indicated hash generator.

Adds the vector to the indicated hash generator.

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

LVecBase4f.get_hash()

Returns a suitable hash for phash_map.

Returns a suitable hash for phash_map.

static LVecBase4f.get_num_components()
LVecBase4f.get_w()
LVecBase4f.get_x()
LVecBase4f.get_xy()

Returns the x and y component of this vector

LVecBase4f.get_xyz()

Returns the x, y and z component of this vector

LVecBase4f.get_y()
LVecBase4f.get_z()
LVecBase4f.is_nan()

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

LVecBase4f.length()

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

LVecBase4f.length_squared()

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

LVecBase4f.normalize()

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

LVecBase4f.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 LVecBase4f.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 LVecBase4f.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 LVecBase4f.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 LVecBase4f.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.

LVecBase4f.output()
LVecBase4f.project()

Returns a new vector representing the projection of this vector onto another one. The resulting vector will be a scalar multiple of onto.

LVecBase4f.read_datagram()

Reads the vector from the Datagram using get_stdfloat().

LVecBase4f.read_datagram_fixed()

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

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

Returns a unit W vector.

static LVecBase4f.unit_x()

Returns a unit X vector.

static LVecBase4f.unit_y()

Returns a unit Y vector.

static LVecBase4f.unit_z()

Returns a unit Z vector.

LVecBase4f.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.

LVecBase4f.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.

static LVecBase4f.zero()

Returns a zero-length vector.