# LPoint3d

from pandac.PandaModules import LPoint3d

Filename: lpoint3_src.h Created by: drose (25Sep99)
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. All rights reserved.
All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE."
Class : LPoint3
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.

## Inheritance:

LPoint3d: LVecBase3d
LVecBase3d:

## Methods of LPoint3d:

LPoint3d (Constructor)
cross
getClassType
getXy
getXz
getYz
operator *
operator +
operator -
operator -
operator /
operator =
origin
pythonRepr
rfu
unitX
unitY
unitZ
zero

## Methods of LVecBase3d:

LVecBase3d (Constructor)
addHash
addToCell
addX
addY
addZ
almostEqual
compareTo
cross
crossInto
dot
fill
fmax
fmin
getCell
getClassType
getData
getHash
getNumComponents
getStandardizedHpr
getX
getXy
getXz
getY
getYz
getZ
isNan
length
lengthSquared
normalize
operator !=
operator *
operator *=
operator +
operator +=
operator -
operator -
operator -=
operator /
operator /=
operator <
operator =
operator ==
operator []
operator delete
operator new
output
pythonRepr
set
setCell
Setitem
setX
setY
setZ
size
unitX
unitY
unitZ
validatePtr
zero

LPoint3d LPoint3d::LPoint3d(void); Filename: lpoint3_src.I Created by: drose (25Sep99) PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. All rights reserved. All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE." Description:

cross LPoint3d LPoint3d::cross(LVecBase3d const &other) const; Description:

getClassType static TypeHandle LPoint3d::get_class_type(void); Undocumented function.

getXy LPoint2d LPoint3d::get_xy(void) const; Description: Returns a 2-component vector that shares just the first two components of this vector.

getXz LPoint2d LPoint3d::get_xz(void) const; Description: Returns a 2-component vector that shares just the first and last components of this vector.

getYz LPoint2d LPoint3d::get_yz(void) const; Description: Returns a 2-component vector that shares just the last two components of this vector.

operator * LPoint3d LPoint3d::operator *(double scalar) const; Description:

operator + LVecBase3d LPoint3d::operator +(LVecBase3d const &other) const; Description:

operator - LVecBase3d LPoint3d::operator -(LVecBase3d const &other) const; Description:

operator - LVecBase3d LPoint3d::operator -(LVecBase3d const &other) const; Description:

operator / LPoint3d LPoint3d::operator /(double scalar) const; Description:

operator = LPoint3d &LPoint3d::operator =(LVecBase3d const &copy); Description:

origin static LPoint3d LPoint3d::origin(CoordinateSystem cs = (CS_default)); Some special named constructors for LPoint3. Description: 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.

pythonRepr void LPoint3d::python_repr(ostream &out, string const &class_name) const; Description:

rfu static LPoint3d LPoint3d::rfu(double right, double fwd, double up, CoordinateSystem cs = (CS_default)); Description: Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.

unitX static LPoint3d const &LPoint3d::unit_x(void); Description: Returns a unit X point.

unitY static LPoint3d const &LPoint3d::unit_y(void); Description: Returns a unit Y point.

unitZ static LPoint3d const &LPoint3d::unit_z(void); Description: Returns a unit Z point.

zero static LPoint3d const &LPoint3d::zero(void); Description: Returns a zero-length point.

LVecBase3d LVecBase3d::LVecBase3d(void); Filename: lvecBase3_src.I Created by: drose (08Mar00) PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University. All rights reserved. All use of this software is subject to the terms of the revised BSD license. You should have received a copy of this license along with this source code in a file named "LICENSE." Description:

addHash unsigned int LVecBase3d::add_hash(unsigned int hash) const; Description: Adds the vector into the running hash.

addToCell void LVecBase3d::add_to_cell(int i, double 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: Description:

addX void LVecBase3d::add_x(double 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: Description:

addY void LVecBase3d::add_y(double value); Description:

addZ void LVecBase3d::add_z(double value); Description:

almostEqual bool LVecBase3d::almost_equal(LVecBase3d const &other, double threshold) const; Description: Returns true if two vectors are memberwise equal within a specified tolerance. Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo int LVecBase3d::compare_to(LVecBase3d const &other) const; Description: This flavor of compare_to uses a default threshold value based on the numeric type. Description: 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).

cross LVecBase3d LVecBase3d::cross(LVecBase3d const &other) const; Description:

crossInto void LVecBase3d::cross_into(LVecBase3d const &other); Description:

dot double LVecBase3d::dot(LVecBase3d const &other) const; Description:

fill void LVecBase3d::fill(double fill_value); Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax LVecBase3d LVecBase3d::fmax(LVecBase3d const &other); Description:

fmin LVecBase3d LVecBase3d::fmin(LVecBase3d const &other); Description:

getCell double LVecBase3d::get_cell(int i) const; Description:

getClassType static TypeHandle LVecBase3d::get_class_type(void); Undocumented function.

getData double const *LVecBase3d::get_data(void) const; Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash unsigned int LVecBase3d::get_hash(void) const; Description: Returns a suitable hash for phash_map.

getNumComponents int LVecBase3d::get_num_components(void) const; Description: Returns the number of elements in the vector, three.

getStandardizedHpr LVecBase3d LVecBase3d::get_standardized_hpr(void) const; Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and -360. Also 180 and -180 are the same. Another example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output. It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX double LVecBase3d::get_x(void) const; Description:

getXy LVecBase2d LVecBase3d::get_xy(void) const; Description: Returns a 2-component vector that shares just the first two components of this vector.

getXz LVecBase2d LVecBase3d::get_xz(void) const; Description: Returns a 2-component vector that shares just the first and last components of this vector.

getY double LVecBase3d::get_y(void) const; Description:

getYz LVecBase2d LVecBase3d::get_yz(void) const; Description: Returns a 2-component vector that shares just the last two components of this vector.

getZ double LVecBase3d::get_z(void) const; Description:

isNan bool LVecBase3d::is_nan(void) const; Description: Returns true if any component of the vector is not-a-number, false otherwise.

length double LVecBase3d::length(void) const; Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared double LVecBase3d::length_squared(void) const; Description: Returns the square of the vector's length, cheap and easy.

normalize bool LVecBase3d::normalize(void); Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator != bool LVecBase3d::operator !=(LVecBase3d const &other) const; Description:

operator * LVecBase3d LVecBase3d::operator *(double scalar) const; Description:

operator *= void LVecBase3d::operator *=(double scalar); Description:

operator + LVecBase3d LVecBase3d::operator +(LVecBase3d const &other) const; Description:

operator += void LVecBase3d::operator +=(LVecBase3d const &other); Description:

operator - LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const; Description:

operator - LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const; Description:

operator -= void LVecBase3d::operator -=(LVecBase3d const &other); Description:

operator / LVecBase3d LVecBase3d::operator /(double scalar) const; Description:

operator /= void LVecBase3d::operator /=(double scalar); Description:

operator < bool LVecBase3d::operator <(LVecBase3d const &other) const; Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator = LVecBase3d &LVecBase3d::operator =(LVecBase3d const &copy); Description:

operator == bool LVecBase3d::operator ==(LVecBase3d const &other) const; Description:

operator [] double LVecBase3d::operator [](int i) const; Description:

operator delete void LVecBase3d::operator delete(void *ptr); Undocumented function.

operator new void *LVecBase3d::operator new(unsigned int size); Undocumented function.

output void LVecBase3d::output(ostream &out) const; Description:

pythonRepr void LVecBase3d::python_repr(ostream &out, string const &class_name) const; Description:

set void LVecBase3d::set(double x, double y, double z); Description:

setCell void LVecBase3d::set_cell(int i, double value); Description:

Setitem void LVecBase3d::__setitem__(int i, double v); Description:

setX void LVecBase3d::set_x(double value); Description:

setY void LVecBase3d::set_y(double value); Description:

setZ void LVecBase3d::set_z(double value); Description:

size static int LVecBase3d::size(void); HAVE_PYTHON Description: Returns 3: the number of components of a LVecBase3.

unitX static LVecBase3d const &LVecBase3d::unit_x(void); Description: Returns a unit X vector.

unitY static LVecBase3d const &LVecBase3d::unit_y(void); Description: Returns a unit Y vector.

unitZ static LVecBase3d const &LVecBase3d::unit_z(void); Description: Returns a unit Z vector.

validatePtr static bool LVecBase3d::validate_ptr(void const *ptr); Undocumented function.

zero static LVecBase3d const &LVecBase3d::zero(void); Description: Returns a zero-length vector.