Panda3D
 All Classes Functions Variables Enumerations
Public Member Functions | Static Public Member Functions | List of all members
LPoint4d Class Reference

This is a four-component point in space. More...

#include "lpoint4.h"

Inheritance diagram for LPoint4d:
LVecBase4d

Public Member Functions

 LPoint4d (const LVecBase4d &copy)
 
 LPoint4d (double fill_value)
 
 LPoint4d (double x, double y, double z, double w)
 
 LPoint4d (const LVecBase3d &copy, double w)
 
LPoint4d operator* (double scalar) const
 
LVecBase4d operator+ (const LVecBase4d &other) const
 
LPoint4d operator+ (const LVector4d &other) const
 
LPoint4d operator- () const
 
LVecBase4d operator- (const LVecBase4d &other) const
 
LVector4d operator- (const LPoint4d &other) const
 
LPoint4d operator- (const LVector4d &other) const
 
LPoint4d operator/ (double scalar) const
 
LPoint4doperator= (const LVecBase4d &copy)
 
LPoint4doperator= (double fill_value)
 
LPoint4d project (const LVecBase4d &onto) const
 Returns a new vector representing the projection of this vector onto another one. More...
 
- Public Member Functions inherited from LVecBase4d
 LVecBase4d (const LVecBase4d &copy)
 
 LVecBase4d (const UnalignedLVecBase4d &copy)
 
 LVecBase4d (double fill_value)
 
 LVecBase4d (double x, double y, double z, double w)
 
 LVecBase4d (const LVecBase3d &copy, double w)
 
 LVecBase4d (const LPoint3d &point)
 Constructs an LVecBase4 from an LPoint3. More...
 
 LVecBase4d (const LVector3d &vector)
 Constructs an LVecBase4 from an LVector3. More...
 
 LVecBase4d (const EVector4 &v)
 
size_t add_hash (size_t hash) const
 Adds the vector into the running hash. More...
 
size_t add_hash (size_t hash, double threshold) const
 Adds the vector into the running hash. More...
 
void add_to_cell (int i, double value)
 
void add_w (double value)
 
void add_x (double value)
 
void add_y (double value)
 
void add_z (double value)
 
bool almost_equal (const LVecBase4d &other, double threshold) const
 Returns true if two vectors are memberwise equal within a specified tolerance. More...
 
bool almost_equal (const LVecBase4d &other) const
 Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. More...
 
iterator begin ()
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
const_iterator begin () const
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
int compare_to (const LVecBase4d &other) const
 This flavor of compare_to uses a default threshold value based on the numeric type. More...
 
int compare_to (const LVecBase4d &other, double threshold) const
 Sorts vectors lexicographically, componentwise. More...
 
void componentwise_mult (const LVecBase4d &other)
 
double dot (const LVecBase4d &other) const
 
iterator end ()
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
const_iterator end () const
 Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
 
void extract_data (float *)
 
void fill (double fill_value)
 Sets each element of the vector to the indicated fill_value. More...
 
LVecBase4d fmax (const LVecBase4d &other) const
 
LVecBase4d fmin (const LVecBase4d &other) const
 
void generate_hash (ChecksumHashGenerator &hashgen) const
 Adds the vector to the indicated hash generator. More...
 
void generate_hash (ChecksumHashGenerator &hashgen, double threshold) const
 Adds the vector to the indicated hash generator. More...
 
double get_cell (int i) const
 
const double * get_data () const
 Returns the address of the first of the four data elements in the vector. More...
 
size_t get_hash () const
 Returns a suitable hash for phash_map. More...
 
size_t get_hash (double threshold) const
 Returns a suitable hash for phash_map. More...
 
int get_num_components () const
 Returns the number of elements in the vector, four. More...
 
double get_w () const
 
double get_x () const
 
double get_y () const
 
double get_z () const
 
bool is_nan () const
 Returns true if any component of the vector is not-a-number, false otherwise. More...
 
double length () const
 Returns the length of the vector, by the Pythagorean theorem. More...
 
double length_squared () const
 Returns the square of the vector's length, cheap and easy. More...
 
bool normalize ()
 Normalizes the vector in place. More...
 
bool operator!= (const LVecBase4d &other) const
 
LVecBase4d operator* (double scalar) const
 
void operator*= (double scalar)
 
LVecBase4d operator+ (const LVecBase4d &other) const
 
void operator+= (const LVecBase4d &other)
 
LVecBase4d operator- () const
 
LVecBase4d operator- (const LVecBase4d &other) const
 
void operator-= (const LVecBase4d &other)
 
LVecBase4d operator/ (double scalar) const
 
void operator/= (double scalar)
 
bool operator< (const LVecBase4d &other) const
 This performs a lexicographical comparison. More...
 
LVecBase4doperator= (const LVecBase4d &copy)
 
LVecBase4doperator= (const UnalignedLVecBase4d &copy)
 
LVecBase4doperator= (double fill_value)
 
bool operator== (const LVecBase4d &other) const
 
double operator[] (int i) const
 
double & operator[] (int i)
 
void output (ostream &out) const
 
LVecBase4d project (const LVecBase4d &onto) const
 Returns a new vector representing the projection of this vector onto another one. More...
 
void read_datagram (DatagramIterator &source)
 Reads the vector from the Datagram using get_stdfloat(). More...
 
void read_datagram_fixed (DatagramIterator &source)
 Reads the vector from the Datagram using get_float32() or get_float64(). More...
 
void set (double x, double y, double z, double w)
 
void set_cell (int i, double value)
 
void set_w (double value)
 
void set_x (double value)
 
void set_y (double value)
 
void set_z (double value)
 
void write_datagram (Datagram &destination) const
 Writes the vector to the Datagram using add_stdfloat(). More...
 
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(). More...
 

Static Public Member Functions

static TypeHandle get_class_type ()
 
static void init_type ()
 
static const LPoint4dunit_w ()
 Returns a unit W point. More...
 
static const LPoint4dunit_x ()
 Returns a unit X point. More...
 
static const LPoint4dunit_y ()
 Returns a unit Y point. More...
 
static const LPoint4dunit_z ()
 Returns a unit Z point. More...
 
static const LPoint4dzero ()
 Returns a zero-length point. More...
 
- Static Public Member Functions inherited from LVecBase4d
static TypeHandle get_class_type ()
 
static void init_type ()
 
static int size ()
 Returns 4: the number of components of a LVecBase4. More...
 
static const LVecBase4dunit_w ()
 Returns a unit W vector. More...
 
static const LVecBase4dunit_x ()
 Returns a unit X vector. More...
 
static const LVecBase4dunit_y ()
 Returns a unit Y vector. More...
 
static const LVecBase4dunit_z ()
 Returns a unit Z vector. More...
 
static const LVecBase4dzero ()
 Returns a zero-length vector. More...
 

Additional Inherited Members

- Public Types inherited from LVecBase4d
enum  { num_components = 4, is_int = 0 }
 
typedef const double * const_iterator
 
typedef LSimpleMatrix< double, 1, 4 > EVector4
 
typedef const double * iterator
 
typedef double numeric_type
 
- Public Attributes inherited from LVecBase4d
EVector4 _v
 

Detailed Description

This is a four-component point in space.

Definition at line 443 of file lpoint4.h.

Member Function Documentation

LPoint4d LPoint4d::project ( const LVecBase4d onto) const
inline

Returns a new vector representing the projection of this vector onto another one.

The resulting vector will be a scalar multiple of onto.

Definition at line 722 of file lpoint4.h.

const LPoint4d & LPoint4d::unit_w ( )
inlinestatic

Returns a unit W point.

Definition at line 629 of file lpoint4.h.

const LPoint4d & LPoint4d::unit_x ( )
inlinestatic

Returns a unit X point.

Definition at line 599 of file lpoint4.h.

const LPoint4d & LPoint4d::unit_y ( )
inlinestatic

Returns a unit Y point.

Definition at line 609 of file lpoint4.h.

const LPoint4d & LPoint4d::unit_z ( )
inlinestatic

Returns a unit Z point.

Definition at line 619 of file lpoint4.h.

const LPoint4d & LPoint4d::zero ( )
inlinestatic

Returns a zero-length point.

Definition at line 589 of file lpoint4.h.


The documentation for this class was generated from the following files: