37 #ifndef INCLUDED_IMATHPLANE_H
38 #define INCLUDED_IMATHPLANE_H
145 normal = (point2 - point1) % (point3 - point1);
175 return normal * distanceTo(point) * -2.0 + point;
182 return normal * (normal ^
v) * 2.0 - v;
189 T d = normal ^ line.
dir;
190 if ( d == 0.0 )
return false;
199 T d = normal ^ line.
dir;
200 if ( d == 0.0 )
return false;
206 std::ostream &operator<< (std::ostream &o, const Plane3<T> &plane)
208 return o <<
"(" << plane.normal <<
", " << plane.distance
221 T dir1Len = dir1 ^ dir1;
224 T tmpLen = tmp ^ tmp;
226 if (tmpLen > dir1Len)
235 if (tmpLen > dir1Len)
245 (point + dir1) * M );
257 #endif // INCLUDED_IMATHPLANE_H
#define IMATH_INTERNAL_NAMESPACE_HEADER_EXIT
Mat3< typename promote< S, T >::type > operator*(S scalar, const Mat3< T > &m)
Multiply each element of the given matrix by scalar and return the result.
#define IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
Mat3< typename promote< T0, T1 >::type > operator-(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Subtract corresponding elements of m0 and m1 and return the result.
GLsizei GLsizei GLfloat distance
bool intersect(const Line3< T > &line, Vec3< T > &intersection) const
bool intersectT(const Line3< T > &line, T ¶meter) const
Vec3< T > reflectPoint(const Vec3< T > &) const
Vec3< T > reflectVector(const Vec3< T > &) const
T distanceTo(const Vec3< T > &) const
void set(const Vec3< T > &normal, T distance)