36     Plane3D() : a_(0.), b_(0.), c_(1.), d_(0.) {}
    45       : a_(n.
x()), b_(n.
y()), c_(n.
z()), d_(-n*p) {}
    53       a_ = n.
x(); b_ = n.
y(); c_ = n.
z(); d_ = -n*p1;
    63       : a_(p.a_), b_(p.b_), c_(p.c_), d_(p.d_) {}
    72       a_ = p.
a_; b_ = p.
b_; c_ = p.
c_; d_ = p.
d_; 
return *
this;
    77     T 
a()
 const { 
return a_; }
    80     T 
b()
 const { 
return b_; }
    83     T 
c()
 const { 
return c_; }
    86     T 
d()
 const { 
return d_; }
    95       double ll = std::sqrt(a_*a_ + b_*b_ + c_*c_);
    96       if (ll > 0.) { a_ /= ll; b_ /= ll; c_ /= ll, d_ /= ll; }
   103       return a()*p.
x() + 
b()*p.
y() + 
c()*p.
z() + 
d();
   116       T k = -
d()/(
a()*
a()+
b()*
b()+
c()*
c());
   123       return a() == p.
a() && 
b() == p.
b() && 
c() == p.
c() && 
d() == p.
d();
   129       return a() != p.
a() || 
b() != p.
b() || 
c() != p.
c() || 
d() != p.
d();
   137       d_ = -n*
point().transform(m); a_ = n.
x(); b_ = n.
y(); c_ = n.
z();
   146   std::ostream & operator<<(std::ostream & os, const Plane3D<float> & p);
   152   std::ostream & operator<<(std::ostream & os, const Plane3D<double> & p);
 
bool operator!=(const Plane3D< T > &p) const
 
T distance(const Point3D< T > &p) const
 
Normal3D< T > normal() const
 
Point3D< T > point() const
 
Plane3D(const Normal3D< T > &n, const Point3D< T > &p)
 
Point3D< T > point(const Point3D< T > &p) const
 
bool operator==(const Plane3D< T > &p) const
 
Plane3D(const Point3D< T > &p1, const Point3D< T > &p2, const Point3D< T > &p3)
 
Plane3D< T > & operator=(const Plane3D< T > &p)
 
Plane3D< T > & normalize()
 
Plane3D(T a1, T b1, T c1, T d1)
 
Plane3D< T > & transform(const Transform3D &m)
 
Plane3D(const Plane3D< float > &p)