LVecBase4i¶
-
class
LVecBase4i
¶ This is the base class for all three-component vectors and points.
Inheritance diagram
-
LVecBase4i
(void) = default¶
-
LVecBase4i
(int fill_value)¶
-
LVecBase4i
(int x, int y, int z, int w)¶
-
LVecBase4i
(UnalignedLVecBase4i const ©)¶
-
LVecBase4i
(LVecBase3i const ©, int w)¶
-
LVecBase4i
(LVecBase4i const&) = default¶ Constructs an
LVecBase4
from anLPoint3
. The w coordinate is set to 1.0.Constructs an
LVecBase4
from anLVector3
. The w coordinate is set to 0.0.
-
std::size_t
add_hash
(std::size_t hash) const¶ Adds the vector into the running hash.
-
void
add_to_cell
(int i, int value)¶ 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:
-
void
add_w
(int value)¶
-
void
add_x
(int value)¶
-
void
add_y
(int value)¶
-
void
add_z
(int value)¶
-
bool
almost_equal
(LVecBase4i const &other, int threshold) const¶
-
bool
almost_equal
(LVecBase4i const &other) const¶ 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.
-
int
compare_to
(LVecBase4i const &other) const¶ This flavor of compare_to uses a default threshold value based on the numeric type.
-
void
componentwise_mult
(LVecBase4i const &other)¶
-
int
dot
(LVecBase4i const &other) const¶
-
void
extract_data
(float*)¶
-
void
fill
(int fill_value)¶ Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.
-
LVecBase4i
fmax
(LVecBase4i const &other) const¶
-
LVecBase4i
fmin
(LVecBase4i const &other) const¶
-
void
generate_hash
(ChecksumHashGenerator &hashgen) const¶ Adds the vector to the indicated hash generator.
-
int
get_cell
(int i) const¶
-
static TypeHandle
get_class_type
(void)¶
-
int const *
get_data
(void) const¶ Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.
-
std::size_t
get_hash
(void) const¶ Returns a suitable hash for phash_map.
-
static constexpr int
get_num_components
(void)¶
-
int
get_w
(void) const¶
-
int
get_x
(void) const¶
-
LVecBase2i
get_xy
(void) const¶ Returns the x and y component of this vector
-
LVecBase3i
get_xyz
(void) const¶ Returns the x, y and z component of this vector
-
int
get_y
(void) const¶
-
int
get_z
(void) const¶
-
bool
is_nan
(void) const¶ Returns true if any component of the vector is not-a-number, false otherwise.
-
int
length_squared
(void) const¶ Returns the square of the vector’s length, cheap and easy.
-
void
output
(std::ostream &out) const¶
-
void
read_datagram
(DatagramIterator &source)¶ Reads the vector from the Datagram using get_stdfloat().
-
void
read_datagram_fixed
(DatagramIterator &source)¶ Reads the vector from the Datagram using get_float32() or get_float64(). See
write_datagram_fixed()
.
-
void
set
(int x, int y, int z, int w)¶
-
void
set_cell
(int i, int value)¶
-
void
set_w
(int value)¶
-
void
set_x
(int value)¶
-
void
set_y
(int value)¶
-
void
set_z
(int value)¶
-
static constexpr int
size
(void)¶
-
LVecBase4i const &
unit_w
(void)¶ Returns a unit W vector.
-
LVecBase4i const &
unit_x
(void)¶ Returns a unit X vector.
-
LVecBase4i const &
unit_y
(void)¶ Returns a unit Y vector.
-
LVecBase4i const &
unit_z
(void)¶ Returns a unit Z vector.
-
bool
validate_ptr
(void const *ptr)¶
-
void
write_datagram
(Datagram &destination) const¶ 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.
-
void
write_datagram_fixed
(Datagram &destination) const¶ 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.
-
LVecBase4i const &
zero
(void)¶ Returns a zero-length vector.
-