ROOT logo
// $Id: GLTesterOne.h 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef Geom1_GLTesterOne_H
#define Geom1_GLTesterOne_H

#include <Glasses/ZNode.h>
#include <Glasses/PupilInfo.h>

#include <TH1F.h>

class GLTesterOne : public ZNode {
  MAC_RNR_FRIENDS(GLTesterOne);

public:
  enum TestType_e  { TT_RnrAtom, TT_MatrixOps };

  enum RnrAtom_e   { RA_Point, RA_Line, RA_Triangle };
  enum TransMode_e { TM_Vertex, TM_Translate, TM_PushPopMatrix };

  enum MatrixOps_e { MO_GetFloat, MO_GetDouble };

private:
  void _init();

protected:
  ZLink<PupilInfo>	mPupil;		// X{gS} L{}

  TestType_e	mTestSelection; // X{GS} 7 PhonyEnum()

  // RnrAtom test parameters

  RnrAtom_e	mRAtom;		// X{GS} 7 PhonyEnum(-join=>1, -width=>8)
  TransMode_e	mTMode;		// X{GS} 7 PhonyEnum(-width=>8)

  Int_t		mNSteps;	// X{GS} 7 Value(-range=>[2,1e8,1], -join=>1)
  Float_t	mXMax;		// X{GS} 7 Value(-range=>[0,1000,1,1000])

  Float_t	mTringU;	// X{GS} 7 Value(-range=>[0,10,1,1000], -join=>1)
  Float_t	mTringV;	// X{GS} 7 Value(-range=>[0,10,1,1000])

  // MatrixOps test parameters

  MatrixOps_e	mMatrixOps;	// X{GS} 7 PhonyEnum()

  // Common parameters

  Bool_t	bUseDispList;	// X{GS} 7 Bool(-join=>1)
  Bool_t	bPrint;		// X{GS} 7 Bool()

  Int_t		mNRedraws;	// X{GS} 7 Value(-range=>[0,1e6,10], -join=>1)
  Int_t		mNTrial;	// X{GS} 7 Value(-range=>[0,1e6,10])

  TH1F*		h1TStat;	//! X{gs}

  void register_result(Double_t t);

public:
  GLTesterOne(const Text_t* n="GLTesterOne", const Text_t* t=0) :
    ZNode(n,t) { _init(); }

  void RunTest(); // X{Ed} 7 MButt()

#include "GLTesterOne.h7"
  ClassDef(GLTesterOne, 1); // Speed tests for some GL operations
}; // endclass GLTesterOne


#endif
 GLTesterOne.h:1
 GLTesterOne.h:2
 GLTesterOne.h:3
 GLTesterOne.h:4
 GLTesterOne.h:5
 GLTesterOne.h:6
 GLTesterOne.h:7
 GLTesterOne.h:8
 GLTesterOne.h:9
 GLTesterOne.h:10
 GLTesterOne.h:11
 GLTesterOne.h:12
 GLTesterOne.h:13
 GLTesterOne.h:14
 GLTesterOne.h:15
 GLTesterOne.h:16
 GLTesterOne.h:17
 GLTesterOne.h:18
 GLTesterOne.h:19
 GLTesterOne.h:20
 GLTesterOne.h:21
 GLTesterOne.h:22
 GLTesterOne.h:23
 GLTesterOne.h:24
 GLTesterOne.h:25
 GLTesterOne.h:26
 GLTesterOne.h:27
 GLTesterOne.h:28
 GLTesterOne.h:29
 GLTesterOne.h:30
 GLTesterOne.h:31
 GLTesterOne.h:32
 GLTesterOne.h:33
 GLTesterOne.h:34
 GLTesterOne.h:35
 GLTesterOne.h:36
 GLTesterOne.h:37
 GLTesterOne.h:38
 GLTesterOne.h:39
 GLTesterOne.h:40
 GLTesterOne.h:41
 GLTesterOne.h:42
 GLTesterOne.h:43
 GLTesterOne.h:44
 GLTesterOne.h:45
 GLTesterOne.h:46
 GLTesterOne.h:47
 GLTesterOne.h:48
 GLTesterOne.h:49
 GLTesterOne.h:50
 GLTesterOne.h:51
 GLTesterOne.h:52
 GLTesterOne.h:53
 GLTesterOne.h:54
 GLTesterOne.h:55
 GLTesterOne.h:56
 GLTesterOne.h:57
 GLTesterOne.h:58
 GLTesterOne.h:59
 GLTesterOne.h:60
 GLTesterOne.h:61
 GLTesterOne.h:62
 GLTesterOne.h:63
 GLTesterOne.h:64
 GLTesterOne.h:65
 GLTesterOne.h:66
 GLTesterOne.h:67
 GLTesterOne.h:68
 GLTesterOne.h:69
 GLTesterOne.h:70
 GLTesterOne.h:71
 GLTesterOne.h:72