G4XXXFileSceneHandler.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id$
00028 //
00029 // 
00030 // John Allison  7th March 2006
00031 // A template for a file-writing graphics driver.
00032 //?? Lines beginning like this require specialisation for your driver.
00033 
00034 #ifndef G4XXXFileSCENEHANDLER_HH
00035 #define G4XXXFileSCENEHANDLER_HH
00036 
00037 #include "G4VSceneHandler.hh"
00038 
00039 class G4XXXFileSceneHandler: public G4VSceneHandler {
00040 
00041   friend class G4XXXFileViewer;
00042 
00043 public:
00044   G4XXXFileSceneHandler(G4VGraphicsSystem& system,
00045                         const G4String& name);
00046   virtual ~G4XXXFileSceneHandler();
00047 
00049   // Optional virtual functions...
00050   void AddSolid(const G4Box&);
00051   // Further optional AddSolid functions.  Explicitly invoke base
00052   // class methods if not otherwise defined to avoid warnings about
00053   // hiding of base class methods.
00054   void AddSolid(const G4Cons& cons)
00055   {G4VSceneHandler::AddSolid(cons);}
00056   void AddSolid(const G4Tubs& tubs)
00057   {G4VSceneHandler::AddSolid(tubs);}
00058   void AddSolid(const G4Trd& trd)
00059   {G4VSceneHandler::AddSolid(trd);}
00060   void AddSolid(const G4Trap& trap)
00061   {G4VSceneHandler::AddSolid(trap);}
00062   void AddSolid(const G4Sphere& sphere)
00063   {G4VSceneHandler::AddSolid(sphere);}
00064   void AddSolid(const G4Para& para)
00065   {G4VSceneHandler::AddSolid(para);}
00066   void AddSolid(const G4Torus& torus)
00067   {G4VSceneHandler::AddSolid(torus);}
00068   void AddSolid(const G4Polycone& polycone)
00069   {G4VSceneHandler::AddSolid(polycone);}
00070   void AddSolid(const G4Polyhedra& polyhedra)
00071   {G4VSceneHandler::AddSolid(polyhedra);}
00072   void AddSolid(const G4VSolid& solid)
00073   {G4VSceneHandler::AddSolid(solid);}
00074   // More optional functions...
00075   // void AddCompound(const G4VTrajectory&);
00076   // void AddCompound(const G4VHit&);
00077   // void AddCompound(const G4THitsMap<G4double>&);
00078   // void PreAddSolid(const G4Transform3D& objectTransformation,
00079   //       const G4VisAttributes&);
00080   // void PostAddSolid();
00081 
00083   // Required implementation of pure virtual functions...
00084 
00085   void AddPrimitive(const G4Polyline&);
00086   void AddPrimitive(const G4Text&);
00087   void AddPrimitive(const G4Circle&);
00088   void AddPrimitive(const G4Square&);
00089   void AddPrimitive(const G4Polyhedron&);
00090   void AddPrimitive(const G4NURBS&);
00091   // Further optional AddPrimitive methods.  Explicitly invoke base
00092   // class methods if not otherwise defined to avoid warnings about
00093   // hiding of base class methods.
00094   void AddPrimitive(const G4Polymarker& polymarker)
00095   {G4VSceneHandler::AddPrimitive (polymarker);}
00096   void AddPrimitive(const G4Scale& scale)
00097   {G4VSceneHandler::AddPrimitive (scale);}
00098   // Further related optional virtual functions...
00099   // void BeginPrimitives(const G4Transform3D& objectTransformation);
00100   // void EndPrimitives();
00101 
00103   // Further optional virtual functions...
00104 
00105   // void BeginModeling();
00106   // void EndModeling();
00107 
00109   // Administration functions.
00110 
00111   // void ClearStore ();
00112   // void ClearTransientStore ();
00113 
00114 protected:
00115 
00116   static G4int fSceneIdCount;  // Counter for XXXFile scene handlers.
00117 
00118 private:
00119 
00120 #ifdef G4XXXFileDEBUG
00121   void PrintThings();
00122 #endif
00123 
00124 };
00125 
00126 #endif

Generated on Mon May 27 17:50:28 2013 for Geant4 by  doxygen 1.4.7