ACG::Geometry::PlaneT< Scalar > Class Template Reference

#include <ACG/Geometry/Types/Plane.hh>

Collaboration diagram for ACG::Geometry::PlaneT< Scalar >:
Collaboration graph
[legend]

List of all members.

Public Types

enum  IntersectionTarget { Line, LineSegment, Ray }
typedef VectorT< Scalar, 3 > Vec3
 typedefs
typedef VectorT< Scalar, 4 > Vec4
typedef Matrix4x4T< Scalar > Mat4x4

Public Member Functions

 PlaneT (Scalar _a=0, Scalar _b=0, Scalar _c=0, Scalar _d=0)
 constructor: coefficients
 PlaneT (const Vec3 &_o, const Vec3 &_n)
 constructor: origin and normal
 PlaneT (const Vec3 &_v0, const Vec3 &_v1, const Vec3 &_v2)
 constructor: 3 points
Vec3 normal () const
 normal vector
const Vec4 & coeffs () const
 coeffitients
Scalar distance (const Vec3 &_v) const
 signed distance point-plane
bool operator() (const Vec3 &_v) const
 predicate: above plane
bool intersect_line (const Vec3 &_v0, const Vec3 &_v1, Vec3 &_v, Scalar &_t) const
bool intersect_ray (const Vec3 &_v0, const Vec3 &_v1, Vec3 &_v, Scalar &_t) const
bool intersect_linesegment (const Vec3 &_v0, const Vec3 &_v1, Vec3 &_v, Scalar &_t) const
bool intersect (const Vec3 &_v0, const Vec3 &_v1, Vec3 &_v, Scalar &_t, IntersectionTarget _target) const
 general intersection
bool affine_transformation (const Mat4x4 &_M)
 affine transformation of the plane
void affine_transformation_precomp (const Mat4x4 &_M_inverseTransposed)
 affine transformation of the plane (M^{-T} precomputed)

Private Member Functions

void HNF ()

Private Attributes

Vec4 coeffs_

Detailed Description

template<typename Scalar>
class ACG::Geometry::PlaneT< Scalar >

This class stores a plane in normal form and provides useful algorithms for left/right test, itersection, and so on.

Definition at line 75 of file PlaneT.hh.


The documentation for this class was generated from the following file:

acg pic Project OpenFlipper, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .