Rhino C++ API  7.19
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ON_3fPoint Class Reference

#include <opennurbs_fpoint.h>

Public Member Functions

 ON_3fPoint ()=default
 x,y,z not initialized More...
 
 ON_3fPoint (const double *)
 from double[3] array More...
 
 ON_3fPoint (const float *)
 from float[3] array More...
 
 ON_3fPoint (const ON_2dPoint &)
 from 2d point More...
 
 ON_3fPoint (const ON_2dVector &)
 from 2d vector More...
 
 ON_3fPoint (const ON_2fPoint &)
 from 2f point More...
 
 ON_3fPoint (const ON_2fVector &)
 from 2f vector More...
 
 ON_3fPoint (const ON_3dPoint &)
 from 3d point More...
 
 ON_3fPoint (const ON_3dVector &)
 from 3d vector More...
 
 ON_3fPoint (const ON_3fPoint &)=default
 
 ON_3fPoint (const ON_3fVector &)
 from 3f vector More...
 
 ON_3fPoint (const ON_4dPoint &)
 from 4d point More...
 
 ON_3fPoint (const ON_4fPoint &)
 from 4f point More...
 
 ON_3fPoint (float x, float y, float z)
 
 ~ON_3fPoint ()=default
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
double DistanceTo (const ON_3fPoint &) const
 
double DistanceToSquared (const ON_3fPoint &) const
 
double Fuzz (double=ON_ZERO_TOLERANCE) const
 tolerance to use when comparing 3d points More...
 
bool IsNotZero () const
 
bool IsUnset () const
 
bool IsValid () const
 
bool IsZero () 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_3fPoint &) const
 
float operator* (const ON_3fPoint &) const
 for points acting as vectors More...
 
float operator* (const ON_3fVector &) const
 for points acting as vectors More...
 
ON_3dPoint operator* (double) const
 
ON_3fPoint operator* (float) const
 
ON_3fPoint operator* (int) const
 
ON_3fPointoperator*= (float)
 
ON_3dPoint operator+ (const ON_2dPoint &) const
 
ON_3dPoint operator+ (const ON_2dVector &) const
 
ON_3fPoint operator+ (const ON_2fPoint &) const
 
ON_3fPoint operator+ (const ON_2fVector &) const
 
ON_3dPoint operator+ (const ON_3dPoint &) const
 
ON_3dPoint operator+ (const ON_3dVector &) const
 
ON_3fPoint operator+ (const ON_3fPoint &) const
 
ON_3fPoint operator+ (const ON_3fVector &) const
 
ON_3fPointoperator+= (const ON_3fVector &)
 
ON_3dVector operator- (const ON_2dPoint &) const
 
ON_3dPoint operator- (const ON_2dVector &) const
 
ON_3fVector operator- (const ON_2fPoint &) const
 
ON_3fPoint operator- (const ON_2fVector &) const
 
ON_3dVector operator- (const ON_3dPoint &) const
 
ON_3dPoint operator- (const ON_3dVector &) const
 
ON_3fVector operator- (const ON_3fPoint &) const
 
ON_3fPoint operator- (const ON_3fVector &) const
 
ON_3fPointoperator-= (const ON_3fVector &)
 
ON_3dPoint operator/ (double) const
 
ON_3fPoint operator/ (float) const
 
ON_3fPoint operator/ (int) const
 
ON_3fPointoperator/= (float)
 
bool operator< (const ON_3fPoint &) const
 
bool operator<= (const ON_3fPoint &) const
 dictionary order comparisons More...
 
ON_3fPointoperator= (const double *)
 point = double[3] support More...
 
ON_3fPointoperator= (const float *)
 point = float[3] support More...
 
ON_3fPointoperator= (const ON_2dPoint &)
 
ON_3fPointoperator= (const ON_2dVector &)
 
ON_3fPointoperator= (const ON_2fPoint &)
 use implicit operator=(const ON_3fPoint&) More...
 
ON_3fPointoperator= (const ON_2fVector &)
 
ON_3fPointoperator= (const ON_3dPoint &)
 
ON_3fPointoperator= (const ON_3dVector &)
 
ON_3fPointoperator= (const ON_3fPoint &)=default
 
ON_3fPointoperator= (const ON_3fVector &)
 
ON_3fPointoperator= (const ON_4dPoint &)
 
ON_3fPointoperator= (const ON_4fPoint &)
 
bool operator== (const ON_3fPoint &) const
 
bool operator> (const ON_3fPoint &) const
 
bool operator>= (const ON_3fPoint &) const
 
float & operator[] (int)
 index operators mimic float[3] behavior More...
 
float operator[] (int) const
 
float & operator[] (unsigned int)
 
float operator[] (unsigned int) const
 
void Rotate (double, const ON_3fVector &, const ON_3fPoint &)
 
void Rotate (double, double, const ON_3fVector &, const ON_3fPoint &)
 
void Set (float, float, float)
 set 3d point value More...
 
void Transform (const ON_Xform &)
 
void Zero ()
 set all coordinates to zero; More...
 

Static Public Member Functions

static int Compare (const ON_3fPoint &lhs, const ON_3fPoint &rhs)
 
static const ON_3fPoint Midpoint (const ON_3fPoint &A, const ON_3fPoint &B)
 

Public Attributes

float x
 
float y
 
float z
 

Static Public Attributes

static const ON_3fPoint NanPoint
 (ON_FLT_QNAN,ON_FLT_QNAN,ON_FLT_QNAN) More...
 
static const ON_3fPoint Origin
 (0.0f,0.0f,0.0f) More...
 

Detailed Description

ON_3fPoint

Constructor & Destructor Documentation

◆ ON_3fPoint() [1/14]

ON_3fPoint::ON_3fPoint ( )
default

x,y,z not initialized

◆ ~ON_3fPoint()

ON_3fPoint::~ON_3fPoint ( )
default

◆ ON_3fPoint() [2/14]

ON_3fPoint::ON_3fPoint ( const ON_3fPoint )
default

◆ ON_3fPoint() [3/14]

ON_3fPoint::ON_3fPoint ( float  x,
float  y,
float  z 
)
explicit

◆ ON_3fPoint() [4/14]

ON_3fPoint::ON_3fPoint ( const ON_2fPoint )
explicit

from 2f point

◆ ON_3fPoint() [5/14]

ON_3fPoint::ON_3fPoint ( const ON_4fPoint )
explicit

from 4f point

◆ ON_3fPoint() [6/14]

ON_3fPoint::ON_3fPoint ( const ON_2fVector )
explicit

from 2f vector

◆ ON_3fPoint() [7/14]

ON_3fPoint::ON_3fPoint ( const ON_3fVector )
explicit

from 3f vector

◆ ON_3fPoint() [8/14]

ON_3fPoint::ON_3fPoint ( const float *  )
explicit

from float[3] array

◆ ON_3fPoint() [9/14]

ON_3fPoint::ON_3fPoint ( const ON_2dPoint )
explicit

from 2d point

◆ ON_3fPoint() [10/14]

ON_3fPoint::ON_3fPoint ( const ON_3dPoint )
explicit

from 3d point

◆ ON_3fPoint() [11/14]

ON_3fPoint::ON_3fPoint ( const ON_4dPoint )
explicit

from 4d point

◆ ON_3fPoint() [12/14]

ON_3fPoint::ON_3fPoint ( const ON_2dVector )
explicit

from 2d vector

◆ ON_3fPoint() [13/14]

ON_3fPoint::ON_3fPoint ( const ON_3dVector )
explicit

from 3d vector

◆ ON_3fPoint() [14/14]

ON_3fPoint::ON_3fPoint ( const double *  )
explicit

from double[3] array

Member Function Documentation

◆ Compare()

static int ON_3fPoint::Compare ( const ON_3fPoint lhs,
const ON_3fPoint rhs 
)
static

Description: A well ordered dictionary compare function that is nan aware and can be used for robust sorting.

◆ DataCRC()

ON__UINT32 ON_3fPoint::DataCRC ( ON__UINT32  current_remainder) const

◆ DistanceTo()

double ON_3fPoint::DistanceTo ( const ON_3fPoint ) const

◆ DistanceToSquared()

double ON_3fPoint::DistanceToSquared ( const ON_3fPoint ) const

◆ Fuzz()

double ON_3fPoint::Fuzz ( double  = ON_ZERO_TOLERANCE) const

tolerance to use when comparing 3d points

◆ IsNotZero()

bool ON_3fPoint::IsNotZero ( ) const

Returns: true if at lease one coordinate is not zero and no coordinates are unset or nans.

◆ IsUnset()

bool ON_3fPoint::IsUnset ( ) const

Returns: True if any coordinate is ON_UNSET_FLOAT or ON_UNSET_POSITIVE_FLOAT

◆ IsValid()

bool ON_3fPoint::IsValid ( ) const

Returns: False if any coordinate is ON_UNSET_FLOAT, ON_UNSET_POSITIVE_FLOAT, nan, or infinite. True, otherwise.

◆ IsZero()

bool ON_3fPoint::IsZero ( ) const

Returns: true if all coordinates are not zero and no coordinates are nans. false otherwise.

◆ MaximumCoordinate()

double ON_3fPoint::MaximumCoordinate ( ) const

absolute value of maximum coordinate

◆ MaximumCoordinateIndex()

int ON_3fPoint::MaximumCoordinateIndex ( ) const

◆ Midpoint()

static const ON_3fPoint ON_3fPoint::Midpoint ( const ON_3fPoint A,
const ON_3fPoint B 
)
static

Returns: (A+B)/2 Remarks: Exact when coordinates are equal and prevents overflow.

◆ operator const float *()

ON_3fPoint::operator const float * ( ) const

◆ operator float *()

ON_3fPoint::operator float * ( )

(float*) conversion operators

◆ operator!=()

bool ON_3fPoint::operator!= ( const ON_3fPoint ) const

◆ operator*() [1/5]

float ON_3fPoint::operator* ( const ON_3fPoint ) const

for points acting as vectors

◆ operator*() [2/5]

float ON_3fPoint::operator* ( const ON_3fVector ) const

for points acting as vectors

◆ operator*() [3/5]

ON_3dPoint ON_3fPoint::operator* ( double  ) const

◆ operator*() [4/5]

ON_3fPoint ON_3fPoint::operator* ( float  ) const

◆ operator*() [5/5]

ON_3fPoint ON_3fPoint::operator* ( int  ) const

◆ operator*=()

ON_3fPoint& ON_3fPoint::operator*= ( float  )

◆ operator+() [1/8]

ON_3dPoint ON_3fPoint::operator+ ( const ON_2dPoint ) const

◆ operator+() [2/8]

ON_3dPoint ON_3fPoint::operator+ ( const ON_2dVector ) const

◆ operator+() [3/8]

ON_3fPoint ON_3fPoint::operator+ ( const ON_2fPoint ) const

◆ operator+() [4/8]

ON_3fPoint ON_3fPoint::operator+ ( const ON_2fVector ) const

◆ operator+() [5/8]

ON_3dPoint ON_3fPoint::operator+ ( const ON_3dPoint ) const

◆ operator+() [6/8]

ON_3dPoint ON_3fPoint::operator+ ( const ON_3dVector ) const

◆ operator+() [7/8]

ON_3fPoint ON_3fPoint::operator+ ( const ON_3fPoint ) const

◆ operator+() [8/8]

ON_3fPoint ON_3fPoint::operator+ ( const ON_3fVector ) const

◆ operator+=()

ON_3fPoint& ON_3fPoint::operator+= ( const ON_3fVector )

◆ operator-() [1/8]

ON_3dVector ON_3fPoint::operator- ( const ON_2dPoint ) const

◆ operator-() [2/8]

ON_3dPoint ON_3fPoint::operator- ( const ON_2dVector ) const

◆ operator-() [3/8]

ON_3fVector ON_3fPoint::operator- ( const ON_2fPoint ) const

◆ operator-() [4/8]

ON_3fPoint ON_3fPoint::operator- ( const ON_2fVector ) const

◆ operator-() [5/8]

ON_3dVector ON_3fPoint::operator- ( const ON_3dPoint ) const

◆ operator-() [6/8]

ON_3dPoint ON_3fPoint::operator- ( const ON_3dVector ) const

◆ operator-() [7/8]

ON_3fVector ON_3fPoint::operator- ( const ON_3fPoint ) const

◆ operator-() [8/8]

ON_3fPoint ON_3fPoint::operator- ( const ON_3fVector ) const

◆ operator-=()

ON_3fPoint& ON_3fPoint::operator-= ( const ON_3fVector )

◆ operator/() [1/3]

ON_3dPoint ON_3fPoint::operator/ ( double  ) const

◆ operator/() [2/3]

ON_3fPoint ON_3fPoint::operator/ ( float  ) const

◆ operator/() [3/3]

ON_3fPoint ON_3fPoint::operator/ ( int  ) const

◆ operator/=()

ON_3fPoint& ON_3fPoint::operator/= ( float  )

◆ operator<()

bool ON_3fPoint::operator< ( const ON_3fPoint ) const

◆ operator<=()

bool ON_3fPoint::operator<= ( const ON_3fPoint ) const

dictionary order comparisons

◆ operator=() [1/12]

ON_3fPoint& ON_3fPoint::operator= ( const double *  )

point = double[3] support

◆ operator=() [2/12]

ON_3fPoint& ON_3fPoint::operator= ( const float *  )

point = float[3] support

◆ operator=() [3/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_2dPoint )

◆ operator=() [4/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_2dVector )

◆ operator=() [5/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_2fPoint )

◆ operator=() [6/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_2fVector )

◆ operator=() [7/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_3dPoint )

◆ operator=() [8/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_3dVector )

◆ operator=() [9/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_3fPoint )
default

◆ operator=() [10/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_3fVector )

◆ operator=() [11/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_4dPoint )

◆ operator=() [12/12]

ON_3fPoint& ON_3fPoint::operator= ( const ON_4fPoint )

◆ operator==()

bool ON_3fPoint::operator== ( const ON_3fPoint ) const

◆ operator>()

bool ON_3fPoint::operator> ( const ON_3fPoint ) const

◆ operator>=()

bool ON_3fPoint::operator>= ( const ON_3fPoint ) const

◆ operator[]() [1/4]

float& ON_3fPoint::operator[] ( int  )

index operators mimic float[3] behavior

◆ operator[]() [2/4]

float ON_3fPoint::operator[] ( int  ) const

◆ operator[]() [3/4]

float& ON_3fPoint::operator[] ( unsigned int  )

◆ operator[]() [4/4]

float ON_3fPoint::operator[] ( unsigned int  ) const

◆ Rotate() [1/2]

void ON_3fPoint::Rotate ( double  ,
const ON_3fVector ,
const ON_3fPoint  
)

◆ Rotate() [2/2]

void ON_3fPoint::Rotate ( double  ,
double  ,
const ON_3fVector ,
const ON_3fPoint  
)

◆ Set()

void ON_3fPoint::Set ( float  ,
float  ,
float   
)

set 3d point value

◆ Transform()

void ON_3fPoint::Transform ( const ON_Xform )

These transform the point in place. The transformation matrix acts on the left of the point; i.e., result = transformation*point

◆ Zero()

void ON_3fPoint::Zero ( )

set all coordinates to zero;

Deprecated:
Use p = ON_3fPoint::Origin;

Member Data Documentation

◆ NanPoint

const ON_3fPoint ON_3fPoint::NanPoint
static

(ON_FLT_QNAN,ON_FLT_QNAN,ON_FLT_QNAN)

◆ Origin

const ON_3fPoint ON_3fPoint::Origin
static

(0.0f,0.0f,0.0f)

◆ x

float ON_3fPoint::x

◆ y

float ON_3fPoint::y

◆ z

float ON_3fPoint::z