13 #ifndef __UT_Plane_h__
14 #define __UT_Plane_h__
123 myNormal.normalize();
130 myNormal.assign(0.0, 0.0, 1.0);
133 myNormal.assign(1.0, 0.0, 0.0);
139 myNormal.assign(0.0, 1.0, 0.0);
162 myNormal *= rot_matx;
164 myNormal.normalize();
179 myPoint += (myNormal * by_factor);
200 template <
typename T>
205 #endif // __UT_Plane_h__
UT_Vector3T< T > project(const UT_Vector3T< T > &p) const
UT_PlaneT< fpreal32 > UT_PlaneF
void setVectorAsNormal(const UT_Vector3T< T > &n)
GLenum GLuint GLsizei bufsize
UT_PlaneT< fpreal > UT_PlaneR
void rotatePoint(const UT_Matrix3T< T > &rot_matx)
GLboolean GLboolean GLboolean GLboolean a
void setNormal(UT_PlaneType plane_type)
void transform(const UT_Matrix4F &matx)
const UT_Vector3T< T > & normal() const
UT_Vector3T< T > intersect(const UT_Vector3T< T > &p, const UT_Vector3T< T > &v) const
void setPoint(const UT_Vector3T< T > &p)
UT_PlaneT< float > UT_Plane
UT_API size_t format(char *buffer, size_t bufsize, const UT_PlaneT< T > &p)
bool contains(const UT_Vector3T< T > &p) const
void setNormal(const UT_Vector3T< T > &n)
void rotateNormal(const UT_Matrix3T< T > &rot_matx, bool norm=true)
int intersectLine(const UT_Vector3T< T > &p, const UT_Vector3T< T > &v, UT_Vector3T< T > &hit) const
void rotate(UT_Vector3T< T > &axis, T theta, bool norm=true)
void transformAndReturnNormalXform(UT_Matrix4F &matx)
void translate(const UT_Vector3T< T > &offset)
int side(const UT_Vector3T< T > &p) const
int intersectRay(const UT_Vector3T< T > &p, const UT_Vector3T< T > &v, UT_Vector3T< T > &hit) const
void symmetry(UT_Vector3T< T > &p) const
const UT_Vector3T< T > & point() const
UT_PlaneT(UT_PlaneType plane_type=UT_PLANE_XY)
void shiftOffset(T by_factor)
bool SYSisEqual(const UT_Vector2T< T > &a, const UT_Vector2T< T > &b, S tol=SYS_FTOLERANCE)
Componentwise equality.
T distance(const UT_Vector3T< T > &p) const
UT_PlaneT< fpreal64 > UT_PlaneD