7 #define _USE_MATH_DEFINES    16         CPoint3D(
double x, 
double y, 
double z); 
    22         inline double Len() 
const;
    23         inline void Normalize();
    26                 return x == other.
x && y == other.
y && z == other.
z;
    46                 out << pt.
x << 
" " << pt.
y << 
" " << pt.
z << endl;
    89         return sqrt(x * x + y * y + z * z);
   111 void VectorCross(
const float* u, 
const float* v, 
float * n);
   112 float VectorDot(
const float* u, 
const float* v);
 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half & operator*=(half &a, const half &b)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half & operator-=(half &a, const half &b)
double AngleBetween(const CPoint3D &pt1, const CPoint3D &pt2)
CPoint3D VectorCross(const CPoint3D &pt1, const CPoint3D &pt2, const CPoint3D &pt3)
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
bool operator==(const CPoint3D &other) const
friend ostream & operator<<(ostream &out, const CPoint3D &pt)
double operator^(const CPoint3D &pt1, const CPoint3D &pt2)
float VectorDot(const float *u, const float *v)
double GetTriangleArea(const CPoint3D &pt1, const CPoint3D &pt2, const CPoint3D &pt3)
CPoint3D & operator*=(double times)
CPoint3D & operator+=(const CPoint3D &pt)
CPoint3D operator/(const CPoint3D &pt, double times)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half & operator+=(half &a, const half &b)
bool operator<(const CPoint3D &other) const
CPoint3D CombineTwoNormalsTo(const CPoint3D &pt1, double coef1, const CPoint3D &pt2, double coef2)
CPoint3D & operator-=(const CPoint3D &pt)
CPoint3D operator*(const CPoint3D &pt, double times)
CPoint3D CombinePointAndNormalTo(const CPoint3D &pt, const CPoint3D &normal)
CPoint3D & operator/=(double times)
CPoint3D operator-(const CPoint3D &pt1, const CPoint3D &pt2)
CPoint3D operator+(const CPoint3D &pt1, const CPoint3D &pt2)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half & operator/=(half &a, const half &b)