LVecBase4d

class LVecBase4d

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=""]; }
LVecBase4d.__add__()
LVecBase4d.__ceil__()
LVecBase4d.__div__()
LVecBase4d.__eq__()
LVecBase4d.__floor__()
LVecBase4d.__floordiv__()
LVecBase4d.__getattr__()
LVecBase4d.__getbuffer__()
LVecBase4d.__getitem__()
LVecBase4d.__iadd__()
LVecBase4d.__idiv__()
LVecBase4d.__ifloordiv__()
LVecBase4d.__imul__()
LVecBase4d.__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.

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

Adds the vector into the running hash.

Adds the vector into the running hash.

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

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

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

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

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

LVecBase4d.fmax()
LVecBase4d.fmin()
LVecBase4d.generate_hash()

Adds the vector to the indicated hash generator.

Adds the vector to the indicated hash generator.

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

LVecBase4d.get_hash()

Returns a suitable hash for phash_map.

Returns a suitable hash for phash_map.

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

Returns the x and y component of this vector

LVecBase4d.get_xyz()

Returns the x, y and z component of this vector

LVecBase4d.get_y()
LVecBase4d.get_z()
LVecBase4d.is_nan()

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

LVecBase4d.length()

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

LVecBase4d.length_squared()

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

LVecBase4d.normalize()

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

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

LVecBase4d.output()
LVecBase4d.project()

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

LVecBase4d.read_datagram()

Reads the vector from the Datagram using get_stdfloat().

LVecBase4d.read_datagram_fixed()

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

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

Returns a unit W vector.

static LVecBase4d.unit_x()

Returns a unit X vector.

static LVecBase4d.unit_y()

Returns a unit Y vector.

static LVecBase4d.unit_z()

Returns a unit Z vector.

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

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

Returns a zero-length vector.