#include <opennurbs_point.h>

Public Member Functions

 ON_2dPoint ()=default
 x,y not initialized More...
 
 ON_2dPoint (const ON_2dPoint &)=default
 
 ON_2dPoint (double x, double y)
 
 ON_2dPoint (const ON_3dPoint &)
 
 ON_2dPoint (const ON_4dPoint &h)
 
 ON_2dPoint (const ON_2dVector &)
 
 ON_2dPoint (const ON_3dVector &)
 
 ON_2dPoint (const double *)
 
 ON_2dPoint (const class ON_2fPoint &)
 
 ON_2dPoint (const class ON_3fPoint &)
 
 ON_2dPoint (const class ON_4fPoint &h)
 
 ON_2dPoint (const class ON_2fVector &)
 
 ON_2dPoint (const class ON_3fVector &)
 
 ON_2dPoint (const float *)
 
 ~ON_2dPoint ()=default
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
double DistanceTo (const ON_2dPoint &) const
 
bool IsNotZero () const
 
bool IsUnset () const
 
bool IsValid () const
 
bool IsZero () 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_2dPoint &) const
 
ON_2dPoint operator* (int) const
 
ON_2dPoint operator* (float) const
 
ON_2dPoint operator* (double) const
 
double operator* (const ON_2dPoint &) const
 
double operator* (const ON_2dVector &) const
 
ON_2dPoint operator* (const ON_Xform &) const
 
ON_2dPointoperator*= (double)
 
ON_2dPoint operator+ (const ON_2dPoint &) const
 
ON_2dPoint operator+ (const ON_2dVector &) const
 
ON_3dPoint operator+ (const ON_3dPoint &) const
 
ON_3dPoint operator+ (const ON_3dVector &) const
 
ON_2dPoint operator+ (const ON_2fPoint &) const
 
ON_2dPoint operator+ (const ON_2fVector &) const
 
ON_3dPoint operator+ (const ON_3fPoint &) const
 
ON_3dPoint operator+ (const ON_3fVector &) const
 
ON_2dPointoperator+= (const ON_2dVector &)
 
ON_2dVector operator- (const ON_2dPoint &) const
 
ON_2dPoint operator- (const ON_2dVector &) const
 
ON_3dVector operator- (const ON_3dPoint &) const
 
ON_3dPoint operator- (const ON_3dVector &) const
 
ON_2dVector operator- (const ON_2fPoint &) const
 
ON_2dPoint operator- (const ON_2fVector &) const
 
ON_3dVector operator- (const ON_3fPoint &) const
 
ON_3dPoint operator- (const ON_3fVector &) const
 
ON_2dPointoperator-= (const ON_2dVector &)
 
ON_2dPoint operator/ (int) const
 
ON_2dPoint operator/ (float) const
 
ON_2dPoint operator/ (double) const
 
ON_2dPointoperator/= (double)
 
bool operator< (const ON_2dPoint &) const
 
bool operator<= (const ON_2dPoint &) const
 dictionary order comparisons More...
 
ON_2dPointoperator= (const ON_2dPoint &)=default
 
ON_2dPointoperator= (const ON_3dPoint &)
 use implicit operator=(const ON_2dPoint&) More...
 
ON_2dPointoperator= (const ON_4dPoint &)
 
ON_2dPointoperator= (const ON_2dVector &)
 
ON_2dPointoperator= (const ON_3dVector &)
 
ON_2dPointoperator= (const double *)
 
ON_2dPointoperator= (const ON_2fPoint &)
 
ON_2dPointoperator= (const ON_3fPoint &)
 
ON_2dPointoperator= (const ON_4fPoint &)
 
ON_2dPointoperator= (const ON_2fVector &)
 
ON_2dPointoperator= (const ON_3fVector &)
 
ON_2dPointoperator= (const float *)
 
bool operator== (const ON_2dPoint &) const
 
bool operator> (const ON_2dPoint &) const
 
bool operator>= (const ON_2dPoint &) const
 
double & operator[] (int)
 index operators mimic double[2] behavior More...
 
double operator[] (int) const
 
double & operator[] (unsigned int)
 
double operator[] (unsigned int) const
 
void Rotate (double angle, const ON_2dPoint &center)
 
void Rotate (double sin_angle, double cos_angle, const ON_2dPoint &center)
 
void Set (double x, double y)
 set 2d point value More...
 
void Transform (const ON_Xform &)
 
void Zero ()
 

Static Public Member Functions

static int Compare (const ON_2dPoint &lhs, const ON_2dPoint &rhs)
 A well ordered dictionary compare function that is nan aware and can be used for robust sorting. More...
 

Public Attributes

double x
 
double y
 

Static Public Attributes

static const ON_2dPoint NanPoint
 
static const ON_2dPoint Origin
 
static const ON_2dPoint UnsetPoint
 

Constructor & Destructor Documentation

◆ ON_2dPoint() [1/14]

ON_2dPoint::ON_2dPoint ( )
default

x,y not initialized

◆ ~ON_2dPoint()

ON_2dPoint::~ON_2dPoint ( )
default

◆ ON_2dPoint() [2/14]

ON_2dPoint::ON_2dPoint ( const ON_2dPoint )
default

◆ ON_2dPoint() [3/14]

ON_2dPoint::ON_2dPoint ( double  x,
double  y 
)
explicit

◆ ON_2dPoint() [4/14]

ON_2dPoint::ON_2dPoint ( const ON_3dPoint )

◆ ON_2dPoint() [5/14]

ON_2dPoint::ON_2dPoint ( const ON_4dPoint h)
explicit

◆ ON_2dPoint() [6/14]

ON_2dPoint::ON_2dPoint ( const ON_2dVector )

◆ ON_2dPoint() [7/14]

ON_2dPoint::ON_2dPoint ( const ON_3dVector )
explicit

◆ ON_2dPoint() [8/14]

ON_2dPoint::ON_2dPoint ( const double *  )
explicit

◆ ON_2dPoint() [9/14]

ON_2dPoint::ON_2dPoint ( const class ON_2fPoint )

◆ ON_2dPoint() [10/14]

ON_2dPoint::ON_2dPoint ( const class ON_3fPoint )
explicit

◆ ON_2dPoint() [11/14]

ON_2dPoint::ON_2dPoint ( const class ON_4fPoint h)
explicit

◆ ON_2dPoint() [12/14]

ON_2dPoint::ON_2dPoint ( const class ON_2fVector )
explicit

◆ ON_2dPoint() [13/14]

ON_2dPoint::ON_2dPoint ( const class ON_3fVector )
explicit

◆ ON_2dPoint() [14/14]

ON_2dPoint::ON_2dPoint ( const float *  )
explicit

Member Function Documentation

◆ Compare()

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

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

◆ DataCRC()

ON__UINT32 ON_2dPoint::DataCRC ( ON__UINT32  current_remainder) const

◆ DistanceTo()

double ON_2dPoint::DistanceTo ( const ON_2dPoint ) const

◆ IsNotZero()

bool ON_2dPoint::IsNotZero ( ) const
Returns
true if at lease one coordinate is not zero and no coordinates are nans.

◆ IsUnset()

bool ON_2dPoint::IsUnset ( ) const
Returns
True if any coordinate is ON_UNSET_VALUE or ON_UNSET_POSITIVE_VALUE

◆ IsValid()

bool ON_2dPoint::IsValid ( ) const
Returns
False if any coordinate is infinte, a nan, or ON_UNSET_VALUE.

◆ IsZero()

bool ON_2dPoint::IsZero ( ) const
Returns
true if all coordinates are not zero and no coordinates are nans. false otherwise.

◆ MaximumCoordinate()

double ON_2dPoint::MaximumCoordinate ( ) const

◆ MaximumCoordinateIndex()

int ON_2dPoint::MaximumCoordinateIndex ( ) const

◆ MinimumCoordinate()

double ON_2dPoint::MinimumCoordinate ( ) const

◆ MinimumCoordinateIndex()

int ON_2dPoint::MinimumCoordinateIndex ( ) const

◆ operator const double *()

ON_2dPoint::operator const double * ( ) const

◆ operator double *()

ON_2dPoint::operator double * ( )

(double*) conversion operators

◆ operator!=()

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

◆ operator*() [1/6]

ON_2dPoint ON_2dPoint::operator* ( int  ) const

◆ operator*() [2/6]

ON_2dPoint ON_2dPoint::operator* ( float  ) const

◆ operator*() [3/6]

ON_2dPoint ON_2dPoint::operator* ( double  ) const

◆ operator*() [4/6]

double ON_2dPoint::operator* ( const ON_2dPoint ) const

◆ operator*() [5/6]

double ON_2dPoint::operator* ( const ON_2dVector ) const

◆ operator*() [6/6]

ON_2dPoint ON_2dPoint::operator* ( const ON_Xform ) const

◆ operator*=()

ON_2dPoint& ON_2dPoint::operator*= ( double  )

◆ operator+() [1/8]

ON_2dPoint ON_2dPoint::operator+ ( const ON_2dPoint ) const

◆ operator+() [2/8]

ON_2dPoint ON_2dPoint::operator+ ( const ON_2dVector ) const

◆ operator+() [3/8]

ON_3dPoint ON_2dPoint::operator+ ( const ON_3dPoint ) const

◆ operator+() [4/8]

ON_3dPoint ON_2dPoint::operator+ ( const ON_3dVector ) const

◆ operator+() [5/8]

ON_2dPoint ON_2dPoint::operator+ ( const ON_2fPoint ) const

◆ operator+() [6/8]

ON_2dPoint ON_2dPoint::operator+ ( const ON_2fVector ) const

◆ operator+() [7/8]

ON_3dPoint ON_2dPoint::operator+ ( const ON_3fPoint ) const

◆ operator+() [8/8]

ON_3dPoint ON_2dPoint::operator+ ( const ON_3fVector ) const

◆ operator+=()

ON_2dPoint& ON_2dPoint::operator+= ( const ON_2dVector )

◆ operator-() [1/8]

ON_2dVector ON_2dPoint::operator- ( const ON_2dPoint ) const

◆ operator-() [2/8]

ON_2dPoint ON_2dPoint::operator- ( const ON_2dVector ) const

◆ operator-() [3/8]

ON_3dVector ON_2dPoint::operator- ( const ON_3dPoint ) const

◆ operator-() [4/8]

ON_3dPoint ON_2dPoint::operator- ( const ON_3dVector ) const

◆ operator-() [5/8]

ON_2dVector ON_2dPoint::operator- ( const ON_2fPoint ) const

◆ operator-() [6/8]

ON_2dPoint ON_2dPoint::operator- ( const ON_2fVector ) const

◆ operator-() [7/8]

ON_3dVector ON_2dPoint::operator- ( const ON_3fPoint ) const

◆ operator-() [8/8]

ON_3dPoint ON_2dPoint::operator- ( const ON_3fVector ) const

◆ operator-=()

ON_2dPoint& ON_2dPoint::operator-= ( const ON_2dVector )

◆ operator/() [1/3]

ON_2dPoint ON_2dPoint::operator/ ( int  ) const

◆ operator/() [2/3]

ON_2dPoint ON_2dPoint::operator/ ( float  ) const

◆ operator/() [3/3]

ON_2dPoint ON_2dPoint::operator/ ( double  ) const

◆ operator/=()

ON_2dPoint& ON_2dPoint::operator/= ( double  )

◆ operator<()

bool ON_2dPoint::operator< ( const ON_2dPoint ) const

◆ operator<=()

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

dictionary order comparisons

◆ operator=() [1/12]

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

◆ operator=() [2/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_3dPoint )

◆ operator=() [3/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_4dPoint )

◆ operator=() [4/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_2dVector )

◆ operator=() [5/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_3dVector )

◆ operator=() [6/12]

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

◆ operator=() [7/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_2fPoint )

◆ operator=() [8/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_3fPoint )

◆ operator=() [9/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_4fPoint )

◆ operator=() [10/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_2fVector )

◆ operator=() [11/12]

ON_2dPoint& ON_2dPoint::operator= ( const ON_3fVector )

◆ operator=() [12/12]

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

◆ operator==()

bool ON_2dPoint::operator== ( const ON_2dPoint ) const

◆ operator>()

bool ON_2dPoint::operator> ( const ON_2dPoint ) const

◆ operator>=()

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

◆ operator[]() [1/4]

double& ON_2dPoint::operator[] ( int  )

index operators mimic double[2] behavior

◆ operator[]() [2/4]

double ON_2dPoint::operator[] ( int  ) const

◆ operator[]() [3/4]

double& ON_2dPoint::operator[] ( unsigned  int)

◆ operator[]() [4/4]

double ON_2dPoint::operator[] ( unsigned  int) const

◆ Rotate() [1/2]

void ON_2dPoint::Rotate ( double  angle,
const ON_2dPoint center 
)

◆ Rotate() [2/2]

void ON_2dPoint::Rotate ( double  sin_angle,
double  cos_angle,
const ON_2dPoint center 
)

◆ Set()

void ON_2dPoint::Set ( double  x,
double  y 
)

set 2d point value

◆ Transform()

void ON_2dPoint::Transform ( const ON_Xform )

◆ Zero()

void ON_2dPoint::Zero ( )

Member Data Documentation

◆ NanPoint

const ON_2dPoint ON_2dPoint::NanPoint
static

◆ Origin

const ON_2dPoint ON_2dPoint::Origin
static

◆ UnsetPoint

const ON_2dPoint ON_2dPoint::UnsetPoint
static

◆ x

double ON_2dPoint::x

◆ y

double ON_2dPoint::y