Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/OpenInventor/include/private/HEPVis/SbPainterPS.h

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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 // History :
 27 // - 25/09/98, G.Barrand : creation.
 28 
 29 #ifndef HEPVis_SbPainterPS_h
 30 #define HEPVis_SbPainterPS_h 
 31 
 32 // Inheritance :
 33 #include <HEPVis/SbPainter.h>
 34 
 35 #include <stdarg.h>
 36 
 37 #include <Inventor/SbViewportRegion.h>
 38 
 39 #define SbPainterPS Geant4_SbPainterPS
 40 
 41 class SbPainterPS : public SbPainter {
 42 public:
 43   SbPainterPS();
 44   ~SbPainterPS();
 45   void beginTraversal();
 46   void clearColorBuffer(float,float,float);
 47   //void drawPrimitive(SbPrimitiveType,
 48   //                   int,float*,float*,float*,
 49   //                   const SbPainterContext&);
 50   void endTraversal();
 51 public:
 52   void setColorScheme(int);
 53   void setOrientation(int);
 54   void setBackgroundDrawn(int);
 55   void setBitsPerPixel(int);
 56   void setLineWidth(int);
 57   void* getStream();
 58   void setFileName(const char*);
 59   const char* getFileName() const;
 60   void openFileForWriting(const char*);
 61   void closeStream();
 62   void putPageScaleInStream(float,float);
 63   void putSaveStateInStream();
 64   void putRestoreStateInStream();
 65   void putTranslationInStream(float,float);
 66   void putScaleInStream(float,float);
 67   void putBeginPageInStream();
 68   void putEndPageInStream();
 69   void putRGB_InStream(float,float,float);
 70   void putMarkerSizeInStream(float);
 71   //void putMarkerStyleInStream(SbMarkerStyle);
 72   void putBackgroundInStream(float,float,float,float,float);
 73   void putFrameInStream(float,float,float,float,float);
 74   void putRotateInStream(float);
 75   void putNewPathInStream();
 76   void putStrokeInStream();
 77   void putFillInStream();
 78   void putClosePathInStream();
 79   void putCapInStream(int);
 80   void putLineToInStream(float,float);
 81   void putMoveInStream(float,float);
 82   void putCircleInStream(float,float,float);
 83   void putLineWidthInStream(int);
 84   //void putLineStyleInStream(SbLineStyle);
 85   typedef int(*GetRGB_Function)(unsigned int,unsigned int,
 86                                 double&,double&,double&);
 87   void putImageInStream(unsigned int,unsigned int,GetRGB_Function);
 88 private:
 89   //void drawPolygon(int,float*,float*,float,float,float,const SbAreaStyle&);
 90   //void drawLines(int,float*,float*,float,float,float,const SbLineStyle&,int);
 91   //void drawMarkers(int,float*,float*,
 92   //                 float,float,float,const SbMarkerStyle&,int);
 93   enum ColorScheme {
 94     Color = 0,
 95     Grey = 1,
 96     BlackWhite = 2
 97   };
 98   struct {
 99     int shade;
100     int portrait;
101     int nbit;
102     int doBack;
103     float lineWidth;
104   } fParams;
105   float fDeviceWidth;
106   float fDeviceHeight;
107   int fPageNumber;
108   float fMarkerSize;
109   FILE* fFile;
110   char* fFileName;
111   int fGSave;
112   int fBufferCount;
113   char* fBufferString;
114 #define METAFILE_RECORD_LENGTH  80
115   unsigned char fBufferPointer[METAFILE_RECORD_LENGTH+1];
116 private:
117   void putInStreamF(const char*,...);
118   void printFLN(const char*,...);
119   void printV(const char*,va_list);
120   float convertRGB_ToGrey(float,float,float);
121   void writeByte(unsigned char);
122 };
123 
124 #endif
125 
126 
127 
128 
129 
130