Rhino C++ API
8.10
|
#include <opennurbs_fpoint.h>
Public Member Functions | |
ON_3fVector ()=default | |
x,y,z not initialized More... | |
ON_3fVector (const double *) | |
from double[3] array More... | |
ON_3fVector (const float *) | |
from float[3] array More... | |
ON_3fVector (const ON_2dPoint &) | |
from 2d point More... | |
ON_3fVector (const ON_2dVector &) | |
from 2d vector More... | |
ON_3fVector (const ON_2fPoint &) | |
from 2f point More... | |
ON_3fVector (const ON_2fVector &) | |
from 2f vector More... | |
ON_3fVector (const ON_3dPoint &) | |
from 3d point More... | |
ON_3fVector (const ON_3dVector &) | |
from 3d vector More... | |
ON_3fVector (const ON_3fPoint &) | |
from 3f point More... | |
ON_3fVector (const ON_3fVector &)=default | |
ON_3fVector (float x, float y, float z) | |
~ON_3fVector ()=default | |
ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const |
double | Fuzz (double=ON_ZERO_TOLERANCE) const |
tolerance to use when comparing 3d vectors More... | |
bool | IsNotZero () const |
bool | IsPerpendicularTo (const ON_3fVector &, double=ON_DEFAULT_ANGLE_TOLERANCE) const |
bool | IsTiny (double=ON_ZERO_TOLERANCE) const |
bool | IsUnitVector () const |
bool | IsUnset () const |
bool | IsValid () const |
bool | IsZero () const |
double | Length () const |
double | LengthSquared () const |
double | MaximumCoordinate () const |
absolute value of maximum coordinate More... | |
int | MaximumCoordinateIndex () const |
operator const float * () const | |
operator float * () | |
(float*) conversion operators More... | |
bool | operator!= (const ON_3fVector &) const |
double | operator* (const ON_3dVector &) const |
inner (dot) product More... | |
float | operator* (const ON_3fPoint &) const |
inner (dot) product (point acting as a vector) More... | |
float | operator* (const ON_3fVector &) const |
inner (dot) product More... | |
ON_3dVector | operator* (double) const |
ON_3fVector | operator* (float) const |
ON_3fVector | operator* (int) const |
ON_3fVector & | operator*= (float) |
ON_3dPoint | operator+ (const ON_2dPoint &) const |
ON_3dVector | operator+ (const ON_2dVector &) const |
ON_3fPoint | operator+ (const ON_2fPoint &) const |
ON_3fVector | operator+ (const ON_2fVector &) const |
ON_3dPoint | operator+ (const ON_3dPoint &) const |
ON_3dVector | operator+ (const ON_3dVector &) const |
ON_3fPoint | operator+ (const ON_3fPoint &) const |
ON_3fVector | operator+ (const ON_3fVector &) const |
ON_3fVector & | operator+= (const ON_3fVector &) |
ON_3fVector | operator- () const |
ON_3dPoint | operator- (const ON_2dPoint &) const |
ON_3dVector | operator- (const ON_2dVector &) const |
ON_3fPoint | operator- (const ON_2fPoint &) const |
ON_3fVector | operator- (const ON_2fVector &) const |
ON_3dPoint | operator- (const ON_3dPoint &) const |
ON_3dVector | operator- (const ON_3dVector &) const |
ON_3fPoint | operator- (const ON_3fPoint &) const |
ON_3fVector | operator- (const ON_3fVector &) const |
ON_3fVector & | operator-= (const ON_3fVector &) |
ON_3dVector | operator/ (double) const |
ON_3fVector | operator/ (float) const |
ON_3fVector | operator/ (int) const |
ON_3fVector & | operator/= (float) |
bool | operator< (const ON_3fVector &) const |
bool | operator<= (const ON_3fVector &) const |
dictionary order comparisons More... | |
ON_3fVector & | operator= (const double *) |
point = double[3] support More... | |
ON_3fVector & | operator= (const float *) |
point = float[3] support More... | |
ON_3fVector & | operator= (const ON_2dPoint &) |
ON_3fVector & | operator= (const ON_2dVector &) |
ON_3fVector & | operator= (const ON_2fPoint &) |
use implicit operator=(const ON_3fVector&) More... | |
ON_3fVector & | operator= (const ON_2fVector &) |
ON_3fVector & | operator= (const ON_3dPoint &) |
ON_3fVector & | operator= (const ON_3dVector &) |
ON_3fVector & | operator= (const ON_3fPoint &) |
ON_3fVector & | operator= (const ON_3fVector &)=default |
bool | operator== (const ON_3fVector &) const |
bool | operator> (const ON_3fVector &) const |
bool | operator>= (const ON_3fVector &) const |
float & | operator[] (int) |
index operators mimic float[3] behavior More... | |
float | operator[] (int) const |
float & | operator[] (unsigned int) |
float | operator[] (unsigned int) const |
bool | PerpendicularTo (const ON_3fVector &) |
set this vector to be perpendicular to another vector More... | |
void | Reverse () |
negate all coordinates More... | |
void | Rotate (double, const ON_3fVector &) |
void | Rotate (double, double, const ON_3fVector &) |
void | Set (float, float, float) |
set 3d vector value More... | |
void | Transform (const ON_Xform &) |
bool | Unitize () |
returns false if vector has zero length More... | |
ON_3fVector | UnitVector () const |
void | Zero () |
set all coordinates to zero More... | |
Static Public Member Functions | |
static int | Compare (const ON_3fVector &lhs, const ON_3fVector &rhs) |
static const ON_3fVector & | UnitVector (int) |
Public Attributes | |
float | x |
float | y |
float | z |
Static Public Attributes | |
static const ON_3fVector | NanVector |
(ON_FLT_QNAN,ON_FLT_QNAN,ON_FLT_QNAN) More... | |
static const ON_3fVector | XAxis |
(1.0f,0.0f,0.0f) More... | |
static const ON_3fVector | YAxis |
(0.0f,1.0f,0.0f) More... | |
static const ON_3fVector | ZAxis |
(0.0f,0.0f,1.0f) More... | |
static const ON_3fVector | ZeroVector |
(0.0f,0.0f,0.0f) More... | |
|
default |
x,y,z not initialized
|
default |
|
default |
|
explicit |
|
explicit |
from 2f point
|
explicit |
from 3f point
|
explicit |
from 2f vector
|
explicit |
from float[3] array
|
explicit |
from 2d point
|
explicit |
from 3d point
|
explicit |
from 2d vector
|
explicit |
from 3d vector
|
explicit |
from double[3] array
|
static |
Description: A well ordered dictionary compare function that is nan aware and can be used for robust sorting.
ON__UINT32 ON_3fVector::DataCRC | ( | ON__UINT32 | current_remainder | ) | const |
double ON_3fVector::Fuzz | ( | double | = ON_ZERO_TOLERANCE | ) | const |
tolerance to use when comparing 3d vectors
bool ON_3fVector::IsNotZero | ( | ) | const |
Returns: true if at lease one coordinate is not zero and no coordinates are unset or nans.
bool ON_3fVector::IsPerpendicularTo | ( | const ON_3fVector & | , |
double | = ON_DEFAULT_ANGLE_TOLERANCE |
||
) | const |
bool ON_3fVector::IsTiny | ( | double | = ON_ZERO_TOLERANCE | ) | const |
Description: Test a vector to see if it is very short
Parameters: tiny_tol - [in] (default = ON_ZERO_TOLERANCE) a nonzero value used as the coordinate zero tolerance.
Returns: ( fabs(x) <= tiny_tol && fabs(y) <= tiny_tol && fabs(z) <= tiny_tol )
bool ON_3fVector::IsUnitVector | ( | ) | const |
bool ON_3fVector::IsUnset | ( | ) | const |
Returns: True if any coordinate is ON_UNSET_FLOAT or ON_UNSET_POSITIVE_FLOAT
bool ON_3fVector::IsValid | ( | ) | const |
Returns: False if any coordinate is ON_UNSET_FLOAT, ON_UNSET_POSITIVE_FLOAT, nan, or infinite. True, otherwise.
bool ON_3fVector::IsZero | ( | ) | const |
Returns: true if vector is the zero vector.
double ON_3fVector::Length | ( | ) | const |
double ON_3fVector::LengthSquared | ( | ) | const |
double ON_3fVector::MaximumCoordinate | ( | ) | const |
absolute value of maximum coordinate
int ON_3fVector::MaximumCoordinateIndex | ( | ) | const |
ON_3fVector::operator const float * | ( | ) | const |
ON_3fVector::operator float * | ( | ) |
(float*) conversion operators
bool ON_3fVector::operator!= | ( | const ON_3fVector & | ) | const |
double ON_3fVector::operator* | ( | const ON_3dVector & | ) | const |
inner (dot) product
float ON_3fVector::operator* | ( | const ON_3fPoint & | ) | const |
inner (dot) product (point acting as a vector)
float ON_3fVector::operator* | ( | const ON_3fVector & | ) | const |
inner (dot) product
ON_3dVector ON_3fVector::operator* | ( | double | ) | const |
ON_3fVector ON_3fVector::operator* | ( | float | ) | const |
ON_3fVector ON_3fVector::operator* | ( | int | ) | const |
ON_3fVector& ON_3fVector::operator*= | ( | float | ) |
ON_3dPoint ON_3fVector::operator+ | ( | const ON_2dPoint & | ) | const |
ON_3dVector ON_3fVector::operator+ | ( | const ON_2dVector & | ) | const |
ON_3fPoint ON_3fVector::operator+ | ( | const ON_2fPoint & | ) | const |
ON_3fVector ON_3fVector::operator+ | ( | const ON_2fVector & | ) | const |
ON_3dPoint ON_3fVector::operator+ | ( | const ON_3dPoint & | ) | const |
ON_3dVector ON_3fVector::operator+ | ( | const ON_3dVector & | ) | const |
ON_3fPoint ON_3fVector::operator+ | ( | const ON_3fPoint & | ) | const |
ON_3fVector ON_3fVector::operator+ | ( | const ON_3fVector & | ) | const |
ON_3fVector& ON_3fVector::operator+= | ( | const ON_3fVector & | ) |
ON_3fVector ON_3fVector::operator- | ( | ) | const |
ON_3dPoint ON_3fVector::operator- | ( | const ON_2dPoint & | ) | const |
ON_3dVector ON_3fVector::operator- | ( | const ON_2dVector & | ) | const |
ON_3fPoint ON_3fVector::operator- | ( | const ON_2fPoint & | ) | const |
ON_3fVector ON_3fVector::operator- | ( | const ON_2fVector & | ) | const |
ON_3dPoint ON_3fVector::operator- | ( | const ON_3dPoint & | ) | const |
ON_3dVector ON_3fVector::operator- | ( | const ON_3dVector & | ) | const |
ON_3fPoint ON_3fVector::operator- | ( | const ON_3fPoint & | ) | const |
ON_3fVector ON_3fVector::operator- | ( | const ON_3fVector & | ) | const |
ON_3fVector& ON_3fVector::operator-= | ( | const ON_3fVector & | ) |
ON_3dVector ON_3fVector::operator/ | ( | double | ) | const |
ON_3fVector ON_3fVector::operator/ | ( | float | ) | const |
ON_3fVector ON_3fVector::operator/ | ( | int | ) | const |
ON_3fVector& ON_3fVector::operator/= | ( | float | ) |
bool ON_3fVector::operator< | ( | const ON_3fVector & | ) | const |
bool ON_3fVector::operator<= | ( | const ON_3fVector & | ) | const |
dictionary order comparisons
ON_3fVector& ON_3fVector::operator= | ( | const double * | ) |
point = double[3] support
ON_3fVector& ON_3fVector::operator= | ( | const float * | ) |
point = float[3] support
ON_3fVector& ON_3fVector::operator= | ( | const ON_2dPoint & | ) |
ON_3fVector& ON_3fVector::operator= | ( | const ON_2dVector & | ) |
ON_3fVector& ON_3fVector::operator= | ( | const ON_2fPoint & | ) |
use implicit operator=(const ON_3fVector&)
ON_3fVector& ON_3fVector::operator= | ( | const ON_2fVector & | ) |
ON_3fVector& ON_3fVector::operator= | ( | const ON_3dPoint & | ) |
ON_3fVector& ON_3fVector::operator= | ( | const ON_3dVector & | ) |
ON_3fVector& ON_3fVector::operator= | ( | const ON_3fPoint & | ) |
|
default |
bool ON_3fVector::operator== | ( | const ON_3fVector & | ) | const |
bool ON_3fVector::operator> | ( | const ON_3fVector & | ) | const |
bool ON_3fVector::operator>= | ( | const ON_3fVector & | ) | const |
float& ON_3fVector::operator[] | ( | int | ) |
index operators mimic float[3] behavior
float ON_3fVector::operator[] | ( | int | ) | const |
float& ON_3fVector::operator[] | ( | unsigned int | ) |
float ON_3fVector::operator[] | ( | unsigned int | ) | const |
bool ON_3fVector::PerpendicularTo | ( | const ON_3fVector & | ) |
set this vector to be perpendicular to another vector
void ON_3fVector::Reverse | ( | ) |
negate all coordinates
void ON_3fVector::Rotate | ( | double | , |
const ON_3fVector & | |||
) |
void ON_3fVector::Rotate | ( | double | , |
double | , | ||
const ON_3fVector & | |||
) |
void ON_3fVector::Set | ( | float | , |
float | , | ||
float | |||
) |
set 3d vector value
void ON_3fVector::Transform | ( | const ON_Xform & | ) |
These transform the vector in place. The transformation matrix acts on the left of the vector; i.e., result = transformation*vector
bool ON_3fVector::Unitize | ( | ) |
returns false if vector has zero length
ON_3fVector ON_3fVector::UnitVector | ( | ) | const |
Returns: If this is a valid non-zero vector, a unit vector parallel to this is returned. Otherwise the zero vector is returned.
|
static |
Description: A index driven function to get unit axis vectors. Parameters: index - [in] 0 returns (1,0,0), 1 returns (0,1,0) 2 returns (0,0,1) Returns: Unit 3d vector with vector[i] = (i==index)?1:0;
void ON_3fVector::Zero | ( | ) |
set all coordinates to zero
|
static |
(ON_FLT_QNAN,ON_FLT_QNAN,ON_FLT_QNAN)
float ON_3fVector::x |
|
static |
(1.0f,0.0f,0.0f)
float ON_3fVector::y |
|
static |
(0.0f,1.0f,0.0f)
float ON_3fVector::z |
|
static |
(0.0f,0.0f,1.0f)
|
static |
(0.0f,0.0f,0.0f)