Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Straight line, as combination of vector and point. More...
#include <straight.h>
Public Member Functions | |
point | Gpiv () const |
vec | Gdir () const |
straight () | |
straight (const point &fpiv, const vec &fdir) | |
straight (const point &fp1, const point &fp2) | |
straight (const plane pl1, const plane pl2) | |
straight (const point *pt, int qpt, int anum) | |
straight (const straight sl[4], point pt[2], vfloat prec) | |
straight (straight *sl, int qsl, const straight &sl_start, int anum, vfloat precision, vfloat *dist, point(*pt)[2], vfloat &mean2dist) | |
straight & | operator= (const straight &fsl) |
Copy assignment operator. | |
straight (const straight &s) | |
Copy constructor. | |
int | check_point_in (const point &fp, vfloat prec) const |
point | cross (const straight &sl, vfloat prec) const |
vfloat | vecdistance (const straight &sl, int &type_of_cross, point pt[2]) const |
Shortest distance between two lines, may be negative. | |
vfloat | distance (const straight &sl, int &type_of_cross, point pt[2]) const |
vfloat | distance (const point &fpt) const |
vfloat | distance (const point &fpt, point &fcpt) const |
point | vecdistance (const vec normal, const straight &slt) |
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, unit vector. | |
Static Protected Attributes | |
static absref absref::* | aref [2] |
Friends | |
int | operator== (const straight &sl1, const straight &sl2) |
int | operator!= (const straight &sl1, const straight &sl2) |
bool | apeq (const straight &sl1, const straight &sl2, vfloat prec) |
std::ostream & | operator<< (std::ostream &file, const straight &s) |
Straight line, as combination of vector and point.
Definition at line 24 of file straight.h.
|
inline |
Definition at line 41 of file straight.h.
Definition at line 43 of file straight.h.
Definition at line 27 of file straight.cpp.
Heed::straight::straight | ( | const point * | pt, |
int | qpt, | ||
int | anum | ||
) |
Definition at line 216 of file straight.cpp.
Definition at line 262 of file straight.cpp.
Heed::straight::straight | ( | straight * | sl, |
int | qsl, | ||
const straight & | sl_start, | ||
int | anum, | ||
vfloat | precision, | ||
vfloat * | dist, | ||
point(*) | pt[2], | ||
vfloat & | mean2dist | ||
) |
Definition at line 141 of file straight.cpp.
|
inline |
Calculate distance of a point from the line and compare it with prec. Return 1 if the point is on the line.
Definition at line 47 of file straight.cpp.
Referenced by Heed::plane::plane(), and vecdistance().
Figure out whether the line crosses another straight line (within a precision prec).
Definition at line 53 of file straight.cpp.
Referenced by Heed::polyline::cross(), Heed::plane::plane(), and Heed::polygon::polygon().
Definition at line 179 of file straight.cpp.
Definition at line 186 of file straight.cpp.
Definition at line 136 of file straight.cpp.
Referenced by check_point_in(), Heed::circumf::cross(), Heed::cross4pllines(), Heed::polyline::dist_two_inter(), Heed::polyline::distance(), Heed::spquadr::perpos(), and vecdistance().
|
inline |
Definition at line 33 of file straight.h.
Referenced by Heed::circumf::cross(), Heed::plane::cross(), Heed::plane::plane(), Heed::polyline_pl::polyline_pl(), and vecdistance().
|
overrideprotectedvirtual |
|
inline |
Definition at line 32 of file straight.h.
Referenced by Heed::plane::cross(), Heed::plane::plane(), and Heed::polyline_pl::polyline_pl().
Copy assignment operator.
Definition at line 82 of file straight.h.
Shortest distance between two lines, may be negative.
Definition at line 72 of file straight.cpp.
Referenced by cross(), distance(), and straight().
Definition at line 198 of file straight.cpp.
Definition at line 40 of file straight.cpp.
Definition at line 93 of file straight.h.
|
friend |
Definition at line 302 of file straight.cpp.
Definition at line 31 of file straight.cpp.
|
staticprotected |
Definition at line 37 of file straight.h.
Referenced by get_components().
|
protected |
Direction, unit vector.
Definition at line 29 of file straight.h.
Referenced by distance(), Gdir(), operator=(), straight(), and vecdistance().
|
protected |
Origin point, pivot.
Definition at line 27 of file straight.h.
Referenced by distance(), Gpiv(), operator=(), straight(), and vecdistance().