22 #if !defined(ON_POINT_INC_)
25 #include <pcl/pcl_exports.h>
102 double normalized_parameter
120 double interval_parameter
173 bool bTestOpenInterval =
false
191 bool bProperSubSet =
false
292 operator const double*()
const;
375 void Set(
double x,
double y);
444 operator const double*()
const;
525 void Set(
double x,
double y,
double z);
535 double Fuzz(
double tolerance = ON_ZERO_TOLERANCE )
const;
596 operator const double*()
const;
649 void Set(
double x,
double y,
double z,
double w);
711 operator const double*()
const;
793 void Set(
double x,
double y);
827 double angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE
835 double angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE
853 double tiny_tol = ON_ZERO_TOLERANCE
929 ON_IsOrthogonalFrame(
936 ON_IsOrthonormalFrame(
990 operator const double*()
const;
1072 void Set(
double x,
double y,
double z);
1104 double angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE
1112 double angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE
1115 double Fuzz(
double tolerance = ON_ZERO_TOLERANCE )
const;
1133 double tiny_tol = ON_ZERO_TOLERANCE
1245 double ValueAt(
double x,
double y,
double z)
const;
1271 double value_range[2]
1278 double value_range[2]
1368 const double* points,
1397 const double* points,
1427 const double* points,
1460 double endpoint_tolerance,
1461 double interior_tolerance,
1526 ON_IsOrthogonalFrame(
1534 ON_IsOrthonormalFrame(
1542 ON_IsRightHandFrame(
1553 #define ON_unset_point ON_UNSET_POINT
1556 extern ON_EXTERN_DECL
const ON_3dPoint ON_UNSET_POINT;
1559 extern ON_EXTERN_DECL
const ON_3dVector ON_UNSET_VECTOR;
1562 extern ON_EXTERN_DECL
const ON_3dPoint ON_origin;
1573 #include "opennurbs_fpoint.h"
ON_3dPoint operator-(const ON_3dVector &) const
ON_2dPoint operator*(float) const
ON_2dPoint operator-(const ON_2fVector &) const
int MaximumCoordinateIndex() const
double operator*(const ON_4dPoint &) const
bool IsUnsetPoint() const
bool operator==(const ON_2dPoint &) const
ON_2dPoint & operator+=(const ON_2dPoint &)
ON_2dPoint & operator/=(double)
ON_2dPoint operator*(const ON_Xform &) const
double operator*(const ON_2dVector &) const
bool operator!=(const ON_2dPoint &) const
ON_2dPoint(const class ON_2fPoint &)
ON_2dPoint & operator=(const ON_4fPoint &)
ON_3dPoint operator-(const ON_3fVector &) const
ON_2dPoint & operator=(const ON_3fVector &)
ON_3dVector operator-(const ON_3dPoint &) const
ON_2dPoint & operator=(const ON_2fVector &)
int MinimumCoordinateIndex() const
void Rotate(double angle, const ON_2dPoint ¢er)
ON_2dPoint(const ON_2dVector &)
ON_2dPoint & operator-=(const ON_2dVector &)
ON_2dPoint operator+(const ON_2dPoint &) const
void Rotate(double sin_angle, double cos_angle, const ON_2dPoint ¢er)
ON_2dPoint & operator-=(const ON_2dPoint &)
ON_2dPoint & operator-=(const ON_3dVector &)
static const ON_2dPoint Origin
ON_2dPoint & operator=(const double *)
ON_2dVector operator-(const ON_2fPoint &) const
ON_3dPoint operator+(const ON_3fVector &) const
ON_2dPoint(const double *)
ON_2dPoint(const class ON_3fVector &)
ON_3dPoint operator+(const ON_3dPoint &) const
ON_2dVector operator-(const ON_2dPoint &) const
ON_2dPoint operator-(const ON_2dVector &) const
ON_3dPoint operator+(const ON_3fPoint &) const
ON_3dPoint operator+(const ON_3dVector &) const
ON_2dPoint & operator+=(const ON_2dVector &)
ON_2dPoint operator+(const ON_2fPoint &) const
double MaximumCoordinate() const
double operator*(const ON_2dPoint &) const
ON_2dPoint operator*(int) const
double MinimumCoordinate() const
ON_2dPoint operator/(float) const
ON_2dPoint & operator=(const ON_2fPoint &)
ON_3dVector operator-(const ON_3fPoint &) const
double operator[](int) const
ON_2dPoint & operator+=(const ON_3dVector &)
ON_2dPoint & operator=(const ON_3dPoint &)
ON_2dPoint & operator=(const ON_4dPoint &)
void Transform(const ON_Xform &)
ON_2dPoint(const ON_4dPoint &)
ON_2dPoint operator/(int) const
bool operator>=(const ON_2dPoint &) const
double DistanceTo(const ON_2dPoint &) const
ON_2dPoint(const class ON_2fVector &)
ON_2dPoint & operator=(const ON_3dVector &)
double operator[](unsigned int) const
ON_2dPoint operator+(const ON_2dVector &) const
ON_2dPoint & operator=(const ON_2dVector &)
ON_2dPoint operator/(double) const
bool operator<=(const ON_2dPoint &) const
static const ON_2dPoint UnsetPoint
ON_2dPoint(double x, double y)
ON_2dPoint & operator=(const float *)
bool operator>(const ON_2dPoint &) const
bool operator<(const ON_2dPoint &) const
ON_2dPoint & operator*=(double)
ON_2dPoint(const class ON_3fPoint &)
ON_2dPoint(const ON_3dPoint &)
double & operator[](unsigned int)
ON_2dPoint operator+(const ON_2fVector &) const
ON_2dPoint(const class ON_4fPoint &)
ON_2dPoint operator*(double) const
ON_2dPoint(const ON_3dVector &)
void Set(double x, double y)
ON_2dPoint(const float *)
ON_2dPoint & operator=(const ON_3fPoint &)
ON_3dVector operator+(const ON_3dVector &) const
bool PerpendicularTo(const ON_2dVector &)
bool IsTiny(double tiny_tol=ON_ZERO_TOLERANCE) const
ON_2dVector(const ON_2fPoint &)
bool IsPerpendicularTo(const ON_2dVector &other, double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const
void Rotate(double sin_angle, double cos_angle)
ON_2dVector & operator=(const ON_3fVector &)
ON_3dVector operator-(const ON_3fVector &) const
double operator*(const ON_2dPoint &) const
void Transform(const ON_Xform &)
ON_2dVector(double x, double y)
bool operator==(const ON_2dVector &) const
bool IsUnsetVector() const
ON_2dVector operator+(const ON_2fVector &) const
static const ON_2dVector & UnitVector(int)
ON_2dVector & operator+=(const ON_2dVector &)
ON_3dVector operator-(const ON_3dVector &) const
bool PerpendicularTo(const ON_2dPoint &, const ON_2dPoint &)
static const ON_2dVector UnsetVector
static const ON_2dVector ZeroVector
ON_2dPoint operator+(const ON_2dPoint &) const
static const ON_2dVector YAxis
ON_2dVector & operator/=(double)
ON_2dVector operator*(float) const
ON_3dPoint operator-(const ON_3dPoint &) const
double WedgeProduct(const ON_2dVector &B) const
void Rotate(double angle)
double operator*(const ON_2dVector &) const
ON_2dVector(const double *)
ON_2dVector operator-() const
ON_2dVector & operator=(const float *)
double operator[](int) const
int IsParallelTo(const ON_2dVector &other, double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const
ON_2dPoint operator-(const ON_2fPoint &) const
double operator*(const ON_4dPoint &) const
ON_2dVector(const float *)
ON_3dPoint operator+(const ON_3fPoint &) const
ON_2dVector & operator=(const ON_3dVector &)
ON_2dPoint operator-(const ON_2dPoint &) const
ON_2dVector(const ON_3dPoint &)
double MaximumCoordinate() const
ON_2dVector & operator=(const ON_2fVector &)
int MaximumCoordinateIndex() const
double & operator[](unsigned int)
ON_3dPoint operator+(const ON_3dPoint &) const
bool operator>=(const ON_2dVector &) const
ON_2dVector & operator=(const ON_3dPoint &)
ON_2dVector operator*(double) const
ON_2dVector operator+(const ON_2dVector &) const
ON_2dVector operator/(double) const
bool operator<(const ON_2dVector &) const
ON_2dVector & operator=(const ON_2dPoint &)
double operator[](unsigned int) const
bool IsUnitVector() const
static const ON_2dVector XAxis
double operator*(const ON_2fVector &) const
ON_2dVector operator/(float) const
ON_2dVector & operator-=(const ON_2dVector &)
bool operator>(const ON_2dVector &) const
double LengthSquared() const
ON_2dVector & operator=(const double *)
int MinimumCoordinateIndex() const
ON_2dVector(const ON_3dVector &)
ON_2dVector operator/(int) const
bool operator<=(const ON_2dVector &) const
double MinimumCoordinate() const
ON_2dVector(const ON_3fPoint &)
ON_3dVector operator+(const ON_3fVector &) const
bool operator!=(const ON_2dVector &) const
ON_2dVector operator-(const ON_2fVector &) const
ON_2dVector operator-(const ON_2dVector &) const
ON_2dVector & operator=(const ON_3fPoint &)
ON_3dPoint operator-(const ON_3fPoint &) const
ON_2dVector & operator=(const ON_2fPoint &)
void Set(double x, double y)
ON_2dVector & operator*=(double)
ON_2dVector operator*(const ON_Xform &) const
ON_2dVector operator*(int) const
ON_2dVector(const ON_2dPoint &)
bool Decompose(const ON_2dVector &, const ON_2dVector &, double *, double *) const
ON_2dVector(const ON_2fVector &)
ON_2dVector(const ON_3fVector &)
ON_2dPoint operator+(const ON_2fPoint &) const
double operator*(const ON_3dPoint &) const
ON_3dPoint & operator-=(const ON_3dPoint &)
ON_3dPoint(const ON_2dPoint &)
ON_3dPoint(const class ON_3fPoint &)
double operator*(const ON_3dVector &) const
int MaximumCoordinateIndex() const
ON_3dVector operator-(const ON_3dPoint &) const
ON_3dPoint(const ON_4dPoint &)
ON_3dPoint & operator+=(const ON_3dVector &)
bool operator==(const ON_3dPoint &) const
ON_3dPoint operator+(const ON_2fPoint &) const
ON_3dPoint(const class ON_2fVector &)
ON_3dPoint & operator*=(double)
ON_3dPoint & operator/=(double)
ON_3dPoint & operator=(const class ON_2fPoint &)
void Rotate(double sin_angle, double cos_angle, const ON_3dVector &axis, const ON_3dPoint ¢er)
ON_3dPoint(double x, double y, double z)
ON_3dVector operator-(const ON_3fPoint &) const
ON_3dPoint & operator=(const class ON_3fPoint &)
ON_3dPoint & operator+=(const ON_3dPoint &)
void Transform(const ON_Xform &)
ON_3dPoint(const double *)
ON_3dPoint & operator=(const ON_2dPoint &)
ON_3dPoint & operator=(const class ON_4fPoint &)
ON_3dPoint operator*(float) const
ON_3dPoint operator/(int) const
double DistanceTo(const ON_3dPoint &) const
void Rotate(double angle, const ON_3dVector &axis, const ON_3dPoint ¢er)
bool operator<=(const ON_3dPoint &) const
double operator[](int) const
ON_3dVector operator-(const ON_2fPoint &) const
ON_3dPoint operator+(const ON_2dVector &) const
ON_3dPoint operator/(float) const
ON_3dPoint operator+(const ON_2fVector &) const
ON_3dPoint operator*(int) const
ON_3dVector operator-(const ON_2dPoint &) const
ON_3dPoint operator*(const ON_Xform &) const
double operator[](unsigned int) const
double MinimumCoordinate() const
ON_3dPoint operator/(double) const
ON_3dPoint & operator=(const class ON_2fVector &)
ON_3dPoint & operator=(const ON_2dVector &)
ON_3dPoint & operator=(const ON_4dPoint &)
bool operator>(const ON_3dPoint &) const
ON_3dPoint & operator-=(const ON_3dVector &)
void Set(double x, double y, double z)
double operator*(const ON_4dPoint &) const
static const ON_3dPoint UnsetPoint
ON_3dPoint & operator=(const class ON_3fVector &)
ON_3dPoint operator+(const ON_2dPoint &) const
ON_3dPoint & operator=(const float *)
bool operator!=(const ON_3dPoint &) const
bool IsUnsetPoint() const
ON_3dPoint operator-(const ON_2fVector &) const
ON_3dPoint operator+(const ON_3fPoint &) const
bool operator>=(const ON_3dPoint &) const
ON_3dPoint(const class ON_4fPoint &)
ON_3dPoint(const ON_2dVector &)
ON_3dPoint operator-(const ON_2dVector &) const
ON_3dPoint(const class ON_2fPoint &)
ON_3dPoint(const class ON_3fVector &)
int MinimumCoordinateIndex() const
ON_3dPoint operator-(const ON_3fVector &) const
bool operator<(const ON_3dPoint &) const
ON_3dPoint(const ON_3dVector &)
ON_3dPoint & operator=(const ON_3dVector &)
ON_3dPoint operator+(const ON_3dPoint &) const
double & operator[](unsigned int)
static const ON_3dPoint Origin
ON_3dPoint operator-(const ON_3dVector &) const
ON_3dPoint & operator=(const double *)
double Fuzz(double tolerance=ON_ZERO_TOLERANCE) const
ON_3dPoint operator*(double) const
ON_3dPoint operator+(const ON_3dVector &) const
double MaximumCoordinate() const
ON_3dPoint(const float *)
ON_3dPoint operator+(const ON_3fVector &) const
bool PerpendicularTo(const ON_3dVector &)
ON_3dVector operator/(double) const
bool Decompose(const ON_3dVector &, const ON_3dVector &, const ON_3dVector &, double *, double *, double *) const
ON_3dVector operator-() const
bool operator>(const ON_3dVector &) const
ON_3dPoint operator+(const ON_2dPoint &) const
ON_3dVector operator*(double) const
ON_3dVector & operator=(const ON_2fPoint &)
bool operator<=(const ON_3dVector &) const
static const ON_3dVector ZeroVector
ON_3dVector operator*(const ON_Xform &) const
ON_3dPoint operator-(const ON_3dPoint &) const
ON_3dPoint operator-(const ON_2fPoint &) const
static const ON_3dVector ZAxis
ON_3dVector & operator=(const ON_3fPoint &)
ON_3dVector & operator=(const ON_2dPoint &)
bool operator<(const ON_3dVector &) const
void Transform(const ON_Xform &)
ON_3dVector & operator=(const ON_3dPoint &)
ON_3dVector operator/(int) const
double operator[](unsigned int) const
int IsParallelTo(const ON_3dVector &other, double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const
ON_3dPoint operator+(const ON_3dPoint &) const
double LengthAndUnitize()
ON_3dVector & operator=(const ON_2fVector &)
static const ON_3dVector XAxis
bool operator!=(const ON_3dVector &) const
static const ON_3dVector & UnitVector(int)
ON_3dVector operator-(const ON_3fVector &) const
double operator*(const ON_3dVector &) const
double operator*(const ON_3dPoint &) const
void Rotate(double sin_angle, double cos_angle, const ON_3dVector &axis)
ON_3dVector(const float *)
ON_3dPoint operator-(const ON_2dPoint &) const
ON_3dVector operator+(const ON_2fVector &) const
bool IsUnsetVector() const
ON_3dVector(const ON_2fVector &)
ON_3dVector(const ON_3fVector &)
ON_3dVector(const ON_3dPoint &)
ON_3dVector operator*(float) const
ON_3dVector operator+(const ON_3fVector &) const
double MinimumCoordinate() const
double operator[](int) const
ON_3dVector operator/(float) const
ON_3dVector(const ON_2fPoint &)
int MaximumCoordinateIndex() const
ON_3dVector(const double *)
ON_3dVector(double x, double y, double z)
ON_3dVector operator-(const ON_3dVector &) const
static const ON_3dVector UnsetVector
bool operator>=(const ON_3dVector &) const
double operator*(const ON_4dPoint &) const
int MinimumCoordinateIndex() const
bool IsPerpendicularTo(const ON_3dVector &other, double angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE) const
ON_3dVector operator+(const ON_2dVector &) const
ON_3dVector & operator=(const float *)
void Rotate(double angle, const ON_3dVector &axis)
bool IsUnitVector() const
double operator*(const ON_3fVector &) const
double & operator[](unsigned int)
ON_3dVector operator+(const ON_3dVector &) const
ON_3dVector(const ON_2dPoint &)
ON_3dVector(const ON_2dVector &)
ON_3dVector & operator-=(const ON_3dVector &)
ON_3dVector & operator*=(double)
ON_3dPoint operator-(const ON_3fPoint &) const
void Set(double x, double y, double z)
double LengthSquared() const
ON_3dPoint operator+(const ON_2fPoint &) const
ON_3dVector operator-(const ON_2fVector &) const
ON_3dVector(const ON_3fPoint &)
ON_3dVector & operator=(const double *)
bool IsTiny(double tiny_tol=ON_ZERO_TOLERANCE) const
static const ON_3dVector YAxis
ON_3dVector operator*(int) const
bool operator==(const ON_3dVector &) const
ON_3dPoint operator+(const ON_3fPoint &) const
ON_3dVector & operator/=(double)
ON_3dVector & operator=(const ON_3fVector &)
double Fuzz(double tolerance=ON_ZERO_TOLERANCE) const
ON_3dVector & operator+=(const ON_3dVector &)
ON_3dVector operator-(const ON_2dVector &) const
bool PerpendicularTo(const ON_3dPoint &, const ON_3dPoint &, const ON_3dPoint &)
ON_3dVector & operator=(const ON_2dVector &)
double MaximumCoordinate() const
double operator*(const ON_4dPoint &) const
bool operator!=(const ON_4dPoint &) const
ON_4dPoint & operator=(const class ON_4fPoint &)
ON_4dPoint & operator=(const float *)
void Transform(const ON_Xform &)
ON_4dPoint(double x, double y, double z, double w)
ON_4dPoint(const ON_2fVector &)
ON_4dPoint & operator=(const class ON_2fPoint &)
ON_4dPoint & operator+=(const ON_4dPoint &)
ON_4dPoint operator-(const ON_4dPoint &) const
ON_4dPoint(const ON_3fVector &)
double operator[](int) const
ON_4dPoint operator/(double) const
bool IsUnsetPoint() const
bool operator==(ON_4dPoint) const
double operator[](unsigned int) const
ON_4dPoint(const double *)
ON_4dPoint(const float *)
double & operator[](unsigned int)
ON_4dPoint & operator=(const ON_3dPoint &)
double MaximumCoordinate() const
ON_4dPoint(const ON_3dVector &)
ON_4dPoint & operator=(const ON_3dVector &)
int MaximumCoordinateIndex() const
ON_4dPoint & operator=(const class ON_3fVector &)
ON_4dPoint(const ON_3fPoint &)
ON_4dPoint(const ON_2dVector &)
ON_4dPoint(const ON_3dPoint &)
ON_4dPoint & operator/=(double)
ON_4dPoint & operator=(const ON_2dPoint &)
double MinimumCoordinate() const
ON_4dPoint(const ON_2dPoint &)
ON_4dPoint & operator=(const ON_2dVector &)
ON_4dPoint & operator-=(const ON_4dPoint &)
void Set(double x, double y, double z, double w)
ON_4dPoint & operator=(const class ON_3fPoint &)
ON_4dPoint operator*(double) const
ON_4dPoint(const ON_2fPoint &)
ON_4dPoint & operator=(const class ON_2fVector &)
ON_4dPoint operator*(const ON_Xform &) const
ON_4dPoint & operator=(const double *)
int MinimumCoordinateIndex() const
ON_4dPoint & operator*=(double)
ON_4dPoint(const ON_4fPoint &)
ON_4dPoint operator+(const ON_4dPoint &) const
static const ON_Interval EmptyInterval
bool IsDecreasing() const
bool Union(const ON_Interval &)
void Set(double t0, double t1)
double & operator[](unsigned int)
ON_Interval NormalizedParameterAt(ON_Interval interval_parameter) const
bool IsEmptyInterval() const
bool IsIncreasing() const
double ParameterAt(double normalized_parameter) const
bool operator==(const ON_Interval &) const
int Compare(const ON_Interval &other) const
double NormalizedParameterAt(double interval_parameter) const
bool Includes(const ON_Interval &other, bool bProperSubSet=false) const
double operator[](unsigned int) const
ON_Interval ParameterAt(ON_Interval normalized_interval) const
bool Intersection(const ON_Interval &)
bool Union(int count, const double *t)
ON_Interval(double t0, double t1)
bool Includes(double t, bool bTestOpenInterval=false) const
bool Union(const ON_Interval &, const ON_Interval &)
bool Intersection(const ON_Interval &, const ON_Interval &)
bool operator!=(const ON_Interval &) const
double operator[](int) const
static const ON_PlaneEquation UnsetPlaneEquation
double MaximumAbsoluteValueAt(bool bRational, int point_count, int point_stride, const double *points, double stop_value) const
double ValueAt(ON_3dVector P) const
ON_3dPoint ClosestPointTo(ON_3dPoint point) const
double MinimumValueAt(bool bRational, int point_count, int point_stride, const double *points, double stop_value) const
double MaximumValueAt(bool bRational, int point_count, int point_stride, const double *points, double stop_value) const
bool operator==(const ON_PlaneEquation &) const
bool Create(ON_3dPoint P, ON_3dVector N)
bool IsNearerThan(const class ON_BezierCurve &bezcrv, double s0, double s1, int sample_count, double endpoint_tolerance, double interior_tolerance, double *smin, double *smax) const
double ZeroTolerance() const
static const ON_PlaneEquation ZeroPlaneEquation
bool Transform(const ON_Xform &xform)
double * ValueAt(int Pcount, const ON_3fPoint *P, double *value, double value_range[2]) const
bool operator!=(const ON_PlaneEquation &) const
double MinimumValueAt(const ON_BoundingBox &bbox) const
double MaximumValueAt(const ON_BoundingBox &bbox) const
ON_PlaneEquation(double xx, double yy, double zz, double dd)
double ValueAt(ON_4dPoint P) const
double ValueAt(ON_3dPoint P) const
double ValueAt(double x, double y, double z) const
double * ValueAt(int Pcount, const ON_3dPoint *P, double *value, double value_range[2]) const
double MaximumRadius() const
double MeanCurvature() const
double MinimumRadius() const
double GaussianCurvature() const