CLHEP 2.0.4.7 Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

HepGeom::Plane3D< T > Class Template Reference

#include <Plane3D.h>

List of all members.

Public Member Functions

 Plane3D ()
 Plane3D (T a, T b, T c, T d)
 Plane3D (const Normal3D< T > &n, const Point3D< T > &p)
 Plane3D (const Point3D< T > &p1, const Point3D< T > &p2, const Point3D< T > &p3)
 Plane3D (const Plane3D< float > &p)
 ~Plane3D ()
Plane3D< T > & operator= (const Plane3D< T > &p)
a () const
b () const
c () const
d () const
Normal3D< T > normal () const
Plane3D< T > & normalize ()
distance (const Point3D< T > &p) const
Point3D< T > point (const Point3D< T > &p) const
Point3D< T > point () const
bool operator== (const Plane3D< T > &p) const
bool operator!= (const Plane3D< T > &p) const
Plane3D< T > & transform (const Transform3D &m)

Protected Attributes

a_
b_
c_
d_

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &os, const Plane3D< float > &p)
std::ostream & operator<< (std::ostream &os, const Plane3D< double > &p)


Detailed Description

template<class T>
class HepGeom::Plane3D< T >

Template class for geometrical plane in 3D.

Author:
Evgeni Chernyaev <Evgueni.Tcherniaev@cern.ch>

Definition at line 30 of file Plane3D.h.


Constructor & Destructor Documentation

template<class T>
HepGeom::Plane3D< T >::Plane3D (  )  [inline]

Default constructor - creates plane z=0.

Definition at line 37 of file Plane3D.h.

template<class T>
HepGeom::Plane3D< T >::Plane3D ( a,
b,
c,
d 
) [inline]

Constructor from four numbers - creates plane a*x+b*y+c*z+d=0.

Definition at line 41 of file Plane3D.h.

template<class T>
HepGeom::Plane3D< T >::Plane3D ( const Normal3D< T > &  n,
const Point3D< T > &  p 
) [inline]

Constructor from normal and point.

Definition at line 45 of file Plane3D.h.

template<class T>
HepGeom::Plane3D< T >::Plane3D ( const Point3D< T > &  p1,
const Point3D< T > &  p2,
const Point3D< T > &  p3 
) [inline]

Constructor from three points.

Definition at line 50 of file Plane3D.h.

References HepGeom::Plane3D< T >::a_, HepGeom::Plane3D< T >::b_, HepGeom::Plane3D< T >::c_, HepGeom::Plane3D< T >::d_, HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

template<class T>
HepGeom::Plane3D< T >::Plane3D ( const Plane3D< float > &  p  )  [inline]

Copy constructor. Plane3D<double> has two constructors: from Plane3D<double> (provided by compiler) and from Plane3D<float> (defined in this file). Plane3D<float> has only the last one.

Definition at line 63 of file Plane3D.h.

template<class T>
HepGeom::Plane3D< T >::~Plane3D (  )  [inline]

Destructor.

Definition at line 68 of file Plane3D.h.


Member Function Documentation

template<class T>
T HepGeom::Plane3D< T >::a (  )  const [inline]

Returns the a-coefficient in the plane equation: a*x+b*y+c*z+d=0.

Definition at line 78 of file Plane3D.h.

References HepGeom::Plane3D< T >::a_.

Referenced by HepGeom::Plane3D< T >::distance(), HepGeom::Plane3D< T >::operator!=(), HepGeom::Plane3D< T >::operator==(), and HepGeom::Plane3D< T >::point().

template<class T>
T HepGeom::Plane3D< T >::b (  )  const [inline]

Returns the b-coefficient in the plane equation: a*x+b*y+c*z+d=0.

Definition at line 81 of file Plane3D.h.

References HepGeom::Plane3D< T >::b_.

Referenced by HepGeom::Plane3D< T >::distance(), HepGeom::Plane3D< T >::operator!=(), HepGeom::Plane3D< T >::operator==(), and HepGeom::Plane3D< T >::point().

template<class T>
T HepGeom::Plane3D< T >::c (  )  const [inline]

Returns the c-coefficient in the plane equation: a*x+b*y+c*z+d=0.

Definition at line 84 of file Plane3D.h.

References HepGeom::Plane3D< T >::c_.

Referenced by HepGeom::Plane3D< T >::distance(), HepGeom::Plane3D< T >::operator!=(), HepGeom::Plane3D< T >::operator==(), and HepGeom::Plane3D< T >::point().

template<class T>
T HepGeom::Plane3D< T >::d (  )  const [inline]

Returns the free member of the plane equation: a*x+b*y+c*z+d=0.

Definition at line 87 of file Plane3D.h.

References HepGeom::Plane3D< T >::d_.

Referenced by HepGeom::Plane3D< T >::distance(), HepGeom::Plane3D< T >::operator!=(), HepGeom::Plane3D< T >::operator==(), and HepGeom::Plane3D< T >::point().

template<class T>
T HepGeom::Plane3D< T >::distance ( const Point3D< T > &  p  )  const [inline]

Returns distance to the point.

Definition at line 103 of file Plane3D.h.

References HepGeom::Plane3D< T >::a(), HepGeom::Plane3D< T >::b(), HepGeom::Plane3D< T >::c(), HepGeom::Plane3D< T >::d(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

Referenced by HepGeom::Plane3D< T >::point().

template<class T>
Normal3D<T> HepGeom::Plane3D< T >::normal (  )  const [inline]

Returns normal.

Definition at line 91 of file Plane3D.h.

References HepGeom::Plane3D< T >::a_, HepGeom::Plane3D< T >::b_, and HepGeom::Plane3D< T >::c_.

Referenced by HepGeom::Plane3D< T >::transform().

template<class T>
Plane3D<T>& HepGeom::Plane3D< T >::normalize (  )  [inline]

Normalization.

Definition at line 95 of file Plane3D.h.

References HepGeom::Plane3D< T >::a_, HepGeom::Plane3D< T >::b_, HepGeom::Plane3D< T >::c_, and HepGeom::Plane3D< T >::d_.

template<class T>
bool HepGeom::Plane3D< T >::operator!= ( const Plane3D< T > &  p  )  const [inline]

Test for inequality.

Definition at line 129 of file Plane3D.h.

References HepGeom::Plane3D< T >::a(), HepGeom::Plane3D< T >::b(), HepGeom::Plane3D< T >::c(), and HepGeom::Plane3D< T >::d().

template<class T>
Plane3D<T>& HepGeom::Plane3D< T >::operator= ( const Plane3D< T > &  p  )  [inline]

Assignment.

Definition at line 72 of file Plane3D.h.

References HepGeom::Plane3D< T >::a_, HepGeom::Plane3D< T >::b_, HepGeom::Plane3D< T >::c_, and HepGeom::Plane3D< T >::d_.

template<class T>
bool HepGeom::Plane3D< T >::operator== ( const Plane3D< T > &  p  )  const [inline]

Test for equality.

Definition at line 123 of file Plane3D.h.

References HepGeom::Plane3D< T >::a(), HepGeom::Plane3D< T >::b(), HepGeom::Plane3D< T >::c(), and HepGeom::Plane3D< T >::d().

template<class T>
Point3D<T> HepGeom::Plane3D< T >::point (  )  const [inline]

Returns projection of the origin to the plane.

Definition at line 116 of file Plane3D.h.

References HepGeom::Plane3D< T >::a(), HepGeom::Plane3D< T >::b(), HepGeom::Plane3D< T >::c(), and HepGeom::Plane3D< T >::d().

Referenced by HepGeom::Plane3D< T >::transform().

template<class T>
Point3D<T> HepGeom::Plane3D< T >::point ( const Point3D< T > &  p  )  const [inline]

Returns projection of the point to the plane.

Definition at line 109 of file Plane3D.h.

References HepGeom::Plane3D< T >::a(), HepGeom::Plane3D< T >::b(), HepGeom::Plane3D< T >::c(), HepGeom::Plane3D< T >::distance(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

template<class T>
Plane3D<T>& HepGeom::Plane3D< T >::transform ( const Transform3D m  )  [inline]

Transformation by Transform3D.

Definition at line 135 of file Plane3D.h.

References HepGeom::Plane3D< T >::a_, HepGeom::Plane3D< T >::b_, HepGeom::Plane3D< T >::c_, HepGeom::Plane3D< T >::d_, HepGeom::Plane3D< T >::normal(), HepGeom::Plane3D< T >::point(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().


Friends And Related Function Documentation

template<class T>
std::ostream & operator<< ( std::ostream &  os,
const Plane3D< double > &  p 
) [related]

Output to the stream.

Definition at line 30 of file Plane3D.cc.

template<class T>
std::ostream & operator<< ( std::ostream &  os,
const Plane3D< float > &  p 
) [related]

Output to the stream.

Definition at line 23 of file Plane3D.cc.


Member Data Documentation

template<class T>
T HepGeom::Plane3D< T >::a_ [protected]

Definition at line 32 of file Plane3D.h.

Referenced by HepGeom::Plane3D< T >::a(), HepGeom::Plane3D< T >::normal(), HepGeom::Plane3D< T >::normalize(), HepGeom::Plane3D< T >::operator=(), HepGeom::Plane3D< T >::Plane3D(), and HepGeom::Plane3D< T >::transform().

template<class T>
T HepGeom::Plane3D< T >::b_ [protected]

Definition at line 32 of file Plane3D.h.

Referenced by HepGeom::Plane3D< T >::b(), HepGeom::Plane3D< T >::normal(), HepGeom::Plane3D< T >::normalize(), HepGeom::Plane3D< T >::operator=(), HepGeom::Plane3D< T >::Plane3D(), and HepGeom::Plane3D< T >::transform().

template<class T>
T HepGeom::Plane3D< T >::c_ [protected]

Definition at line 32 of file Plane3D.h.

Referenced by HepGeom::Plane3D< T >::c(), HepGeom::Plane3D< T >::normal(), HepGeom::Plane3D< T >::normalize(), HepGeom::Plane3D< T >::operator=(), HepGeom::Plane3D< T >::Plane3D(), and HepGeom::Plane3D< T >::transform().

template<class T>
T HepGeom::Plane3D< T >::d_ [protected]

Definition at line 32 of file Plane3D.h.

Referenced by HepGeom::Plane3D< T >::d(), HepGeom::Plane3D< T >::normalize(), HepGeom::Plane3D< T >::operator=(), HepGeom::Plane3D< T >::Plane3D(), and HepGeom::Plane3D< T >::transform().


The documentation for this class was generated from the following file:
Generated on Thu Jul 1 22:02:32 2010 for CLHEP by  doxygen 1.4.7