37 #ifndef INCLUDED_IMATHPLANE_H 38 #define INCLUDED_IMATHPLANE_H 144 normal = (point2 - point1) % (point3 - point1);
146 distance = normal ^ point1;
154 distance = normal ^ point;
168 return (point ^ normal) - distance;
174 return normal * distanceTo(point) * -2.0 + point;
181 return normal * (normal ^ v) * 2.0 - v;
188 T d = normal ^ line.
dir;
189 if ( d == 0.0 )
return false;
190 T t = - ((normal ^ line.
pos) - distance) / d;
198 T d = normal ^ line.
dir;
199 if ( d == 0.0 )
return false;
200 t = - ((normal ^ line.
pos) - distance) / d;
205 std::ostream &operator<< (std::ostream &o, const Plane3<T> &plane)
207 return o <<
"(" << plane.normal <<
", " << plane.distance
220 T dir1Len = dir1 ^ dir1;
223 T tmpLen = tmp ^ tmp;
225 if (tmpLen > dir1Len)
234 if (tmpLen > dir1Len)
244 (point + dir1) * M );
void set(const Vec3< T > &normal, T distance)
Definition: ImathPlane.h:158
T distance
Definition: ImathPlane.h:67
Definition: ImathFrame.h:42
Definition: ImathFrame.h:43
Plane3< T > operator-(const Plane3< T > &plane)
Definition: ImathPlane.h:248
bool intersect(const Line3< T > &line, Vec3< T > &intersection) const
Definition: ImathPlane.h:186
Plane3< double > Plane3d
Definition: ImathPlane.h:112
Plane3()
Definition: ImathPlane.h:69
Vec3< T > reflectPoint(const Vec3< T > &) const
Definition: ImathPlane.h:172
T distanceTo(const Vec3< T > &) const
Definition: ImathPlane.h:166
const Vec3 & normalize()
Definition: ImathVec.h:1681
Vec3< T > dir
Definition: ImathLine.h:59
Vec3< T > pos
Definition: ImathLine.h:58
Definition: ImathLine.h:54
bool intersectT(const Line3< T > &line, T ¶meter) const
Definition: ImathPlane.h:196
Plane3< float > Plane3f
Definition: ImathPlane.h:111
Definition: ImathPlane.h:62
Definition: ImathBox.h:67
Vec3< T > normal
Definition: ImathPlane.h:66
Color4< T > operator*(S a, const Color4< T > &v)
Definition: ImathColor.h:727
Vec3< T > reflectVector(const Vec3< T > &) const
Definition: ImathPlane.h:179