UnalignedLVecBase4d

class UnalignedLVecBase4d

This is an “unaligned” LVecBase4. It has no functionality other than to store numbers, and it will pack them in as tightly as possible, avoiding any SSE2 alignment requirements shared by the primary LVecBase4 class.

Use it only when you need to pack numbers tightly without respect to alignment, and then copy it to a proper LVecBase4 to get actual use from it.

Inheritance diagram

Inheritance diagram of UnalignedLVecBase4d

UnalignedLVecBase4d(void) = default
UnalignedLVecBase4d(LVecBase4d const &copy)
UnalignedLVecBase4d(double fill_value)
UnalignedLVecBase4d(double x, double y, double z, double w)
UnalignedLVecBase4d(UnalignedLVecBase4d const&) = default
void fill(double fill_value)

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

static TypeHandle get_class_type(void)
double const *get_data(void) const

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

static constexpr int get_num_components(void)
void set(double x, double y, double z, double w)
static constexpr int size(void)