This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). More...

Inheritance diagram for LPoint3f:
LVecBase3f

Public Member Functions

object __getattr__ (str attr_name)
 
 __init__ ()
 
 __init__ (const LPoint3f)
 
 __init__ (const LVecBase2f copy, float z)
 
 __init__ (const LVecBase3f copy)
 
 __init__ (float fill_value)
 
 __init__ (float x, float y, float z)
 
str __repr__ ()
 
int __setattr__ (str attr_name, object assign)
 
LPoint3f cross (const LVecBase3f other)
 
LPoint2f getXy ()
 Returns a 2-component vector that shares just the first two components of this vector. More...
 
LPoint2f getXz ()
 Returns a 2-component vector that shares just the first and last components of this vector. More...
 
LPoint2f getYz ()
 Returns a 2-component vector that shares just the last two components of this vector. More...
 
LPoint3f normalized ()
 Normalizes the vector and returns the normalized vector as a copy. More...
 
LPoint3f operator* (float scalar)
 
LVecBase3f operator+ (const LVecBase3f other)
 
LPoint3f operator+ (const LVector3f other)
 
LPoint3f operator- ()
 
LVector3f operator- (const LPoint3f other)
 
LVecBase3f operator- (const LVecBase3f other)
 
LPoint3f operator- (const LVector3f other)
 
LPoint3f operator/ (float scalar)
 
LPoint3f project (const LVecBase3f onto)
 Returns a new vector representing the projection of this vector onto another one. More...
 
- Public Member Functions inherited from LVecBase3f
object __getattr__ (str attr_name)
 
 __init__ ()
 
 __init__ (const LVecBase2f copy, float z)
 
 __init__ (const LVecBase3f)
 
 __init__ (float fill_value)
 
 __init__ (float x, float y, float z)
 
object __ipow__ (float exponent)
 
LVecBase3f __pow__ (float exponent)
 
object __reduce__ ()
 
str __repr__ ()
 
int __setattr__ (str attr_name, object assign)
 
size_t addHash (size_t hash)
 Adds the vector into the running hash. More...
 
size_t addHash (size_t hash, float threshold)
 Adds the vector into the running hash. More...
 
 addToCell (int i, float value)
 
 addX (float value)
 
 addY (float value)
 
 addZ (float value)
 
bool almostEqual (const LVecBase3f other)
 Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type. More...
 
bool almostEqual (const LVecBase3f other, float threshold)
 Returns true if two vectors are memberwise equal within a specified tolerance. More...
 
int compareTo (const LVecBase3f other)
 This flavor of compare_to uses a default threshold value based on the numeric type. More...
 
int compareTo (const LVecBase3f other, float threshold)
 Sorts vectors lexicographically, componentwise. More...
 
 componentwiseMult (const LVecBase3f other)
 
LVecBase3f cross (const LVecBase3f other)
 
 crossInto (const LVecBase3f other)
 
float dot (const LVecBase3f other)
 
 fill (float fill_value)
 Sets each element of the vector to the indicated fill_value. More...
 
LVecBase3f fmax (const LVecBase3f other)
 
LVecBase3f fmin (const LVecBase3f other)
 
 generateHash (ChecksumHashGenerator hashgen)
 Adds the vector to the indicated hash generator. More...
 
 generateHash (ChecksumHashGenerator hashgen, float threshold)
 Adds the vector to the indicated hash generator. More...
 
float getCell (int i)
 
 getData ()
 Returns the address of the first of the three data elements in the vector. More...
 
size_t getHash ()
 Returns a suitable hash for phash_map. More...
 
size_t getHash (float threshold)
 Returns a suitable hash for phash_map. More...
 
LVecBase3f getStandardizedHpr ()
 Try to un-spin the hpr to a standard form. More...
 
float getX ()
 
LVecBase2f getXy ()
 Returns a 2-component vector that shares just the first two components of this vector. More...
 
LVecBase2f getXz ()
 Returns a 2-component vector that shares just the first and last components of this vector. More...
 
float getY ()
 
LVecBase2f getYz ()
 Returns a 2-component vector that shares just the last two components of this vector. More...
 
float getZ ()
 
bool isNan ()
 Returns true if any component of the vector is not-a-number, false otherwise. More...
 
float length ()
 Returns the length of the vector, by the Pythagorean theorem. More...
 
float lengthSquared ()
 Returns the square of the vector's length, cheap and easy. More...
 
bool normalize ()
 Normalizes the vector in place. More...
 
LVecBase3f normalized ()
 Normalizes the vector and returns the normalized vector as a copy. More...
 
 operator new (size_t size)
 
bool operator!= (const LVecBase3f other)
 
LVecBase3f operator* (float scalar)
 
LVecBase3f operator*= (float scalar)
 
LVecBase3f operator+ (const LVecBase3f other)
 
LVecBase3f operator+= (const LVecBase3f other)
 
LVecBase3f operator- ()
 
LVecBase3f operator- (const LVecBase3f other)
 
LVecBase3f operator-= (const LVecBase3f other)
 
LVecBase3f operator/ (float scalar)
 
LVecBase3f operator/= (float scalar)
 
bool operator< (const LVecBase3f other)
 
LVecBase3f operator= (const LVecBase3f copy)
 
LVecBase3f operator= (float fill_value)
 
bool operator== (const LVecBase3f other)
 
 operator[] (int i, float assign_val)
 
float operator[] (int i)
 
 output (Ostream out)
 
LVecBase3f project (const LVecBase3f onto)
 Returns a new vector representing the projection of this vector onto another one. More...
 
 readDatagram (DatagramIterator source)
 Reads the vector from the Datagram using get_stdfloat(). More...
 
 readDatagramFixed (DatagramIterator source)
 Reads the vector from the Datagram using get_float32() or get_float64(). More...
 
 set (float x, float y, float z)
 
 setCell (int i, float value)
 
 setX (float value)
 
 setY (float value)
 
 setZ (float value)
 
 writeDatagram (Datagram destination)
 Writes the vector to the Datagram using add_stdfloat(). More...
 
 writeDatagramFixed (Datagram destination)
 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 getClassType ()
 
static const LPoint3f origin (CoordinateSystem cs)
 Returns the origin of the indicated coordinate system. More...
 
static LPoint3f rfu (float right, float fwd, float up, CoordinateSystem cs)
 Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system. More...
 
static const LPoint3f unitX ()
 Returns a unit X point. More...
 
static const LPoint3f unitY ()
 Returns a unit Y point. More...
 
static const LPoint3f unitZ ()
 Returns a unit Z point. More...
 
static const LPoint3f zero ()
 Returns a zero-length point. More...
 
- Static Public Member Functions inherited from LVecBase3f
static TypeHandle getClassType ()
 
static int getNumComponents ()
 
static int size ()
 
static const LVecBase3f unitX ()
 Returns a unit X vector. More...
 
static const LVecBase3f unitY ()
 Returns a unit Y vector. More...
 
static const LVecBase3f unitZ ()
 Returns a unit Z vector. More...
 
static const LVecBase3f zero ()
 Returns a zero-length vector. More...
 

Public Attributes

LPoint2f xy
 
LPoint2f xz
 
LPoint2f yz
 
- Public Attributes inherited from LVecBase3f
float x
 
LVecBase2f xy
 
LVecBase2f xz
 
float y
 
LVecBase2f yz
 
float z
 

Additional Inherited Members

- Public Types inherited from LVecBase3f
enum  { num_components = 3, is_int = 0 }
 

Detailed Description

This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance).

Some of the methods are slightly different between LPoint3 and LVector3; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.

Member Function Documentation

object __getattr__ ( str  attr_name)
__init__ ( )
__init__ ( const LPoint3f  )
__init__ ( const LVecBase2f  copy,
float  z 
)
__init__ ( const LVecBase3f  copy)
__init__ ( float  fill_value)
__init__ ( float  x,
float  y,
float  z 
)
str __repr__ ( )
int __setattr__ ( str  attr_name,
object  assign 
)
LPoint3f cross ( const LVecBase3f  other)
static TypeHandle getClassType ( )
static
LPoint2f getXy ( )

Returns a 2-component vector that shares just the first two components of this vector.

LPoint2f getXz ( )

Returns a 2-component vector that shares just the first and last components of this vector.

LPoint2f getYz ( )

Returns a 2-component vector that shares just the last two components of this vector.

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

LPoint3f operator* ( float  scalar)
LVecBase3f operator+ ( const LVecBase3f  other)
LPoint3f operator+ ( const LVector3f  other)
LPoint3f operator- ( )
LVector3f operator- ( const LPoint3f  other)
LVecBase3f operator- ( const LVecBase3f  other)
LPoint3f operator- ( const LVector3f  other)
LPoint3f operator/ ( float  scalar)
static const LPoint3f origin ( CoordinateSystem  cs)
static

Returns the origin of the indicated coordinate system.

This is always 0, 0, 0 with all of our existing coordinate systems; it's hard to imagine it ever being different.

LPoint3f project ( const LVecBase3f  onto)

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

The resulting vector will be a scalar multiple of onto.

static LPoint3f rfu ( float  right,
float  fwd,
float  up,
CoordinateSystem  cs 
)
static

Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.

static const LPoint3f unitX ( )
static

Returns a unit X point.

static const LPoint3f unitY ( )
static

Returns a unit Y point.

static const LPoint3f unitZ ( )
static

Returns a unit Z point.

static const LPoint3f zero ( )
static

Returns a zero-length point.

Member Data Documentation