#include <opennurbs_point.h>
Public Member Functions | |
ON_3dVector ()=default | |
x,y,z not initialized More... | |
ON_3dVector (const ON_3dVector &)=default | |
ON_3dVector (double x, double y, double z) | |
ON_3dVector (const ON_2dVector &) | |
ON_3dVector (const ON_2dPoint &) | |
ON_3dVector (const ON_3dPoint &) | |
ON_3dVector (const double *) | |
ON_3dVector (const ON_2fVector &) | |
ON_3dVector (const ON_3fVector &) | |
ON_3dVector (const ON_2fPoint &) | |
ON_3dVector (const ON_3fPoint &) | |
ON_3dVector (const float *) | |
~ON_3dVector ()=default | |
ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const |
bool | Decompose (const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, double *, double *, double *) const |
double | Fuzz (double tolerance=ON_ZERO_TOLERANCE) const |
bool | IsNotZero () const |
int | IsParallelTo (const ON_3dVector &other, double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const |
bool | IsPerpendicularTo (const ON_3dVector &other, double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const |
bool | IsTiny (double tiny_tol=ON_ZERO_TOLERANCE) const |
Test a vector to see if it is very short More... | |
bool | IsUnitVector () const |
bool | IsUnset () const |
bool | IsValid () const |
bool | IsZero () const |
double | Length () const |
double | LengthAndUnitize () |
double | LengthSquared () const |
double | MaximumCoordinate () const |
int | MaximumCoordinateIndex () const |
double | MinimumCoordinate () const |
int | MinimumCoordinateIndex () const |
operator const double * () const | |
operator double * () | |
(double*) conversion operators More... | |
bool | operator!= (const ON_3dVector &) const |
double | operator* (const ON_3dVector &) const |
DO NOT ADD ANY MORE overrides of += or -=. More... | |
double | operator* (const ON_3dPoint &) const |
double | operator* (const ON_3fVector &) const |
ON_3dVector | operator* (int) const |
ON_3dVector | operator* (float) const |
ON_3dVector | operator* (double) const |
ON_3dVector | operator* (const ON_Xform &) const |
ON_3dVector & | operator*= (double) |
ON_3dVector | operator+ (const ON_3dVector &) const |
ON_3dPoint | operator+ (const ON_3dPoint &) const |
ON_3dVector | operator+ (const ON_2dVector &) const |
ON_3dPoint | operator+ (const ON_2dPoint &) const |
ON_3dVector | operator+ (const ON_3fVector &) const |
ON_3dPoint | operator+ (const ON_3fPoint &) const |
ON_3dVector | operator+ (const ON_2fVector &) const |
ON_3dPoint | operator+ (const ON_2fPoint &) const |
ON_3dVector & | operator+= (const ON_3dVector &) |
ON_3dVector | operator- () const |
ON_3dVector | operator- (const ON_3dVector &) const |
ON_3dPoint | operator- (const ON_3dPoint &) const |
ON_3dVector | operator- (const ON_2dVector &) const |
ON_3dPoint | operator- (const ON_2dPoint &) const |
ON_3dVector | operator- (const ON_3fVector &) const |
ON_3dPoint | operator- (const ON_3fPoint &) const |
ON_3dVector | operator- (const ON_2fVector &) const |
ON_3dPoint | operator- (const ON_2fPoint &) const |
ON_3dVector & | operator-= (const ON_3dVector &) |
ON_3dVector | operator/ (int) const |
ON_3dVector | operator/ (float) const |
ON_3dVector | operator/ (double) const |
ON_3dVector & | operator/= (double) |
bool | operator< (const ON_3dVector &) const |
bool | operator<= (const ON_3dVector &) const |
dictionary order comparisons More... | |
ON_3dVector & | operator= (const ON_3dVector &)=default |
ON_3dVector & | operator= (const ON_2dVector &) |
use implicit operator=(const ON_3dVector&) More... | |
ON_3dVector & | operator= (const ON_2dPoint &) |
ON_3dVector & | operator= (const ON_3dPoint &) |
ON_3dVector & | operator= (const double *) |
ON_3dVector & | operator= (const ON_2fVector &) |
ON_3dVector & | operator= (const ON_3fVector &) |
ON_3dVector & | operator= (const ON_2fPoint &) |
ON_3dVector & | operator= (const ON_3fPoint &) |
ON_3dVector & | operator= (const float *) |
bool | operator== (const ON_3dVector &) const |
bool | operator> (const ON_3dVector &) const |
bool | operator>= (const ON_3dVector &) const |
double & | operator[] (int) |
index operators mimic double[3] behavior More... | |
double | operator[] (int) const |
double & | operator[] (unsigned int) |
double | operator[] (unsigned int) const |
bool | PerpendicularTo (const ON_3dVector &) |
set this vector to be perpendicular to another vector More... | |
bool | PerpendicularTo (const ON_3dPoint &, const ON_3dPoint &, const ON_3dPoint &) |
set this vector to be perpendicular to a plane defined by 3 points More... | |
void | Reverse () |
void | Rotate (double angle, const ON_3dVector &axis) |
void | Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis) |
void | Set (double x, double y, double z) |
set 3d vector value More... | |
void | Transform (const ON_Xform &) |
bool | Unitize () |
ON_3dVector | UnitVector () const |
void | Zero () |
Static Public Member Functions | |
static int | Compare (const ON_3dVector &lhs, const ON_3dVector &rhs) |
A well ordered dictionary compare function that is nan aware and can be used for robust sorting. More... | |
static const ON_3dVector & | UnitVector (int) |
A index driven function to get unit axis vectors. More... | |
Public Attributes | |
double | x |
double | y |
double | z |
Static Public Attributes | |
static const ON_3dVector | NanVector |
static const ON_3dVector | UnsetVector |
static const ON_3dVector | XAxis |
static const ON_3dVector | YAxis |
static const ON_3dVector | ZAxis |
static const ON_3dVector | ZeroVector |
|
default |
x,y,z not initialized
|
default |
|
default |
|
explicit |
ON_3dVector::ON_3dVector | ( | const ON_2dVector & | ) |
|
explicit |
ON_3dVector::ON_3dVector | ( | const ON_3dPoint & | ) |
|
explicit |
|
explicit |
ON_3dVector::ON_3dVector | ( | const ON_3fVector & | ) |
|
explicit |
|
explicit |
|
explicit |
|
static |
A well ordered dictionary compare function that is nan aware and can be used for robust sorting.
ON__UINT32 ON_3dVector::DataCRC | ( | ON__UINT32 | current_remainder | ) | const |
bool ON_3dVector::Decompose | ( | const ON_3dVector & | , |
const ON_3dVector & | , | ||
const ON_3dVector & | , | ||
double * | , | ||
double * | , | ||
double * | |||
) | const |
double ON_3dVector::Fuzz | ( | double | tolerance = ON_ZERO_TOLERANCE | ) | const |
bool ON_3dVector::IsNotZero | ( | ) | const |
int ON_3dVector::IsParallelTo | ( | const ON_3dVector & | other, |
double | angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE |
||
) | const |
bool ON_3dVector::IsPerpendicularTo | ( | const ON_3dVector & | other, |
double | angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE |
||
) | const |
bool ON_3dVector::IsTiny | ( | double | tiny_tol = ON_ZERO_TOLERANCE | ) | const |
Test a vector to see if it is very short
tiny_tol | [in] (default = ON_ZERO_TOLERANCE) a nonzero value used as the coordinate zero tolerance. |
( fabs(x) <= tiny_tol && fabs(y) <= tiny_tol && fabs(z) <= tiny_tol )
bool ON_3dVector::IsUnitVector | ( | ) | const |
bool ON_3dVector::IsUnset | ( | ) | const |
bool ON_3dVector::IsValid | ( | ) | const |
bool ON_3dVector::IsZero | ( | ) | const |
double ON_3dVector::Length | ( | ) | const |
double ON_3dVector::LengthAndUnitize | ( | ) |
double ON_3dVector::LengthSquared | ( | ) | const |
double ON_3dVector::MaximumCoordinate | ( | ) | const |
int ON_3dVector::MaximumCoordinateIndex | ( | ) | const |
double ON_3dVector::MinimumCoordinate | ( | ) | const |
int ON_3dVector::MinimumCoordinateIndex | ( | ) | const |
ON_3dVector::operator const double * | ( | ) | const |
ON_3dVector::operator double * | ( | ) |
(double*) conversion operators
bool ON_3dVector::operator!= | ( | const ON_3dVector & | ) | const |
double ON_3dVector::operator* | ( | const ON_3dVector & | ) | const |
DO NOT ADD ANY MORE overrides of += or -=.
double ON_3dVector::operator* | ( | const ON_3dPoint & | ) | const |
double ON_3dVector::operator* | ( | const ON_3fVector & | ) | const |
ON_3dVector ON_3dVector::operator* | ( | int | ) | const |
ON_3dVector ON_3dVector::operator* | ( | float | ) | const |
ON_3dVector ON_3dVector::operator* | ( | double | ) | const |
ON_3dVector ON_3dVector::operator* | ( | const ON_Xform & | ) | const |
ON_3dVector& ON_3dVector::operator*= | ( | double | ) |
ON_3dVector ON_3dVector::operator+ | ( | const ON_3dVector & | ) | const |
ON_3dPoint ON_3dVector::operator+ | ( | const ON_3dPoint & | ) | const |
ON_3dVector ON_3dVector::operator+ | ( | const ON_2dVector & | ) | const |
ON_3dPoint ON_3dVector::operator+ | ( | const ON_2dPoint & | ) | const |
ON_3dVector ON_3dVector::operator+ | ( | const ON_3fVector & | ) | const |
ON_3dPoint ON_3dVector::operator+ | ( | const ON_3fPoint & | ) | const |
ON_3dVector ON_3dVector::operator+ | ( | const ON_2fVector & | ) | const |
ON_3dPoint ON_3dVector::operator+ | ( | const ON_2fPoint & | ) | const |
ON_3dVector& ON_3dVector::operator+= | ( | const ON_3dVector & | ) |
ON_3dVector ON_3dVector::operator- | ( | ) | const |
ON_3dVector ON_3dVector::operator- | ( | const ON_3dVector & | ) | const |
ON_3dPoint ON_3dVector::operator- | ( | const ON_3dPoint & | ) | const |
ON_3dVector ON_3dVector::operator- | ( | const ON_2dVector & | ) | const |
ON_3dPoint ON_3dVector::operator- | ( | const ON_2dPoint & | ) | const |
ON_3dVector ON_3dVector::operator- | ( | const ON_3fVector & | ) | const |
ON_3dPoint ON_3dVector::operator- | ( | const ON_3fPoint & | ) | const |
ON_3dVector ON_3dVector::operator- | ( | const ON_2fVector & | ) | const |
ON_3dPoint ON_3dVector::operator- | ( | const ON_2fPoint & | ) | const |
ON_3dVector& ON_3dVector::operator-= | ( | const ON_3dVector & | ) |
ON_3dVector ON_3dVector::operator/ | ( | int | ) | const |
ON_3dVector ON_3dVector::operator/ | ( | float | ) | const |
ON_3dVector ON_3dVector::operator/ | ( | double | ) | const |
ON_3dVector& ON_3dVector::operator/= | ( | double | ) |
bool ON_3dVector::operator< | ( | const ON_3dVector & | ) | const |
bool ON_3dVector::operator<= | ( | const ON_3dVector & | ) | const |
dictionary order comparisons
|
default |
ON_3dVector& ON_3dVector::operator= | ( | const ON_2dVector & | ) |
use implicit operator=(const ON_3dVector&)
ON_3dVector& ON_3dVector::operator= | ( | const ON_2dPoint & | ) |
ON_3dVector& ON_3dVector::operator= | ( | const ON_3dPoint & | ) |
ON_3dVector& ON_3dVector::operator= | ( | const double * | ) |
ON_3dVector& ON_3dVector::operator= | ( | const ON_2fVector & | ) |
ON_3dVector& ON_3dVector::operator= | ( | const ON_3fVector & | ) |
ON_3dVector& ON_3dVector::operator= | ( | const ON_2fPoint & | ) |
ON_3dVector& ON_3dVector::operator= | ( | const ON_3fPoint & | ) |
ON_3dVector& ON_3dVector::operator= | ( | const float * | ) |
bool ON_3dVector::operator== | ( | const ON_3dVector & | ) | const |
bool ON_3dVector::operator> | ( | const ON_3dVector & | ) | const |
bool ON_3dVector::operator>= | ( | const ON_3dVector & | ) | const |
double& ON_3dVector::operator[] | ( | int | ) |
index operators mimic double[3] behavior
double ON_3dVector::operator[] | ( | int | ) | const |
double& ON_3dVector::operator[] | ( | unsigned | int | ) |
double ON_3dVector::operator[] | ( | unsigned | int | ) | const |
bool ON_3dVector::PerpendicularTo | ( | const ON_3dVector & | ) |
set this vector to be perpendicular to another vector
bool ON_3dVector::PerpendicularTo | ( | const ON_3dPoint & | , |
const ON_3dPoint & | , | ||
const ON_3dPoint & | |||
) |
set this vector to be perpendicular to a plane defined by 3 points
void ON_3dVector::Reverse | ( | ) |
void ON_3dVector::Rotate | ( | double | angle, |
const ON_3dVector & | axis | ||
) |
void ON_3dVector::Rotate | ( | double | sin_angle, |
double | cos_angle, | ||
const ON_3dVector & | axis | ||
) |
void ON_3dVector::Set | ( | double | x, |
double | y, | ||
double | z | ||
) |
set 3d vector value
void ON_3dVector::Transform | ( | const ON_Xform & | ) |
bool ON_3dVector::Unitize | ( | ) |
|
static |
A index driven function to get unit axis vectors.
index | [in] 0 returns (1,0,0), 1 returns (0,1,0), 2 returns (0,0,1) |
ON_3dVector ON_3dVector::UnitVector | ( | ) | const |
void ON_3dVector::Zero | ( | ) |
|
static |
|
static |
double ON_3dVector::x |
|
static |
double ON_3dVector::y |
|
static |
double ON_3dVector::z |
|
static |
|
static |