Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SbPainterPS.h
Go to the documentation of this file.
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
41class SbPainterPS : public SbPainter {
42public:
46 void clearColorBuffer(float,float,float);
47 //void drawPrimitive(SbPrimitiveType,
48 // int,float*,float*,float*,
49 // const SbPainterContext&);
51public:
52 void setColorScheme(int);
53 void setOrientation(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*);
62 void putPageScaleInStream(float,float);
65 void putTranslationInStream(float,float);
66 void putScaleInStream(float,float);
69 void putRGB_InStream(float,float,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);
79 void putCapInStream(int);
80 void putLineToInStream(float,float);
81 void putMoveInStream(float,float);
82 void putCircleInStream(float,float,float);
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);
88private:
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;
101 int nbit;
104 } fParams;
105 float fDeviceWidth;
106 float fDeviceHeight;
107 int fPageNumber;
108 long fPagePos;
109 float fMarkerSize;
110 FILE* fFile;
111 char* fFileName;
112 int fGSave;
113 int fBufferCount;
114 char* fBufferString;
115#define METAFILE_RECORD_LENGTH 80
116 unsigned char fBufferPointer[METAFILE_RECORD_LENGTH+1];
117private:
118 void putInStreamF(const char*,...);
119 void printFLN(const char*,...);
120 void printV(const char*,va_list);
121 float convertRGB_ToGrey(float,float,float);
122 void writeByte(unsigned char);
123};
124
125#endif
126
127
128
129
130
#define METAFILE_RECORD_LENGTH
Definition: SbPainterPS.h:115
void putMoveInStream(float, float)
void endTraversal()
void putStrokeInStream()
void putCircleInStream(float, float, float)
void putBeginPageInStream()
void putClosePathInStream()
void setOrientation(int)
void beginTraversal()
void putSaveStateInStream()
void putImageInStream(unsigned int, unsigned int, GetRGB_Function)
void setBackgroundDrawn(int)
void putNewPathInStream()
void setFileName(const char *)
void putCapInStream(int)
void setBitsPerPixel(int)
void clearColorBuffer(float, float, float)
void setColorScheme(int)
void putPageScaleInStream(float, float)
void putLineToInStream(float, float)
void openFileForWriting(const char *)
float lineWidth
Definition: SbPainterPS.h:103
void setLineWidth(int)
void putRestoreStateInStream()
void putEndPageInStream()
void * getStream()
void putRotateInStream(float)
void putLineWidthInStream(int)
void putMarkerSizeInStream(float)
void putRGB_InStream(float, float, float)
void putFillInStream()
void putBackgroundInStream(float, float, float, float, float)
void putFrameInStream(float, float, float, float, float)
const char * getFileName() const
void putScaleInStream(float, float)
void putTranslationInStream(float, float)
void closeStream()