Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Plane, defined by defined by a point and a vector normal to the plane. More...
#include <plane.h>
Public Member Functions | |
point | Gpiv () const |
vec | Gdir () const |
plane () | |
plane (const point &fpiv, const vec &fdir) | |
plane (const straight &sl, const point &pt) | |
plane (const straight &sl1, const straight &sl2, vfloat prec) | |
plane (const plane &p) | |
Copy constructor. | |
plane & | operator= (const plane &fpl) |
Copy assignment operator. | |
int | check_point_in (const point &fp, vfloat prec) const |
Return 1 if a point is in the plane (within precision prec). | |
point | cross (const straight &sl) const |
straight | cross (const plane &sl) const |
int | cross (const polyline &pll, point *crpt, int &qcrpt, polyline *crpll, int &qcrpll, vfloat prec) const |
vfloat | distance (const point &fpt) const |
Public Member Functions inherited from Heed::absref | |
virtual | ~absref () |
Destructor. | |
virtual void | down (const abssyscoor *fasc) |
Convert numbering representation of object to basical system of fasc. | |
virtual void | up (const abssyscoor *fasc) |
Convert numbering representation of objects to new system. | |
virtual void | turn (const vec &dir, vfloat angle) |
Turn around axis doing via center of coordinate system along dir. | |
virtual void | shift (const vec &dir) |
Protected Member Functions | |
virtual absref_transmit | get_components () override |
Protected Attributes | |
point | piv |
Origin point, pivot. | |
vec | dir |
Direction of normal, unit vector. | |
Static Protected Attributes | |
static absref absref::* | aref [2] |
Friends | |
int | operator== (const plane &pl1, const plane &pl2) |
int | operator!= (const plane &pl1, const plane &pl2) |
bool | apeq (const plane &pl1, const plane &pl2, vfloat prec) |
std::ostream & | operator<< (std::ostream &file, const plane &s) |
Plane, defined by defined by a point and a vector normal to the plane.
Definition at line 34 of file plane.cpp.
|
inline |
Return 1 if a point is in the plane (within precision prec).
Definition at line 68 of file plane.cpp.
Referenced by Heed::polygon::check_point_in(), Heed::splane::check_point_inside(), and Heed::splane::check_point_inside1().
Determine the intersection with another plane. vecerror = 2: planes are parallel. vecerror = 3: planes are identical.
Definition at line 94 of file plane.cpp.
int Heed::plane::cross | ( | const polyline & | pll, |
point * | crpt, | ||
int & | qcrpt, | ||
polyline * | crpll, | ||
int & | qcrpll, | ||
vfloat | prec | ||
) | const |
Definition at line 116 of file plane.cpp.
Figure out whether a straight line crosses the plane and return the intersection point if it does. vecerror = 2: line is parallel to the plane. vecerror = 3: line is in the plane.
Definition at line 75 of file plane.cpp.
Referenced by cross(), Heed::splane::cross(), Heed::polygon::cross(), Heed::splane::range(), Heed::straight::straight(), and Heed::straight::vecdistance().
Definition at line 151 of file plane.cpp.
Referenced by check_point_in(), and Heed::circumf::cross().
|
inline |
|
overrideprotectedvirtual |
|
inline |
Definition at line 32 of file plane.h.
Referenced by Heed::splane::check_point_inside(), Heed::splane::check_point_inside1(), and cross().
Definition at line 61 of file plane.cpp.
|
friend |
|
staticprotected |
Definition at line 37 of file plane.h.
Referenced by get_components().
|
protected |
Direction of normal, unit vector.
Definition at line 29 of file plane.h.
Referenced by cross(), distance(), Gdir(), operator=(), and plane().
|
protected |
Origin point, pivot.
Definition at line 27 of file plane.h.
Referenced by cross(), distance(), Gpiv(), operator=(), and plane().