00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifdef G4VIS_BUILD_OPENGL_DRIVER
00034
00035 #ifndef G4OPENGLIMMEDIATESCENEHANDLER_HH
00036 #define G4OPENGLIMMEDIATESCENEHANDLER_HH
00037
00038 #include "G4OpenGLSceneHandler.hh"
00039 #include "globals.hh"
00040
00041 class G4OpenGLImmediate;
00042
00043 class G4OpenGLImmediateSceneHandler: public G4OpenGLSceneHandler {
00044
00045 public:
00046
00047 G4OpenGLImmediateSceneHandler (G4VGraphicsSystem& system, const G4String& name);
00048 virtual ~G4OpenGLImmediateSceneHandler ();
00049 void BeginPrimitives (const G4Transform3D& objectTransformation);
00050 void EndPrimitives ();
00051 void BeginPrimitives2D (const G4Transform3D& objectTransformation);
00052 void EndPrimitives2D ();
00053 void BeginModeling ();
00054 void EndModeling ();
00055 void AddPrimitive (const G4Polyline&);
00056 void AddPrimitive (const G4Polymarker&);
00057 void AddPrimitive (const G4Text& text);
00058 void AddPrimitive (const G4Circle&);
00059 void AddPrimitive (const G4Square&);
00060 void AddPrimitive (const G4Scale& scale);
00061 void AddPrimitive (const G4Polyhedron&);
00062 void AddPrimitive (const G4NURBS&);
00063
00064 protected:
00065
00066 G4bool AddPrimitivePreamble(const G4Visible& visible);
00067
00068 void ClearTransientStore ();
00069
00070 static G4int fSceneIdCount;
00071 };
00072
00073 #endif
00074
00075 #endif