Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 // 27 28 #ifndef G4gl2ps_h 29 #define G4gl2ps_h 30 31 #include "G4String.hh" 32 33 #include <tools/gl2ps_def.h> 34 35 class G4gl2ps { 36 37 public: 38 G4gl2ps(); 39 ~G4gl2ps(); 40 41 void setOpenGLFunctions(tools_gl2ps_gl_funcs_t*); 42 void setFileName(const char*); 43 void setExportImageFormat(unsigned int); 44 45 void setExportImageFormat_PS() {setExportImageFormat(TOOLS_GL2PS_PS);} 46 void setExportImageFormat_EPS() {setExportImageFormat(TOOLS_GL2PS_EPS);} 47 void setExportImageFormat_TEX() {setExportImageFormat(TOOLS_GL2PS_TEX);} 48 void setExportImageFormat_PDF() {setExportImageFormat(TOOLS_GL2PS_PDF);} 49 void setExportImageFormat_SVG() {setExportImageFormat(TOOLS_GL2PS_SVG);} 50 void setExportImageFormat_PGF() {setExportImageFormat(TOOLS_GL2PS_PGF);} 51 52 bool enableFileWriting(); 53 void disableFileWriting(); 54 bool fileWritingEnabled() const; 55 56 bool beginPage(); 57 bool endPage(); 58 59 void setLineWidth(int); 60 void setPointSize(int); 61 void addTextOpt(const char*,const char*, 62 tools_GLshort,tools_GLint,tools_GLfloat); 63 void setViewport(int,int,int,int); 64 bool extendBufferSize(); 65 void resetBufferSizeParameters(); 66 void setBufferSize(int); 67 68 tools_GL2PScontextPointer context() const {return fContext;} 69 protected: 70 tools_gl2ps_gl_funcs_t fOpenGLFuncs; 71 tools_GL2PScontextPointer fContext; 72 FILE* fFile; 73 G4String fFileName; 74 int fViewport[4]; 75 int fBufferSize; 76 int fBufferSizeLimit; 77 private: 78 unsigned int fExportImageFormat; 79 }; 80 81 #endif 82 83