3D plane class - of format Ax + By + Cz + D = 0
This is part of collection of simple utility classes for GL only in TGLUtil.h/cxx. These provide const and non-const accessors Arr() & CArr() to a GL compatible internal field - so can be used directly with OpenGL C API calls - which TVector3 etc cannot (easily). They are not intended to be fully featured just provide minimum required.
Public Member Functions | |
| TGLPlane () | |
| Construct a default plane of x + y + z = 0.   | |
| TGLPlane (const TGLPlane &other) | |
| Construct plane from 'other'.   | |
| TGLPlane (const TGLVector3 &norm, const TGLVertex3 &point) | |
| Construct plane with supplied normal vector, passing through point with optional normalisation.   | |
| TGLPlane (const TGLVertex3 &p1, const TGLVertex3 &p2, const TGLVertex3 &p3) | |
| Construct plane passing through 3 supplied points with optional normalisation.   | |
| TGLPlane (Double_t a, Double_t b, Double_t c, Double_t d) | |
| Construct plane with equation a.x + b.y + c.z + d = 0 with optional normalisation.   | |
| TGLPlane (Double_t eq[4]) | |
| Construct plane with equation eq[0].x + eq[1].y + eq[2].z + eq[3] = 0 with optional normalisation.   | |
| ~TGLPlane ()=default | |
| Double_t | A () const | 
| Double_t * | Arr () | 
| Double_t | B () const | 
| Double_t | C () const | 
| const Double_t * | CArr () const | 
| Double_t | D () const | 
| Double_t | DistanceTo (const TGLVertex3 &vertex) const | 
| Distance from plane to vertex.   | |
| void | Dump () const | 
| Output plane equation to std::out.   | |
| TClass * | IsA () const | 
| TGLVertex3 | NearestOn (const TGLVertex3 &point) const | 
| Return nearest point on plane.   | |
| void | Negate () | 
| Negate the plane.   | |
| TGLVector3 | Norm () const | 
| TGLPlane & | operator= (const TGLPlane &src) | 
| Assignment operator.   | |
| void | Set (const TGLPlane &other) | 
| Assign from other.   | |
| void | Set (const TGLVector3 &norm, const TGLVertex3 &point) | 
| Set plane from a normal vector and in-plane point pair.   | |
| void | Set (const TGLVertex3 &p1, const TGLVertex3 &p2, const TGLVertex3 &p3) | 
| Set plane by three points.   | |
| void | Set (Double_t a, Double_t b, Double_t c, Double_t d) | 
| Set by values.   | |
| void | Set (Double_t eq[4]) | 
| Set by array values.   | |
| void | Streamer (TBuffer &) | 
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
Static Public Member Functions | |
| static TClass * | Class () | 
| static const char * | Class_Name () | 
| static constexpr Version_t | Class_Version () | 
| static const char * | DeclFileName () | 
Private Member Functions | |
| void | Normalise () | 
| Normalise the plane.   | |
Private Attributes | |
| Double_t | fVals [4] | 
#include <TGLUtil.h>
| TGLPlane::TGLPlane | ( | ) | 
Construct a default plane of x + y + z = 0.
Definition at line 336 of file TGLUtil.cxx.
Construct plane from 'other'.
Definition at line 344 of file TGLUtil.cxx.
Construct plane with equation a.x + b.y + c.z + d = 0 with optional normalisation.
Definition at line 353 of file TGLUtil.cxx.
| TGLPlane::TGLPlane | ( | Double_t | eq[4] | ) | 
Construct plane with equation eq[0].x + eq[1].y + eq[2].z + eq[3] = 0 with optional normalisation.
Definition at line 362 of file TGLUtil.cxx.
| TGLPlane::TGLPlane | ( | const TGLVector3 & | norm, | 
| const TGLVertex3 & | point ) | 
Construct plane with supplied normal vector, passing through point with optional normalisation.
Definition at line 381 of file TGLUtil.cxx.
| TGLPlane::TGLPlane | ( | const TGLVertex3 & | p1, | 
| const TGLVertex3 & | p2, | ||
| const TGLVertex3 & | p3 ) | 
Construct plane passing through 3 supplied points with optional normalisation.
Definition at line 371 of file TGLUtil.cxx.
      
  | 
  default | 
| Double_t TGLPlane::DistanceTo | ( | const TGLVertex3 & | vertex | ) | const | 
Distance from plane to vertex.
Definition at line 492 of file TGLUtil.cxx.
| void TGLPlane::Dump | ( | ) | const | 
Output plane equation to std::out.
Definition at line 416 of file TGLUtil.cxx.
      
  | 
  inline | 
| TGLVertex3 TGLPlane::NearestOn | ( | const TGLVertex3 & | point | ) | const | 
Return nearest point on plane.
Definition at line 500 of file TGLUtil.cxx.
| void TGLPlane::Negate | ( | ) | 
Negate the plane.
Definition at line 481 of file TGLUtil.cxx.
      
  | 
  inline | 
      
  | 
  private | 
Normalise the plane.
Definition at line 398 of file TGLUtil.cxx.
Assignment operator.
Definition at line 389 of file TGLUtil.cxx.
Assign from other.
Definition at line 425 of file TGLUtil.cxx.
| void TGLPlane::Set | ( | const TGLVector3 & | norm, | 
| const TGLVertex3 & | point ) | 
Set plane from a normal vector and in-plane point pair.
Definition at line 460 of file TGLUtil.cxx.
| void TGLPlane::Set | ( | const TGLVertex3 & | p1, | 
| const TGLVertex3 & | p2, | ||
| const TGLVertex3 & | p3 ) | 
Set plane by three points.
Definition at line 472 of file TGLUtil.cxx.
Set by values.
Definition at line 436 of file TGLUtil.cxx.
| void TGLPlane::Set | ( | Double_t | eq[4] | ) | 
Set by array values.
Definition at line 448 of file TGLUtil.cxx.
| void TGLPlane::Streamer | ( | TBuffer & | ) | 
      
  | 
  inline |