#include <G4CurvePoint.hh>
Inheritance diagram for G4CurvePoint:
Public Member Functions | |
G4CurvePoint (G4Curve &c0) | |
virtual | ~G4CurvePoint () |
G4CurvePoint (const G4CurvePoint &cp) | |
G4CurvePoint & | operator= (const G4CurvePoint &cp) |
void | Init (G4Curve &c0) |
G4Curve & | GetCurve () const |
void | Reset () |
void | Reset (G4double u0) |
void | Reset (const G4Point3D &p0) |
void | Reset (G4double u0, const G4Point3D &p0) |
G4double | GetPPoint () |
const G4Point3D & | GetPoint () |
Protected Member Functions | |
G4CurvePoint () | |
Protected Attributes | |
G4Curve * | c |
G4Point3D | p |
G4double | u |
G4int | notComputed |
Static Protected Attributes | |
static const G4int | pFlag = 1 |
static const G4int | uFlag = 2 |
static const G4int | allFlags = 0xFF |
Definition at line 47 of file G4CurvePoint.hh.
G4CurvePoint::G4CurvePoint | ( | G4Curve & | c0 | ) |
G4CurvePoint::~G4CurvePoint | ( | ) | [virtual] |
G4CurvePoint::G4CurvePoint | ( | const G4CurvePoint & | cp | ) |
Definition at line 56 of file G4CurvePoint.cc.
00057 : c(cp.c), p(cp.p), u(cp.u), notComputed(cp.notComputed) 00058 { 00059 }
G4CurvePoint::G4CurvePoint | ( | ) | [protected] |
Definition at line 42 of file G4CurvePoint.cc.
00043 : c(0), u(0.), notComputed(allFlags) 00044 { 00045 }
G4Curve & G4CurvePoint::GetCurve | ( | ) | const [inline] |
Definition at line 46 of file G4CurvePoint.icc.
References c.
Referenced by G4SurfaceBoundary::Tangent(), and G4CompositeCurve::Tangent().
00047 { 00048 return *c; 00049 }
const G4Point3D & G4CurvePoint::GetPoint | ( | ) | [inline] |
Reimplemented in G4CurveRayIntersection.
Definition at line 94 of file G4CurvePoint.icc.
References c, G4Curve::GetPoint(), notComputed, p, pFlag, and u.
Referenced by G4Parabola::Tangent(), G4Hyperbola::Tangent(), G4Ellipse::Tangent(), and G4CircularCurve::Tangent().
00095 { 00096 if (notComputed & pFlag) { 00097 p= c->GetPoint(u); 00098 notComputed &= ~pFlag; 00099 } 00100 return p; 00101 }
G4double G4CurvePoint::GetPPoint | ( | ) | [inline] |
Reimplemented in G4CurveRayIntersection.
Definition at line 84 of file G4CurvePoint.icc.
References c, G4Curve::GetPPoint(), notComputed, p, u, and uFlag.
00085 { 00086 if (notComputed & uFlag) { 00087 u= c->GetPPoint(p); 00088 notComputed &= ~uFlag; 00089 } 00090 return u; 00091 }
void G4CurvePoint::Init | ( | G4Curve & | c0 | ) | [inline] |
Definition at line 38 of file G4CurvePoint.icc.
References allFlags, c, notComputed, and u.
Referenced by G4CurvePoint().
00039 { 00040 c= &c0; 00041 u= 0.; 00042 notComputed= allFlags; 00043 }
G4CurvePoint & G4CurvePoint::operator= | ( | const G4CurvePoint & | cp | ) |
Definition at line 61 of file G4CurvePoint.cc.
References c, notComputed, p, and u.
00062 { 00063 if (&cp == this) return *this; 00064 c = cp.c; 00065 p = cp.p; 00066 u = cp.u; 00067 notComputed = cp.notComputed; 00068 00069 return *this; 00070 }
Reimplemented in G4CurveRayIntersection.
Definition at line 74 of file G4CurvePoint.icc.
References notComputed, p, and u.
00075 { 00076 u= u0; 00077 p= p0; 00078 notComputed= 0; 00079 }
void G4CurvePoint::Reset | ( | const G4Point3D & | p0 | ) | [inline] |
Reimplemented in G4CurveRayIntersection.
Definition at line 67 of file G4CurvePoint.icc.
References notComputed, p, and uFlag.
00068 { 00069 p= p0; 00070 notComputed= uFlag; 00071 }
void G4CurvePoint::Reset | ( | G4double | u0 | ) | [inline] |
Definition at line 60 of file G4CurvePoint.icc.
References notComputed, pFlag, and u.
00061 { 00062 u= u0; 00063 notComputed= pFlag; 00064 }
void G4CurvePoint::Reset | ( | ) | [inline] |
Reimplemented in G4CurveRayIntersection.
Definition at line 54 of file G4CurvePoint.icc.
References allFlags, and notComputed.
00055 { 00056 notComputed= allFlags; 00057 }
const G4int G4CurvePoint::allFlags = 0xFF [static, protected] |
Definition at line 95 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::Init(), Init(), and Reset().
G4Curve* G4CurvePoint::c [protected] |
Definition at line 87 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::G4CurveRayIntersection(), GetCurve(), G4CurveRayIntersection::GetDistance(), G4CurveRayIntersection::GetPoint(), GetPoint(), G4CurveRayIntersection::GetPPoint(), GetPPoint(), G4CurveRayIntersection::Init(), Init(), G4CurveRayIntersection::operator=(), operator=(), and G4CurveRayIntersection::Update().
G4int G4CurvePoint::notComputed [protected] |
Definition at line 92 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::G4CurveRayIntersection(), G4CurveRayIntersection::GetDistance(), G4CurveRayIntersection::GetPoint(), GetPoint(), G4CurveRayIntersection::GetPPoint(), GetPPoint(), G4CurveRayIntersection::Init(), Init(), G4CurveRayIntersection::operator=(), operator=(), G4CurveRayIntersection::Reset(), Reset(), G4CurveRayIntersection::ResetDistance(), and G4CurveRayIntersection::ResetPPoint().
G4Point3D G4CurvePoint::p [protected] |
Definition at line 89 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::G4CurveRayIntersection(), G4CurveRayIntersection::GetDistance(), G4CurveRayIntersection::GetPoint(), GetPoint(), G4CurveRayIntersection::GetPPoint(), GetPPoint(), G4CurveRayIntersection::operator=(), operator=(), G4CurveRayIntersection::Reset(), and Reset().
const G4int G4CurvePoint::pFlag = 1 [static, protected] |
Definition at line 93 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::GetDistance(), G4CurveRayIntersection::GetPoint(), GetPoint(), G4CurveRayIntersection::GetPPoint(), G4CurveRayIntersection::Reset(), Reset(), G4CurveRayIntersection::ResetDistance(), and G4CurveRayIntersection::ResetPPoint().
G4double G4CurvePoint::u [protected] |
Definition at line 90 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::G4CurveRayIntersection(), G4CurveRayIntersection::GetDistance(), G4CurveRayIntersection::GetPoint(), GetPoint(), G4CurveRayIntersection::GetPPoint(), GetPPoint(), Init(), G4CurveRayIntersection::operator=(), operator=(), G4CurveRayIntersection::Reset(), Reset(), and G4CurveRayIntersection::ResetPPoint().
const G4int G4CurvePoint::uFlag = 2 [static, protected] |
Definition at line 94 of file G4CurvePoint.hh.
Referenced by G4CurveRayIntersection::GetPPoint(), GetPPoint(), G4CurveRayIntersection::Reset(), Reset(), and G4CurveRayIntersection::ResetDistance().