21 ClassImp(TEveGridStepper);
26 TEveGridStepper::TEveGridStepper(Int_t sm) :
27 fMode(EStepMode_e(sm)),
28 fCx(0), fCy(0), fCz(0), fNx(0), fNy(0), fNz(0),
29 fDx(0), fDy(0), fDz(0), fOx(0), fOy(0), fOz(0)
34 fLimitArr[0] = &fNx; fLimitArr[1] = &fNy; fLimitArr[2] = &fNz;
35 fValueArr[0] = &fCx; fValueArr[1] = &fCy; fValueArr[2] = &fCz;
38 fLimitArr[0] = &fNy; fLimitArr[1] = &fNx; fLimitArr[2] = &fNz;
39 fValueArr[0] = &fCy; fValueArr[1] = &fCx; fValueArr[2] = &fCz;
42 fLimitArr[0] = &fNx; fLimitArr[1] = &fNz; fLimitArr[2] = &fNy;
43 fValueArr[0] = &fCx; fValueArr[1] = &fCz; fValueArr[2] = &fCy;
56 void TEveGridStepper::Reset()
64 void TEveGridStepper::Subtract(TEveGridStepper& s)
66 fOx = -(s.fOx + s.fCx*s.fDx);
67 fOy = -(s.fOy + s.fCy*s.fDy);
68 fOz = -(s.fOz + s.fCz*s.fDz);
74 Bool_t TEveGridStepper::Step()
77 if (*fValueArr[0] >= *fLimitArr[0]) {
78 *fValueArr[0] = 0; (*fValueArr[1])++;
79 if (*fValueArr[1] >= *fLimitArr[1]) {
80 *fValueArr[1] = 0; (*fValueArr[2])++;
81 if (*fValueArr[2] >= *fLimitArr[2]) {
92 void TEveGridStepper::GetPosition(Float_t* p)
102 void TEveGridStepper::SetTrans(TEveTrans* mx)
104 mx->SetPos(fOx + fCx*fDx, fOy + fCy*fDy, fOz + fCz*fDz);
111 void TEveGridStepper::SetTransAdvance(TEveTrans* mx)