  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
#include <stdio.h>
#include <stdlib.h>
#include <GL/gl.h>
Go to the source code of this file.
 | 
| GL2PSDLL_API GLint  | gl2psBeginPage (const char *title, const char *producer, GLint viewport[4], GLint format, GLint sort, GLint options, GLint colormode, GLint colorsize, GL2PSrgba *colormap, GLint nr, GLint ng, GLint nb, GLint buffersize, FILE *stream, const char *filename) | 
|   | 
| GL2PSDLL_API GLint  | gl2psEndPage (void) | 
|   | 
| GL2PSDLL_API GLint  | gl2psSetOptions (GLint options) | 
|   | 
| GL2PSDLL_API GLint  | gl2psGetOptions (GLint *options) | 
|   | 
| GL2PSDLL_API GLint  | gl2psBeginViewport (GLint viewport[4]) | 
|   | 
| GL2PSDLL_API GLint  | gl2psEndViewport (void) | 
|   | 
| GL2PSDLL_API GLint  | gl2psText (const char *str, const char *fontname, GLshort fontsize) | 
|   | 
| GL2PSDLL_API GLint  | gl2psTextOpt (const char *str, const char *fontname, GLshort fontsize, GLint align, GLfloat angle) | 
|   | 
| GL2PSDLL_API GLint  | gl2psSpecial (GLint format, const char *str) | 
|   | 
| GL2PSDLL_API GLint  | gl2psDrawPixels (GLsizei width, GLsizei height, GLint xorig, GLint yorig, GLenum format, GLenum type, const void *pixels) | 
|   | 
| GL2PSDLL_API GLint  | gl2psEnable (GLint mode) | 
|   | 
| GL2PSDLL_API GLint  | gl2psDisable (GLint mode) | 
|   | 
| GL2PSDLL_API GLint  | gl2psPointSize (GLfloat value) | 
|   | 
| GL2PSDLL_API GLint  | gl2psLineWidth (GLfloat value) | 
|   | 
| GL2PSDLL_API GLint  | gl2psBlendFunc (GLenum sfactor, GLenum dfactor) | 
|   | 
| GL2PSDLL_API GLint  | gl2psDrawImageMap (GLsizei width, GLsizei height, const GLfloat position[3], const unsigned char *imagemap) | 
|   | 
| GL2PSDLL_API const char *  | gl2psGetFileExtension (GLint format) | 
|   | 
| GL2PSDLL_API const char *  | gl2psGetFormatDescription (GLint format) | 
|   | 
◆ GL2PS_BEST_ROOT
      
        
          | #define GL2PS_BEST_ROOT   (1<<3) | 
        
      
 
 
◆ GL2PS_BLEND
◆ GL2PS_BSP_SORT
◆ GL2PS_COMPRESS
      
        
          | #define GL2PS_COMPRESS   (1<<10) | 
        
      
 
 
◆ GL2PS_COPYRIGHT
      
        
          | #define GL2PS_COPYRIGHT   "(C) 1999-2009 C. Geuzaine" | 
        
      
 
 
◆ GL2PS_DRAW_BACKGROUND
      
        
          | #define GL2PS_DRAW_BACKGROUND   (1<<0) | 
        
      
 
 
◆ GL2PS_EPS
◆ GL2PS_ERROR
◆ GL2PS_EXTRA_VERSION
      
        
          | #define GL2PS_EXTRA_VERSION   "" | 
        
      
 
 
◆ GL2PS_INFO
◆ GL2PS_LANDSCAPE
      
        
          | #define GL2PS_LANDSCAPE   (1<<6) | 
        
      
 
 
◆ GL2PS_LINE_STIPPLE
      
        
          | #define GL2PS_LINE_STIPPLE   3 | 
        
      
 
 
◆ GL2PS_MAJOR_VERSION
      
        
          | #define GL2PS_MAJOR_VERSION   1 | 
        
      
 
 
◆ GL2PS_MINOR_VERSION
      
        
          | #define GL2PS_MINOR_VERSION   3 | 
        
      
 
 
◆ GL2PS_NO_BLENDING
      
        
          | #define GL2PS_NO_BLENDING   (1<<11) | 
        
      
 
 
◆ GL2PS_NO_FEEDBACK
      
        
          | #define GL2PS_NO_FEEDBACK   4 | 
        
      
 
 
◆ GL2PS_NO_PIXMAP
      
        
          | #define GL2PS_NO_PIXMAP   (1<<8) | 
        
      
 
 
◆ GL2PS_NO_PS3_SHADING
      
        
          | #define GL2PS_NO_PS3_SHADING   (1<<7) | 
        
      
 
 
◆ GL2PS_NO_SORT
◆ GL2PS_NO_TEXT
      
        
          | #define GL2PS_NO_TEXT   (1<<5) | 
        
      
 
 
◆ GL2PS_NONE
◆ GL2PS_OCCLUSION_CULL
      
        
          | #define GL2PS_OCCLUSION_CULL   (1<<4) | 
        
      
 
 
◆ GL2PS_OVERFLOW
◆ GL2PS_PATCH_VERSION
      
        
          | #define GL2PS_PATCH_VERSION   5 | 
        
      
 
 
◆ GL2PS_PDF
◆ GL2PS_PGF
◆ GL2PS_POLYGON_BOUNDARY
      
        
          | #define GL2PS_POLYGON_BOUNDARY   2 | 
        
      
 
 
◆ GL2PS_POLYGON_OFFSET_FILL
      
        
          | #define GL2PS_POLYGON_OFFSET_FILL   1 | 
        
      
 
 
◆ GL2PS_PS
◆ GL2PS_SILENT
      
        
          | #define GL2PS_SILENT   (1<<2) | 
        
      
 
 
◆ GL2PS_SIMPLE_LINE_OFFSET
      
        
          | #define GL2PS_SIMPLE_LINE_OFFSET   (1<<1) | 
        
      
 
 
◆ GL2PS_SIMPLE_SORT
      
        
          | #define GL2PS_SIMPLE_SORT   2 | 
        
      
 
 
◆ GL2PS_SUCCESS
◆ GL2PS_SVG
◆ GL2PS_TEX
◆ GL2PS_TEXT_B
◆ GL2PS_TEXT_BL
◆ GL2PS_TEXT_BR
◆ GL2PS_TEXT_C
◆ GL2PS_TEXT_CL
◆ GL2PS_TEXT_CR
◆ GL2PS_TEXT_T
◆ GL2PS_TEXT_TL
◆ GL2PS_TEXT_TR
◆ GL2PS_TIGHT_BOUNDING_BOX
      
        
          | #define GL2PS_TIGHT_BOUNDING_BOX   (1<<12) | 
        
      
 
 
◆ GL2PS_UNINITIALIZED
      
        
          | #define GL2PS_UNINITIALIZED   6 | 
        
      
 
 
◆ GL2PS_USE_CURRENT_VIEWPORT
      
        
          | #define GL2PS_USE_CURRENT_VIEWPORT   (1<<9) | 
        
      
 
 
◆ GL2PS_VERSION
Value:
Definition at line 87 of file gl2ps.h.
 
 
◆ GL2PS_WARNING
◆ GL2PSDLL_API
◆ GL2PSrgba
      
        
          | typedef GLfloat GL2PSrgba[4] | 
        
      
 
 
◆ gl2psBeginPage()
      
        
          | GL2PSDLL_API GLint gl2psBeginPage  | 
          ( | 
          const char *  | 
          title,  | 
        
        
           | 
           | 
          const char *  | 
          producer,  | 
        
        
           | 
           | 
          GLint  | 
          viewport[4],  | 
        
        
           | 
           | 
          GLint  | 
          format,  | 
        
        
           | 
           | 
          GLint  | 
          sort,  | 
        
        
           | 
           | 
          GLint  | 
          options,  | 
        
        
           | 
           | 
          GLint  | 
          colormode,  | 
        
        
           | 
           | 
          GLint  | 
          colorsize,  | 
        
        
           | 
           | 
          GL2PSrgba *  | 
          colormap,  | 
        
        
           | 
           | 
          GLint  | 
          nr,  | 
        
        
           | 
           | 
          GLint  | 
          ng,  | 
        
        
           | 
           | 
          GLint  | 
          nb,  | 
        
        
           | 
           | 
          GLint  | 
          buffersize,  | 
        
        
           | 
           | 
          FILE *  | 
          stream,  | 
        
        
           | 
           | 
          const char *  | 
          filename  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 5582 of file gl2ps.cxx.
 5593     gl2psMsg(
GL2PS_ERROR, 
"gl2psBeginPage called in wrong program state");
 
 5599   if(
format >= 0 && 
format < (GLint)(
sizeof(gl2psbackends) / 
sizeof(gl2psbackends[0]))){
 
 5616     gl2psMsg(
GL2PS_ERROR, 
"Unknown sorting algorithm: %d", sort);
 
 5640     glGetIntegerv(GL_VIEWPORT, gl2ps->
viewport);
 
 5643     for(
i = 0; 
i < 4; 
i++){
 
 5649     gl2psMsg(
GL2PS_ERROR, 
"Incorrect viewport (x=%d, y=%d, width=%d, height=%d)",
 
 5657   gl2ps->
threshold[0] = nr ? 1.0F / (GLfloat)nr : 0.064
F;
 
 5661   gl2ps->
buffersize = buffersize > 0 ? buffersize : 2048 * 2048;
 
 5662   for(
i = 0; 
i < 3; 
i++){
 
 5665   for(
i = 0; 
i < 4; 
i++){
 
 5682   glGetIntegerv(GL_BLEND_SRC, &gl2ps->
blendfunc[0]);
 
 5683   glGetIntegerv(GL_BLEND_DST, &gl2ps->
blendfunc[1]);
 
 5688     glGetFloatv(GL_COLOR_CLEAR_VALUE, gl2ps->
bgcolor);
 
 5690   else if(gl2ps->
colormode == GL_COLOR_INDEX){
 
 5691     if(!colorsize || !colormap){
 
 5692       gl2psMsg(
GL2PS_ERROR, 
"Missing colormap for GL_COLOR_INDEX rendering");
 
 5700     glGetIntegerv(GL_INDEX_CLEAR_VALUE, &
index);
 
 5707     gl2psMsg(
GL2PS_ERROR, 
"Unknown color mode in gl2psBeginPage");
 
 5714     gl2ps->
title = (
char*)gl2psMalloc(
sizeof(
char));
 
 5715     gl2ps->
title[0] = 
'\0';
 
 5718     gl2ps->
title = (
char*)gl2psMalloc((strlen(
title)+1)*
sizeof(
char));
 
 5723     gl2ps->
producer = (
char*)gl2psMalloc(
sizeof(
char));
 
 5727     gl2ps->
producer = (
char*)gl2psMalloc((strlen(producer)+1)*
sizeof(
char));
 
 5732     gl2ps->
filename = (
char*)gl2psMalloc(
sizeof(
char));
 
 5744   glRenderMode(GL_FEEDBACK);
 
 
 
 
◆ gl2psBeginViewport()
◆ gl2psBlendFunc()
      
        
          | GL2PSDLL_API GLint gl2psBlendFunc  | 
          ( | 
          GLenum  | 
          sfactor,  | 
        
        
           | 
           | 
          GLenum  | 
          dfactor  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 6000 of file gl2ps.cxx.
 6004   if(GL_FALSE == gl2psSupportedBlendMode(sfactor, dfactor))
 
 6008   glPassThrough((GLfloat)sfactor);
 
 6010   glPassThrough((GLfloat)dfactor);
 
 
 
 
◆ gl2psDisable()
◆ gl2psDrawImageMap()
      
        
          | GL2PSDLL_API GLint gl2psDrawImageMap  | 
          ( | 
          GLsizei  | 
          width,  | 
        
        
           | 
           | 
          GLsizei  | 
          height,  | 
        
        
           | 
           | 
          const GLfloat  | 
          position[3],  | 
        
        
           | 
           | 
          const unsigned char *  | 
          imagemap  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 5896 of file gl2ps.cxx.
 5900   int sizeoffloat = 
sizeof(GLfloat);
 
 5906   size = height + height * ((
width - 1) / 8);
 
 5909   glVertex3f(position[0], position[1],position[2]);
 
 5911   glPassThrough((GLfloat)
width);
 
 5912   glPassThrough((GLfloat)height);
 
 5913   for(
i = 0; 
i < 
size; 
i += sizeoffloat){
 
 5915     const float *
value = 
reinterpret_cast<const float*
>(imagemap);
 
 5916     glPassThrough(*
value);
 
 5917     imagemap += sizeoffloat;
 
 
 
 
◆ gl2psDrawPixels()
      
        
          | GL2PSDLL_API GLint gl2psDrawPixels  | 
          ( | 
          GLsizei  | 
          width,  | 
        
        
           | 
           | 
          GLsizei  | 
          height,  | 
        
        
           | 
           | 
          GLint  | 
          xorig,  | 
        
        
           | 
           | 
          GLint  | 
          yorig,  | 
        
        
           | 
           | 
          GLenum  | 
          format,  | 
        
        
           | 
           | 
          GLenum  | 
          type,  | 
        
        
           | 
           | 
          const void *  | 
          pixels  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 5815 of file gl2ps.cxx.
 5821   GLfloat 
pos[4], *piv;
 
 5832     gl2psMsg(
GL2PS_ERROR, 
"gl2psDrawPixels only implemented for " 
 5833              "GL_RGB/GL_RGBA, GL_FLOAT pixels");
 
 5837   glGetBooleanv(GL_CURRENT_RASTER_POSITION_VALID, &
valid);
 
 5840   glGetFloatv(GL_CURRENT_RASTER_POSITION, 
pos);
 
 5855   glGetFloatv(GL_CURRENT_RASTER_COLOR, prim->
verts[0].
rgba);
 
 5869       piv = (GLfloat*)pixels;
 
 5870       for(
i = 0; 
i < 
size; ++
i, ++piv){
 
 
 
 
◆ gl2psEnable()
Definition at line 5922 of file gl2ps.cxx.
 5931     glGetFloatv(GL_POLYGON_OFFSET_FACTOR, &gl2ps->
offset[0]);
 
 5932     glGetFloatv(GL_POLYGON_OFFSET_UNITS, &gl2ps->
offset[1]);
 
 5939     glGetIntegerv(GL_LINE_STIPPLE_PATTERN, &
tmp);
 
 5940     glPassThrough((GLfloat)
tmp);
 
 5941     glGetIntegerv(GL_LINE_STIPPLE_REPEAT, &
tmp);
 
 5942     glPassThrough((GLfloat)
tmp);
 
 
 
 
◆ gl2psEndPage()
Definition at line 5749 of file gl2ps.cxx.
 5755   res = gl2psPrintPrimitives();
 
 5766   gl2psFree(gl2ps->
title);
 
 
 
 
◆ gl2psEndViewport()
◆ gl2psGetFileExtension()
Definition at line 6036 of file gl2ps.cxx.
 6038   if(
format >= 0 && 
format < (GLint)(
sizeof(gl2psbackends) / 
sizeof(gl2psbackends[0])))
 
 6041     return "Unknown format";
 
 
 
 
◆ gl2psGetFormatDescription()
Definition at line 6044 of file gl2ps.cxx.
 6046   if(
format >= 0 && 
format < (GLint)(
sizeof(gl2psbackends) / 
sizeof(gl2psbackends[0])))
 
 6049     return "Unknown format";
 
 
 
 
◆ gl2psGetOptions()
◆ gl2psLineWidth()
◆ gl2psPointSize()
◆ gl2psSetOptions()
◆ gl2psSpecial()
◆ gl2psText()
◆ gl2psTextOpt()
      
        
          | GL2PSDLL_API GLint gl2psTextOpt  | 
          ( | 
          const char *  | 
          str,  | 
        
        
           | 
           | 
          const char *  | 
          fontname,  | 
        
        
           | 
           | 
          GLshort  | 
          fontsize,  | 
        
        
           | 
           | 
          GLint  | 
          align,  | 
        
        
           | 
           | 
          GLfloat  | 
          angle  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
 
#define GL2PS_DRAW_PIXELS_TOKEN
 
GL2PSbsptree2d * imagetree
 
#define GL2PS_LINE_WIDTH_TOKEN
 
GL2PSimagemap * imagemap_tail
 
#define GL2PS_DST_BLEND_TOKEN
 
void(* printFooter)(void)
 
GLint(* endViewport)(void)
 
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
 
#define GL2PS_PATCH_VERSION
 
void(* beginViewport)(GLint viewport[4])
 
#define GL2PS_BEGIN_BOUNDARY_TOKEN
 
#define GL2PS_NO_BLENDING
 
#define GL2PS_MINOR_VERSION
 
#define GL2PS_MAJOR_VERSION
 
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
 
std::pair< std::vector< unsigned int >, bool > res
 
#define GL2PS_END_BOUNDARY_TOKEN
 
#define GL2PS_BEGIN_STIPPLE_TOKEN
 
#define GL2PS_BEGIN_OFFSET_TOKEN
 
GL2PSlist * auxprimitives
 
constexpr size_t alignment
 
#define GL2PS_LINE_STIPPLE
 
#define GL2PS_BEGIN_BLEND_TOKEN
 
#define GL2PS_POINT_SIZE_TOKEN
 
#define GL2PS_END_STIPPLE_TOKEN
 
#define GL2PS_SIMPLE_SORT
 
union GL2PSprimitive::@63 data
 
#define GL2PS_POLYGON_BOUNDARY
 
#define GL2PS_SRC_BLEND_TOKEN
 
#define GL2PS_IMAGEMAP_TOKEN
 
#define GL2PS_UNINITIALIZED
 
#define GL2PS_END_OFFSET_TOKEN
 
const char * file_extension
 
#define GL2PS_USE_CURRENT_VIEWPORT
 
#define GL2PS_END_BLEND_TOKEN
 
GL2PSprimitive * primitivetoadd
 
GLboolean zerosurfacearea
 
GL2PSimagemap * imagemap_head
 
#define GL2PS_POLYGON_OFFSET_FILL