00001
00002
00003
00004
00005
00006 #if defined(__CINT__) && !defined(__MAKECINT__)
00007 {
00008 gSystem->CompileMacro("annotation.C");
00009 annotation();
00010 }
00011 #else
00012
00013 #include <TEveManager.h>
00014 #include <TGLViewer.h>
00015 #include <TGLAnnotation.h>
00016 #include <TEveBox.h>
00017 #include <TDatime.h>
00018 #include <TTimer.h>
00019 #include <TDatime.h>
00020
00021 class MyTimer : public TTimer
00022 {
00023 private:
00024 TGLAnnotation* m_label;
00025
00026 public:
00027 MyTimer(TGLAnnotation* x) : TTimer(1000), m_label(x)
00028 {
00029 }
00030
00031 virtual Bool_t Notify()
00032 {
00033
00034 TurnOff();
00035
00036
00037 TDatime d;
00038 m_label->SetText(d.AsString());
00039 gEve->GetDefaultGLViewer()->RequestDraw();
00040
00041
00042 SetTime(1000);
00043 Reset();
00044 TurnOn();
00045 return true;
00046 }
00047
00048 ClassDef(MyTimer, 0);
00049 };
00050
00051 void annotation(Float_t a=10, Float_t d=5, Float_t x=0, Float_t y=0, Float_t z=0)
00052 {
00053 TEveManager::Create();
00054
00055
00056 TEveBox* b = new TEveBox("Box", "Test Title");
00057 b->SetMainColor(kCyan);
00058 b->SetMainTransparency(0);
00059 b->SetVertex(0, x - a, y - a, z - a);
00060 b->SetVertex(1, x - a, y + a, z - a);
00061 b->SetVertex(2, x + a, y + a, z - a);
00062 b->SetVertex(3, x + a, y - a, z - a);
00063 b->SetVertex(4, x - a, y - a, z + a);
00064 b->SetVertex(5, x - a, y + a, z + a);
00065 b->SetVertex(6, x + a, y + a, z + a);
00066 b->SetVertex(7, x + a, y - a, z + a);
00067 gEve->AddElement(b);
00068 gEve->Redraw3D(kTRUE);
00069
00070
00071 TGLViewer* v = gEve->GetDefaultGLViewer();
00072 TDatime time;
00073 TGLAnnotation* ann = new TGLAnnotation(v, time.AsString(), 0.1, 0.9);
00074 ann->SetTextSize(0.1);
00075
00076
00077 MyTimer* timer = new MyTimer(ann);
00078 timer->SetTime(1000);
00079 timer->Reset();
00080 timer->TurnOn();
00081 }
00082 #endif