Geant4-11
Public Types | Public Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes
SbPainterPS Class Reference

#include <SbPainterPS.h>

Inheritance diagram for SbPainterPS:
SbPainter

Public Types

typedef int(* GetRGB_Function) (unsigned int, unsigned int, double &, double &, double &)
 

Public Member Functions

void beginTraversal ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void clearColorBuffer (float, float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void closeStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void enableEdges (SbBool)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void endTraversal ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
const char * getFileName () const
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void * getStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void openFileForWriting (const char *)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putBackgroundInStream (float, float, float, float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putBeginPageInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putCapInStream (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putCircleInStream (float, float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putClosePathInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putEndPageInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putFillInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putFrameInStream (float, float, float, float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putImageInStream (unsigned int, unsigned int, GetRGB_Function)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putLineToInStream (float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putLineWidthInStream (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putMarkerSizeInStream (float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putMoveInStream (float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putNewPathInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putPageScaleInStream (float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putRestoreStateInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putRGB_InStream (float, float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putRotateInStream (float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putSaveStateInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putScaleInStream (float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putStrokeInStream ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putTranslationInStream (float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
 SbPainterPS ()
 
void setBackgroundDrawn (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void setBitsPerPixel (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void setColorScheme (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void setFileName (const char *)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void setLineWidth (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void setOrientation (int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void setWindowSize (int, int)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
 ~SbPainterPS ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 

Protected Attributes

float fBlue
 
SbBool fEdges
 
float fGreen
 
float fRed
 
int fWindowHeight
 
int fWindowWidth
 

Private Types

enum  ColorScheme { Color = 0 , Grey = 1 , BlackWhite = 2 }
 

Private Member Functions

float convertRGB_ToGrey (float, float, float)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void printFLN (const char *,...)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void printV (const char *, va_list)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void putInStreamF (const char *,...)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 
void writeByte (unsigned char)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 

Private Attributes

int fBufferCount
 
unsigned char fBufferPointer [METAFILE_RECORD_LENGTH+1]
 
char * fBufferString
 
float fDeviceHeight
 
float fDeviceWidth
 
FILE * fFile
 
char * fFileName
 
int fGSave
 
float fMarkerSize
 
int fPageNumber
 
struct {
   int   doBack
 
   float   lineWidth
 
   int   nbit
 
   int   portrait
 
   int   shade
 
fParams
 

Detailed Description

Definition at line 41 of file SbPainterPS.h.

Member Typedef Documentation

◆ GetRGB_Function

typedef int(* SbPainterPS::GetRGB_Function) (unsigned int, unsigned int, double &, double &, double &)

Definition at line 85 of file SbPainterPS.h.

Member Enumeration Documentation

◆ ColorScheme

Enumerator
Color 
Grey 
BlackWhite 

Definition at line 93 of file SbPainterPS.h.

93 {
94 Color = 0,
95 Grey = 1,
96 BlackWhite = 2
97 };

Constructor & Destructor Documentation

◆ SbPainterPS()

SbPainterPS::SbPainterPS ( )

Definition at line 53 of file SbPainterPS.cc.

55:fDeviceWidth((8.5-1.) * 72. * METAFILE_SCALE) /* 540. * METAFILE_SCALE */
56,fDeviceHeight(11. * 72. * METAFILE_SCALE) /* 792. * METAFILE_SCALE */
58,fMarkerSize(2.)
59,fFile(NULL)
60,fFileName(NULL)
61,fGSave(0)
63,fBufferString(NULL)
66{
67 fParams.shade = Color;
68 fParams.portrait = 1;
69 fParams.nbit = 2;
70 fParams.doBack = 1;
71 fParams.lineWidth = -1.;
72 fBufferPointer[0] = '\0';
73#ifdef WIN32
74 ::setlocale(LC_NUMERIC,"USA");
75#endif
76}
#define METAFILE_SCALE
Definition: SbPainterPS.cc:48
int fBufferCount
Definition: SbPainterPS.h:112
float fDeviceWidth
Definition: SbPainterPS.h:105
unsigned char fBufferPointer[METAFILE_RECORD_LENGTH+1]
Definition: SbPainterPS.h:115
struct SbPainterPS::@111 fParams
FILE * fFile
Definition: SbPainterPS.h:109
float fDeviceHeight
Definition: SbPainterPS.h:106
char * fBufferString
Definition: SbPainterPS.h:113
char * fFileName
Definition: SbPainterPS.h:110
float fMarkerSize
Definition: SbPainterPS.h:108

References Color, fBufferPointer, and fParams.

◆ ~SbPainterPS()

SbPainterPS::~SbPainterPS ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 78 of file SbPainterPS.cc.

82{
83 if(fFile!=NULL) closeStream ();
85 fBufferString = NULL;
86 if(fGSave!=0) {
87 ::printf("SbPainterPS : bad gsave/grestore balance : %d.\n",fGSave);
88 }
89}
void closeStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:440

References closeStream(), fBufferString, fFile, fGSave, and free.

Member Function Documentation

◆ beginTraversal()

void SbPainterPS::beginTraversal ( )
virtual

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Implements SbPainter.

Definition at line 93 of file SbPainterPS.cc.

97{
98 if(fFile==NULL) openFileForWriting(NULL);
99 if(fFile==NULL) return;
103}
void putBeginPageInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:614
void putSaveStateInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:576
void putPageScaleInStream(float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:536
void openFileForWriting(const char *)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:366
int fWindowWidth
Definition: SbPainter.h:72
int fWindowHeight
Definition: SbPainter.h:72

References fFile, SbPainter::fWindowHeight, SbPainter::fWindowWidth, openFileForWriting(), putBeginPageInStream(), putPageScaleInStream(), and putSaveStateInStream().

Referenced by SoImageWriter::GLRender().

◆ clearColorBuffer()

void SbPainterPS::clearColorBuffer ( float  aRed,
float  aGreen,
float  aBlue 
)
virtual

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Implements SbPainter.

Definition at line 116 of file SbPainterPS.cc.

123{
124 if(fFile==NULL) return;
125 putBackgroundInStream(aRed,aGreen,aBlue,
126 (float)fWindowWidth,(float)fWindowHeight);
127}
void putBackgroundInStream(float, float, float, float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:705

References fFile, SbPainter::fWindowHeight, SbPainter::fWindowWidth, and putBackgroundInStream().

Referenced by SoImageWriter::GLRender().

◆ closeStream()

void SbPainterPS::closeStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 440 of file SbPainterPS.cc.

444{
445 if(fFile==NULL) return;
447 printFLN("%%%%Trailer");
448 printFLN("%%%%Pages: %d",fPageNumber);
449 printFLN("%%%%EOF");
450 if(fFile!=NULL) ::fclose(fFile);
451 fFile = NULL;
453 fFileName = NULL;
454}
#define STRDEL(str)
Definition: SbPainterPS.cc:37
void putRestoreStateInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:585
void printFLN(const char *,...)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:487

References fFile, fFileName, fPageNumber, printFLN(), putRestoreStateInStream(), and STRDEL.

Referenced by SoImageWriter::GLRender(), openFileForWriting(), and ~SbPainterPS().

◆ convertRGB_ToGrey()

float SbPainterPS::convertRGB_ToGrey ( float  aRed,
float  aGreen,
float  aBlue 
)
private

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 757 of file SbPainterPS.cc.

764{
765 return (0.3F * aRed + 0.59F * aGreen + 0.11F * aBlue);
766}

Referenced by putRGB_InStream().

◆ enableEdges()

void SbPainter::enableEdges ( SbBool  aValue)
inherited

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 69 of file SbPainter.cc.

74{
75 fEdges = aValue;
76}
SbBool fEdges
Definition: SbPainter.h:74

References SbPainter::fEdges.

◆ endTraversal()

void SbPainterPS::endTraversal ( )
virtual

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Implements SbPainter.

Definition at line 105 of file SbPainterPS.cc.

109{
110 if(fFile==NULL) return;
111 putFrameInStream(0.0,0.0,0.0,(float)fWindowWidth,(float)fWindowHeight);
114}
void putEndPageInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:624
void putFrameInStream(float, float, float, float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:733

References fFile, SbPainter::fWindowHeight, SbPainter::fWindowWidth, putEndPageInStream(), putFrameInStream(), and putRestoreStateInStream().

Referenced by SoImageWriter::GLRender().

◆ getFileName()

const char * SbPainterPS::getFileName ( ) const

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 350 of file SbPainterPS.cc.

354{
355 return fFileName;
356}

References fFileName.

◆ getStream()

void * SbPainterPS::getStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 358 of file SbPainterPS.cc.

362{
363 return fFile;
364}

References fFile.

Referenced by SoImageWriter::GLRender().

◆ openFileForWriting()

void SbPainterPS::openFileForWriting ( const char *  aString)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 366 of file SbPainterPS.cc.

371{
372 if(fFile!=NULL) closeStream ();
373 if( (aString==NULL) || (*aString=='\0') ) {
374 if( (fFileName==NULL) || (*fFileName=='\0') ) { // Take default name :
375 fFile = ::fopen(METAFILE_DEFAULT,"wb");
378 } else {
379 fFile = ::fopen(fFileName,"wb");
380 }
381 } else {
382 fFile = ::fopen(aString,"wb");
384 fFileName = STRDUP(aString);
385 }
386 if(fFile==NULL) return;
387
388 fBufferCount = 0;
390 fPageNumber = 0;
391 // Header :
392 printFLN ("%%!PS-Adobe-2.0");
393 printFLN ("%%%%Creator: HEPVis::SbPainterPS.");
394 printFLN("%%%%CreationDate: %s",GetDate());
395 printFLN("%%%%Title: %s",fFileName);
396 printFLN("%%%%Pages: (atend)");
397 printFLN("%%%%BoundingBox: 0 0 %d %d",
398 (int)fDeviceWidth,(int)fDeviceHeight);
399 printFLN("%%%%DocumentFonts: Courier-Bold");
400 printFLN("%%%%DocumentPaperSizes: a4");
401 printFLN("%%%%EndComments");
402 // PostScript :
404 // General :
405 putInStreamF("/n {newpath} def ");
406 putInStreamF("/cl {closepath} def ");
407 putInStreamF("/s {stroke} def ");
408 putInStreamF("/f {fill} def ");
409 // Move :
410 putInStreamF("/m {moveto} def ");
411 putInStreamF("/rm {rmoveto} def ");
412 putInStreamF("/rl {rlineto} def ");
413 // Line :
414 putInStreamF("/lc {setlinecap} def ");
415 putInStreamF("/lw {setlinewidth} def ");
416 putInStreamF("/rgb {setrgbcolor} def ");
417 putInStreamF("/ss {[] 0 setdash} def ") ; /* style solid */
418 putInStreamF("/sd {[12 6] 0 setdash} def "); /* style dashed */
419 putInStreamF("/so {[6 12] 0 setdash} def "); /* style dotted */
420 putInStreamF("/sdo {[18 12 6 12] 0 setdash} def "); /* style dash dotted */
421 // Mark :
422 fMarkerSize = 2.;
423 putInStreamF("/ms 2. def /msi .5 def "); /* mark size */
424 putInStreamF("/cross {ms ms scale -1. -1. rm ");
425 putInStreamF("2. 2. rl 0. -2. rm -2. 2. rl msi msi scale} def ");
426 putInStreamF("/plus {ms ms scale -1. 0. rm 2. 0. rl ");
427 putInStreamF("-1. 1. rm 0. -2. rl msi msi scale} def ");
428 putInStreamF("/asterisk {ms ms scale -1. 0. rm 2. 0. rl -1. 1. rm ");
429 putInStreamF("0. -2. rl 0. 1. rm -0.707 -0.707 rm 1.414 1.414 rl ");
430 putInStreamF("0. -1.414 rm -1.414 1.414 rl msi msi scale} def ");
431 putInStreamF("/triangle {ms ms scale 0. 1. rm -0.6 -1.5 rl ");
432 putInStreamF("1.2 0. rl -0.6 1.5 rl msi msi scale} def ");
433 // Text :
434 putInStreamF("/sh {show} def ");
435 putInStreamF("/df {/Courier-Bold findfont} def ");
436 putInStreamF("/mf {makefont setfont} def ");
437 printFLN("%%%%EndProlog");
438}
#define STRDUP(str)
Definition: SbPainterPS.cc:36
#define METAFILE_DEFAULT
Definition: SbPainterPS.cc:47
static char * GetDate()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
#define METAFILE_RECORD_LENGTH
Definition: SbPainterPS.h:114
void putInStreamF(const char *,...)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:456

References closeStream(), fBufferCount, fBufferPointer, fDeviceHeight, fDeviceWidth, fFile, fFileName, fMarkerSize, fPageNumber, GetDate(), METAFILE_DEFAULT, METAFILE_RECORD_LENGTH, printFLN(), putInStreamF(), putSaveStateInStream(), STRDEL, and STRDUP.

Referenced by beginTraversal(), and SoImageWriter::GLRender().

◆ printFLN()

void SbPainterPS::printFLN ( const char *  aFormat,
  ... 
)
private

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 487 of file SbPainterPS.cc.

493{
494 if(fFile==NULL) return;
495 va_list args;
496 va_start(args,aFormat);
497 printV(aFormat,args);
498 va_end(args);
499/* put buffer in file */
500 if(fBufferCount>0) {
502 if(::fprintf (fFile,"%s\n",(char*)fBufferPointer)<0) {
503 ::printf("SbPainterPS::printFLN fprintf error\n");
504 }
505 fBufferCount = 0;
506 }
507/* put comment in file */
508 if(::fprintf (fFile,"%s\n",fBufferString)<0) {
509 ::printf("SbPainterPS::printFLN fprintf error\n");
510 }
511}
static char ** args
Definition: G4Xt.cc:51
void printV(const char *, va_list)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:513

References args, fBufferCount, fBufferPointer, fBufferString, fFile, and printV().

Referenced by closeStream(), openFileForWriting(), putBeginPageInStream(), and putImageInStream().

◆ printV()

void SbPainterPS::printV ( const char *  This,
va_list  aArgs 
)
private

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 513 of file SbPainterPS.cc.

519{
520#define MAX_STR 2048
521 if(fBufferString==NULL) {
522 fBufferString = (char*)::malloc(MAX_STR * sizeof(char));
523 if(fBufferString==NULL) return;
524 }
525 fBufferString[MAX_STR-1] = '\0';
526 ::vsprintf(fBufferString,This,aArgs);
527 if(fBufferString[MAX_STR-1]!='\0') {
528 ::printf("SbPainterPS::printV overflow\n");
529 fBufferString[0] = '\0';
530 }
531}
#define MAX_STR

References fBufferString, and MAX_STR.

Referenced by printFLN(), and putInStreamF().

◆ putBackgroundInStream()

void SbPainterPS::putBackgroundInStream ( float  aR,
float  aG,
float  aB,
float  aWidth,
float  aHeight 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 705 of file SbPainterPS.cc.

714{
716 putMoveInStream(0.,0.);
717 putLineToInStream(aWidth,0.);
718 putLineToInStream(0.,aHeight);
719 putLineToInStream(-aWidth,0.);
720 putLineToInStream(0.,-aHeight);
722 if(fParams.doBack==1) {
723 // Back :
725 putRGB_InStream(aR,aG,aB);
728 }
729 // Clip :
730 putInStreamF("clip ");
731}
void putMoveInStream(float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:828
void putClosePathInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:801
void putNewPathInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:777
void putLineToInStream(float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:818
void putRGB_InStream(float, float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:633
void putFillInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:793

References fParams, putClosePathInStream(), putFillInStream(), putInStreamF(), putLineToInStream(), putMoveInStream(), putNewPathInStream(), putRestoreStateInStream(), putRGB_InStream(), and putSaveStateInStream().

Referenced by clearColorBuffer().

◆ putBeginPageInStream()

void SbPainterPS::putBeginPageInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 614 of file SbPainterPS.cc.

618{
619 fPageNumber++;
620 printFLN("%%%%Page: %d %d",fPageNumber,fPageNumber);
622}

References fPageNumber, printFLN(), and putSaveStateInStream().

Referenced by beginTraversal().

◆ putCapInStream()

void SbPainterPS::putCapInStream ( int  aX)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 809 of file SbPainterPS.cc.

814{
815 putInStreamF("%1d lc ",aX);
816}

References putInStreamF().

Referenced by putFrameInStream().

◆ putCircleInStream()

void SbPainterPS::putCircleInStream ( float  aX,
float  aY,
float  aR 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 838 of file SbPainterPS.cc.

845{
846 putInStreamF("%.2f %.2f %.2f 0 360 arc s ",aX,aY,aR);
847}

References putInStreamF().

◆ putClosePathInStream()

void SbPainterPS::putClosePathInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 801 of file SbPainterPS.cc.

805{
806 putInStreamF("cl ");
807}

References putInStreamF().

Referenced by putBackgroundInStream(), and putFrameInStream().

◆ putEndPageInStream()

void SbPainterPS::putEndPageInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 624 of file SbPainterPS.cc.

628{
629 putInStreamF("showpage ");
631}

References putInStreamF(), and putRestoreStateInStream().

Referenced by endTraversal().

◆ putFillInStream()

void SbPainterPS::putFillInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 793 of file SbPainterPS.cc.

797{
798 putInStreamF("f ");
799}

References putInStreamF().

Referenced by putBackgroundInStream().

◆ putFrameInStream()

void SbPainterPS::putFrameInStream ( float  aR,
float  aG,
float  aB,
float  aWidth,
float  aHeight 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 733 of file SbPainterPS.cc.

742{
744 putMoveInStream(0.,0.);
745 putLineToInStream(aWidth,0.);
746 putLineToInStream(0.,aHeight);
747 putLineToInStream(-aWidth,0.);
748 putLineToInStream(0.,-aHeight);
750 putRGB_InStream(aR,aG,aB);
753 putInStreamF("ss ");
755}
void putStrokeInStream()
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:785
void putCapInStream(int)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:809
void putLineWidthInStream(int)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:649

References putCapInStream(), putClosePathInStream(), putInStreamF(), putLineToInStream(), putLineWidthInStream(), putMoveInStream(), putNewPathInStream(), putRGB_InStream(), and putStrokeInStream().

Referenced by endTraversal().

◆ putImageInStream()

void SbPainterPS::putImageInStream ( unsigned int  aWidth,
unsigned int  aHeight,
GetRGB_Function  aProc 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 869 of file SbPainterPS.cc.

876{
877 if((aWidth<=0)||(aHeight<=0)) return;
878 if(!aProc) return;
879
881 putInStreamF ("%d %d scale ", aWidth, aHeight );
882 int status = 1;
883 int nbhex;
884 unsigned int row,col,col_max;
885 double dr,dg,db;
886 typedef unsigned char Uchar;
887 Uchar red,green,blue,b;
888 if(fParams.shade!=0) { /*grey*/
889 putInStreamF ("/picstr %d string def ",aWidth);
890 putInStreamF ("%d %d %d ",aWidth,aHeight,8);
891 putInStreamF ("[ %d 0 0 -%d 0 %d ] ",aWidth,aHeight,aHeight);
892 putInStreamF ("{ currentfile picstr readhexstring pop } " );
893 printFLN ("image " );
894 for ( row = 0; row < aHeight; row++ ){
895 for ( col = 0; col < aWidth; col++){
896 double fgrey;
897 Uchar grey;
898 status = aProc(col,row,dr,dg,db)==0 ? 0 : status;
899 fgrey = ConvertRGB_ToGrey(dr,dg,db);
900 grey = (Uchar) ( 255. * fgrey);
901 writeByte (grey);
902 }
903 }
904 nbhex = aWidth * aHeight * 2;
905 printFLN ("%%%% nbhex digit :%d ",nbhex);
906 printFLN ("%%%% nbhex/record_length :%d ",nbhex/METAFILE_RECORD_LENGTH);
907 printFLN ("%%%% nbhex%%record_length :%d ",nbhex%METAFILE_RECORD_LENGTH);
908 }else if(fParams.nbit==2){
909 int nbyte2;
910 nbyte2 = (aWidth * 3)/4;
911 nbyte2 /=3;
912 nbyte2 *=3;
913 col_max = (nbyte2 * 4)/3;
914 /* 2 bit for r and g and b */
915 /* rgbs following each other */
916 putInStreamF ("/rgbstr %d string def ",nbyte2);
917 putInStreamF ("%d %d %d ",col_max,aHeight,2);
918 putInStreamF ("[ %d 0 0 -%d 0 %d ] ",col_max,aHeight,aHeight);
919 putInStreamF ("{ currentfile rgbstr readhexstring pop } " );
920 putInStreamF ("false 3 " );
921 printFLN ("colorimage " );
922 for ( row = 0; row < aHeight; row++ ){
923 for ( col = 0; col < col_max; col+=4){
924 status = aProc(col,row,dr,dg,db)==0 ? 0 : status;
925 red = (Uchar) ( 3. * dr);
926 green = (Uchar) ( 3. * dg);
927 blue = (Uchar) ( 3. * db);
928 b = red;
929 b = (b<<2)+green;
930 b = (b<<2)+blue;
931 status = aProc(col+1,row,dr,dg,db)==0 ? 0 : status;
932 red = (Uchar) ( 3. * dr);
933 green = (Uchar) ( 3. * dg);
934 blue = (Uchar) ( 3. * db);
935 b = (b<<2)+red;
936 writeByte (b);
937
938 b = green;
939 b = (b<<2)+blue;
940 status = aProc(col+2,row,dr,dg,db)==0 ? 0 : status;
941 red = (Uchar) ( 3. * dr);
942 green = (Uchar) ( 3. * dg);
943 blue = (Uchar) ( 3. * db);
944 b = (b<<2)+red;
945 b = (b<<2)+green;
946 writeByte (b);
947
948 b = blue;
949 status = aProc(col+3,row,dr,dg,db)==0 ? 0 : status;
950 red = (Uchar) ( 3. * dr);
951 green = (Uchar) ( 3. * dg);
952 blue = (Uchar) ( 3. * db);
953 b = (b<<2)+red;
954 b = (b<<2)+green;
955 b = (b<<2)+blue;
956 writeByte (b);
957 }
958 }
959 }else if(fParams.nbit==4){
960 int nbyte4;
961 nbyte4 = (aWidth * 3)/2;
962 nbyte4 /=3;
963 nbyte4 *=3;
964 col_max = (nbyte4 * 2)/3;
965 /* 4 bit for r and g and b */
966 /* rgbs following each other */
967 putInStreamF ("/rgbstr %d string def ",nbyte4);
968 putInStreamF ("%d %d %d ",col_max,aHeight,4);
969 putInStreamF ("[ %d 0 0 -%d 0 %d ] ",col_max,aHeight,aHeight);
970 putInStreamF ("{ currentfile rgbstr readhexstring pop } " );
971 putInStreamF ("false 3 " );
972 printFLN ("colorimage " );
973 for ( row = 0; row < aHeight; row++ ){
974 for ( col = 0; col < col_max; col+=2){
975 status = aProc(col,row,dr,dg,db)==0 ? 0 : status;
976 red = (Uchar) ( 15. * dr);
977 green = (Uchar) ( 15. * dg);
978 putInStreamF ("%x%x",red,green);
979 blue = (Uchar) ( 15. * db);
980
981 status = aProc(col+1,row,dr,dg,db)==0 ? 0 : status;
982 red = (Uchar) ( 15. * dr);
983 putInStreamF ("%x%x",blue,red);
984 green = (Uchar) ( 15. * dg);
985 blue = (Uchar) ( 15. * db);
986 putInStreamF ("%x%x",green,blue);
987 }
988 }
989 }else{
990 int nbyte8;
991 nbyte8 = aWidth * 3;
992 /* 8 bit for r and g and b */
993 putInStreamF ("/rgbstr %d string def ",nbyte8);
994 putInStreamF ("%d %d %d ",aWidth,aHeight,8);
995 putInStreamF ("[ %d 0 0 -%d 0 %d ] ",aWidth,aHeight,aHeight);
996 putInStreamF ("{ currentfile rgbstr readhexstring pop } " );
997 putInStreamF ("false 3 " );
998 printFLN ("colorimage " );
999 for ( row = 0; row < aHeight; row++ ){
1000 for ( col = 0; col < aWidth; col++){
1001 status = aProc(col,row,dr,dg,db)==0 ? 0 : status;
1002 red = (Uchar) ( 255. * dr);
1003 writeByte (red);
1004 green = (Uchar) ( 255. * dg);
1005 writeByte (green);
1006 blue = (Uchar) ( 255. * db);
1007 writeByte (blue);
1008 }
1009 }
1010 }
1011 if(status==0)
1012 ::printf("SbPainterPS::putImageInStream: problem to retrieve some pixel rgb.\n");
1014}
static double ConvertRGB_ToGrey(double, double, double)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
unsigned char Uchar
void writeByte(unsigned char)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

References ConvertRGB_ToGrey(), fParams, METAFILE_RECORD_LENGTH, printFLN(), putInStreamF(), putRestoreStateInStream(), putSaveStateInStream(), and writeByte().

Referenced by SoImageWriter::GLRender().

◆ putInStreamF()

void SbPainterPS::putInStreamF ( const char *  aFormat,
  ... 
)
private

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 456 of file SbPainterPS.cc.

462{
463 if(fFile==NULL) return;
464 va_list args;
465 va_start(args,aFormat);
466 printV(aFormat,args);
467 va_end(args);
468 int length = ::strlen(fBufferString);
469 if(length>METAFILE_RECORD_LENGTH) {
470 ::printf("SoPostScript::putInStreamF overflow\n");
471 return;
472 }
473 int nlength = fBufferCount + length;
474 if(nlength>METAFILE_RECORD_LENGTH) {
476 if(::fprintf(fFile,"%s\n",(char*)fBufferPointer)<0) {
477 ::printf("SoPostScript::putInStreamF fprintf error\n");
478 }
479 fBufferCount = 0;
480 nlength = length;
481 }
482 unsigned char* pointer = fBufferPointer + fBufferCount;
483 ::strcpy((char*)pointer,fBufferString);
484 fBufferCount = nlength;
485}

References args, fBufferCount, fBufferPointer, fBufferString, fFile, METAFILE_RECORD_LENGTH, and printV().

Referenced by openFileForWriting(), putBackgroundInStream(), putCapInStream(), putCircleInStream(), putClosePathInStream(), putEndPageInStream(), putFillInStream(), putFrameInStream(), putImageInStream(), putLineToInStream(), putLineWidthInStream(), putMarkerSizeInStream(), putMoveInStream(), putNewPathInStream(), putRestoreStateInStream(), putRGB_InStream(), putRotateInStream(), putSaveStateInStream(), putScaleInStream(), putStrokeInStream(), putTranslationInStream(), and writeByte().

◆ putLineToInStream()

void SbPainterPS::putLineToInStream ( float  aX,
float  aY 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 818 of file SbPainterPS.cc.

824{
825 putInStreamF ("%.2f %.2f rl ",aX,aY);
826}

References putInStreamF().

Referenced by putBackgroundInStream(), and putFrameInStream().

◆ putLineWidthInStream()

void SbPainterPS::putLineWidthInStream ( int  aWidth)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 649 of file SbPainterPS.cc.

654{
655 if(fParams.lineWidth<0.) {
656 if(aWidth==1) {
657 putInStreamF("%.1f lw ",0.5); // For a better rendering.
658 } else {
659 putInStreamF("%.1f lw ",(float)(aWidth));
660 }
661 } else {
662 putInStreamF("%.1f lw ",fParams.lineWidth);
663 }
664}

References fParams, and putInStreamF().

Referenced by putFrameInStream().

◆ putMarkerSizeInStream()

void SbPainterPS::putMarkerSizeInStream ( float  aSize)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 666 of file SbPainterPS.cc.

671{
672 if(aSize==fMarkerSize) return;
673 fMarkerSize = aSize;
674 putInStreamF("/ms %g def /msi %g def ",aSize,1./aSize);
675}

References fMarkerSize, and putInStreamF().

◆ putMoveInStream()

void SbPainterPS::putMoveInStream ( float  aX,
float  aY 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 828 of file SbPainterPS.cc.

834{
835 putInStreamF ("%.2f %.2f m ",aX,aY);
836}

References putInStreamF().

Referenced by putBackgroundInStream(), and putFrameInStream().

◆ putNewPathInStream()

void SbPainterPS::putNewPathInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 777 of file SbPainterPS.cc.

781{
782 putInStreamF("n ");
783}

References putInStreamF().

Referenced by putBackgroundInStream(), and putFrameInStream().

◆ putPageScaleInStream()

void SbPainterPS::putPageScaleInStream ( float  aWidth,
float  aHeight 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 536 of file SbPainterPS.cc.

542{
543 if(aWidth <=0.) aWidth = 100.;
544 if(aHeight<=0.) aHeight = 100.;
545
548 (float)(fDeviceHeight/30.));
549
550 float scale;
552 scale = (aHeight<=aWidth ?
553 fDeviceWidth /aWidth : fDeviceWidth /aHeight );
554 else
555 scale = (aHeight<=aWidth ?
556 fDeviceHeight /aWidth : fDeviceHeight /aHeight );
557
558 float xtra,ytra;
559 if(fParams.portrait==1) {
560 xtra = (fDeviceWidth - scale * aWidth)/2;
561 ytra = (fDeviceHeight - scale * aHeight)/2;
562 } else {
565 xtra = (fDeviceHeight - scale * aWidth)/2;
566 ytra = (fDeviceWidth - scale * aHeight)/2;
567 }
568 putTranslationInStream (xtra,ytra);
569
570 putScaleInStream (scale,scale);
571}
void putRotateInStream(float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:768
void putScaleInStream(float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:604
void putTranslationInStream(float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:594

References fDeviceHeight, fDeviceWidth, fParams, METAFILE_SCALE, putRotateInStream(), putScaleInStream(), and putTranslationInStream().

Referenced by beginTraversal().

◆ putRestoreStateInStream()

void SbPainterPS::putRestoreStateInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 585 of file SbPainterPS.cc.

589{
590 putInStreamF("grestore ");
591 fGSave--;
592}

References fGSave, and putInStreamF().

Referenced by closeStream(), endTraversal(), putBackgroundInStream(), putEndPageInStream(), and putImageInStream().

◆ putRGB_InStream()

void SbPainterPS::putRGB_InStream ( float  aR,
float  aG,
float  aB 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 633 of file SbPainterPS.cc.

640{
641 if(fParams.shade==Color)
642 putInStreamF("%.2f %.2f %.2f rgb ",aR,aG,aB);
643 else if(fParams.shade==Grey)
644 putInStreamF("%.2f setgray ",convertRGB_ToGrey(aR,aG,aB));
645 else if(fParams.shade==BlackWhite)
646 putInStreamF("0. setgray ",convertRGB_ToGrey(aR,aG,aB));
647}
float convertRGB_ToGrey(float, float, float)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SbPainterPS.cc:757

References BlackWhite, Color, convertRGB_ToGrey(), fParams, Grey, and putInStreamF().

Referenced by putBackgroundInStream(), and putFrameInStream().

◆ putRotateInStream()

void SbPainterPS::putRotateInStream ( float  aX)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 768 of file SbPainterPS.cc.

773{
774 putInStreamF("%.2f rotate ",aX);
775}

References putInStreamF().

Referenced by putPageScaleInStream().

◆ putSaveStateInStream()

void SbPainterPS::putSaveStateInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 576 of file SbPainterPS.cc.

580{
581 putInStreamF("gsave ");
582 fGSave++;
583}

References fGSave, and putInStreamF().

Referenced by beginTraversal(), openFileForWriting(), putBackgroundInStream(), putBeginPageInStream(), and putImageInStream().

◆ putScaleInStream()

void SbPainterPS::putScaleInStream ( float  aX,
float  aY 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 604 of file SbPainterPS.cc.

610{
611 putInStreamF("%.2f %.2f scale ",aX,aY);
612}

References putInStreamF().

Referenced by putPageScaleInStream().

◆ putStrokeInStream()

void SbPainterPS::putStrokeInStream ( )

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 785 of file SbPainterPS.cc.

789{
790 putInStreamF("s ");
791}

References putInStreamF().

Referenced by putFrameInStream().

◆ putTranslationInStream()

void SbPainterPS::putTranslationInStream ( float  aX,
float  aY 
)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 594 of file SbPainterPS.cc.

600{
601 putInStreamF("%.2f %.2f translate ",aX,aY);
602}

References putInStreamF().

Referenced by putPageScaleInStream().

◆ setBackgroundDrawn()

void SbPainterPS::setBackgroundDrawn ( int  aDoback)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 308 of file SbPainterPS.cc.

313{
314 fParams.doBack = aDoback;
315}

References fParams.

◆ setBitsPerPixel()

void SbPainterPS::setBitsPerPixel ( int  aNbit)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 317 of file SbPainterPS.cc.

322{
323 if( (aNbit==2) || (aNbit==4) || (aNbit==8) )
324 fParams.nbit = aNbit;
325 else
326 fParams.nbit = 2;
327}

References fParams.

Referenced by SoImageWriter::GLRender().

◆ setColorScheme()

void SbPainterPS::setColorScheme ( int  aShade)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 290 of file SbPainterPS.cc.

295{
296 fParams.shade = aShade;
297}

References fParams.

◆ setFileName()

void SbPainterPS::setFileName ( const char *  aString)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 340 of file SbPainterPS.cc.

345{
347 fFileName = STRDUP(aString);
348}

References fFileName, STRDEL, and STRDUP.

◆ setLineWidth()

void SbPainterPS::setLineWidth ( int  aWidth)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 329 of file SbPainterPS.cc.

334{
335 fParams.lineWidth = (float)aWidth;
336}

References fParams.

◆ setOrientation()

void SbPainterPS::setOrientation ( int  aPortrait)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 299 of file SbPainterPS.cc.

304{
305 fParams.portrait = aPortrait;
306}

References fParams.

◆ setWindowSize()

void SbPainter::setWindowSize ( int  aWindowWidth,
int  aWindowHeight 
)
inherited

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 58 of file SbPainter.cc.

64{
65 fWindowWidth = aWindowWidth;
66 fWindowHeight = aWindowHeight;
67}

References SbPainter::fWindowHeight, and SbPainter::fWindowWidth.

Referenced by SoImageWriter::GLRender().

◆ writeByte()

void SbPainterPS::writeByte ( unsigned char  a_byte)
private

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 1016 of file SbPainterPS.cc.

1021{
1022 unsigned char h = a_byte / 16;
1023 unsigned char l = a_byte % 16;
1024 putInStreamF ("%x%x",h,l);
1025}

References putInStreamF().

Referenced by putImageInStream().

Field Documentation

◆ doBack

int SbPainterPS::doBack

Definition at line 102 of file SbPainterPS.h.

◆ fBlue

float SbPainter::fBlue
protectedinherited

Definition at line 73 of file SbPainter.h.

◆ fBufferCount

int SbPainterPS::fBufferCount
private

Definition at line 112 of file SbPainterPS.h.

Referenced by openFileForWriting(), printFLN(), and putInStreamF().

◆ fBufferPointer

unsigned char SbPainterPS::fBufferPointer[METAFILE_RECORD_LENGTH+1]
private

Definition at line 115 of file SbPainterPS.h.

Referenced by openFileForWriting(), printFLN(), putInStreamF(), and SbPainterPS().

◆ fBufferString

char* SbPainterPS::fBufferString
private

Definition at line 113 of file SbPainterPS.h.

Referenced by printFLN(), printV(), putInStreamF(), and ~SbPainterPS().

◆ fDeviceHeight

float SbPainterPS::fDeviceHeight
private

Definition at line 106 of file SbPainterPS.h.

Referenced by openFileForWriting(), and putPageScaleInStream().

◆ fDeviceWidth

float SbPainterPS::fDeviceWidth
private

Definition at line 105 of file SbPainterPS.h.

Referenced by openFileForWriting(), and putPageScaleInStream().

◆ fEdges

SbBool SbPainter::fEdges
protectedinherited

Definition at line 74 of file SbPainter.h.

Referenced by SbPainter::enableEdges().

◆ fFile

FILE* SbPainterPS::fFile
private

◆ fFileName

char* SbPainterPS::fFileName
private

Definition at line 110 of file SbPainterPS.h.

Referenced by closeStream(), getFileName(), openFileForWriting(), and setFileName().

◆ fGreen

float SbPainter::fGreen
protectedinherited

Definition at line 73 of file SbPainter.h.

◆ fGSave

int SbPainterPS::fGSave
private

Definition at line 111 of file SbPainterPS.h.

Referenced by putRestoreStateInStream(), putSaveStateInStream(), and ~SbPainterPS().

◆ fMarkerSize

float SbPainterPS::fMarkerSize
private

Definition at line 108 of file SbPainterPS.h.

Referenced by openFileForWriting(), and putMarkerSizeInStream().

◆ fPageNumber

int SbPainterPS::fPageNumber
private

Definition at line 107 of file SbPainterPS.h.

Referenced by closeStream(), openFileForWriting(), and putBeginPageInStream().

◆ 

struct { ... } SbPainterPS::fParams

◆ fRed

float SbPainter::fRed
protectedinherited

Definition at line 73 of file SbPainter.h.

◆ fWindowHeight

int SbPainter::fWindowHeight
protectedinherited

◆ fWindowWidth

int SbPainter::fWindowWidth
protectedinherited

◆ lineWidth

float SbPainterPS::lineWidth

Definition at line 103 of file SbPainterPS.h.

◆ nbit

int SbPainterPS::nbit

Definition at line 101 of file SbPainterPS.h.

◆ portrait

int SbPainterPS::portrait

Definition at line 100 of file SbPainterPS.h.

◆ shade

int SbPainterPS::shade

Definition at line 99 of file SbPainterPS.h.


The documentation for this class was generated from the following files: