![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include "VP1HEPVis/gl2ps.h"
#include <math.h>
#include <string.h>
#include <sys/types.h>
#include <stdarg.h>
#include <time.h>
#include <float.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 | gl2psBeginViewport (GLint viewport[4]) |
|
GL2PSDLL_API GLint | gl2psEndViewport (void) |
|
GL2PSDLL_API GLint | gl2psTextOpt (const char *str, const char *fontname, GLshort fontsize, GLint alignment, GLfloat angle) |
|
GL2PSDLL_API GLint | gl2psText (const char *str, const char *fontname, GLshort fontsize) |
|
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 | gl2psDrawImageMap (GLsizei width, GLsizei height, const GLfloat position[3], const unsigned char *imagemap) |
|
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 | gl2psSetOptions (GLint options) |
|
GL2PSDLL_API GLint | gl2psGetOptions (GLint *options) |
|
GL2PSDLL_API const char * | gl2psGetFileExtension (GLint format) |
|
GL2PSDLL_API const char * | gl2psGetFormatDescription (GLint format) |
|
◆ GL2PS_BEGIN_BLEND_TOKEN
#define GL2PS_BEGIN_BLEND_TOKEN 9 |
◆ GL2PS_BEGIN_BOUNDARY_TOKEN
#define GL2PS_BEGIN_BOUNDARY_TOKEN 3 |
◆ GL2PS_BEGIN_OFFSET_TOKEN
#define GL2PS_BEGIN_OFFSET_TOKEN 1 |
◆ GL2PS_BEGIN_STIPPLE_TOKEN
#define GL2PS_BEGIN_STIPPLE_TOKEN 5 |
◆ GL2PS_COINCIDENT
#define GL2PS_COINCIDENT 1 |
◆ GL2PS_DRAW_PIXELS_TOKEN
#define GL2PS_DRAW_PIXELS_TOKEN 14 |
◆ GL2PS_DST_BLEND_TOKEN
#define GL2PS_DST_BLEND_TOKEN 12 |
◆ GL2PS_END_BLEND_TOKEN
#define GL2PS_END_BLEND_TOKEN 10 |
◆ GL2PS_END_BOUNDARY_TOKEN
#define GL2PS_END_BOUNDARY_TOKEN 4 |
◆ GL2PS_END_OFFSET_TOKEN
#define GL2PS_END_OFFSET_TOKEN 2 |
◆ GL2PS_END_STIPPLE_TOKEN
#define GL2PS_END_STIPPLE_TOKEN 6 |
◆ GL2PS_EPSILON
#define GL2PS_EPSILON 5.0e-3F |
◆ GL2PS_IMAGEMAP
◆ GL2PS_IMAGEMAP_TOKEN
#define GL2PS_IMAGEMAP_TOKEN 13 |
◆ GL2PS_IMAGEMAP_VISIBLE
#define GL2PS_IMAGEMAP_VISIBLE 9 |
◆ GL2PS_IMAGEMAP_WRITTEN
#define GL2PS_IMAGEMAP_WRITTEN 8 |
◆ GL2PS_IN_BACK_OF
#define GL2PS_IN_BACK_OF 3 |
◆ GL2PS_IN_FRONT_OF
#define GL2PS_IN_FRONT_OF 2 |
◆ GL2PS_LINE
◆ GL2PS_LINE_WIDTH_TOKEN
#define GL2PS_LINE_WIDTH_TOKEN 8 |
◆ GL2PS_NO_TYPE
◆ GL2PS_PIXMAP
◆ GL2PS_POINT
◆ GL2PS_POINT_BACK
#define GL2PS_POINT_BACK 2 |
◆ GL2PS_POINT_COINCIDENT
#define GL2PS_POINT_COINCIDENT 0 |
◆ GL2PS_POINT_INFRONT
#define GL2PS_POINT_INFRONT 1 |
◆ GL2PS_POINT_SIZE_TOKEN
#define GL2PS_POINT_SIZE_TOKEN 7 |
◆ GL2PS_QUADRANGLE
#define GL2PS_QUADRANGLE 4 |
◆ GL2PS_SPANNING
◆ GL2PS_SPECIAL
◆ GL2PS_SRC_BLEND_TOKEN
#define GL2PS_SRC_BLEND_TOKEN 11 |
◆ GL2PS_TEXT
◆ GL2PS_TEXT_TOKEN
#define GL2PS_TEXT_TOKEN 15 |
◆ GL2PS_TRIANGLE
◆ GL2PS_ZERO
#define GL2PS_ZERO |
( |
|
arg | ) |
(fabs(arg) < 1.e-20) |
◆ GL2PS_ZOFFSET
#define GL2PS_ZOFFSET 5.0e-2F |
◆ GL2PS_ZOFFSET_LARGE
#define GL2PS_ZOFFSET_LARGE 20.0F |
◆ GL2PS_ZSCALE
#define GL2PS_ZSCALE 1000.0F |
◆ GL2PSbsptree
◆ GL2PSbsptree2d
◆ GL2PSimagemap
◆ GL2PSplane
typedef GLfloat GL2PSplane[4] |
◆ GL2PSxyz
typedef GLfloat GL2PSxyz[3] |
◆ GL2PS_TRIANGLE_PROPERTY
Enumerator |
---|
T_UNDEFINED | |
T_CONST_COLOR | |
T_VAR_COLOR | |
T_ALPHA_1 | |
T_ALPHA_LESS_1 | |
T_VAR_ALPHA | |
Definition at line 117 of file gl2ps.cxx.
◆ 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 5583 of file gl2ps.cxx.
5594 gl2psMsg(
GL2PS_ERROR,
"gl2psBeginPage called in wrong program state");
5600 if(
format >= 0 &&
format < (GLint)(
sizeof(gl2psbackends) /
sizeof(gl2psbackends[0]))){
5617 gl2psMsg(
GL2PS_ERROR,
"Unknown sorting algorithm: %d", sort);
5641 glGetIntegerv(GL_VIEWPORT, gl2ps->
viewport);
5644 for(
i = 0;
i < 4;
i++){
5650 gl2psMsg(
GL2PS_ERROR,
"Incorrect viewport (x=%d, y=%d, width=%d, height=%d)",
5658 gl2ps->
threshold[0] = nr ? 1.0F / (GLfloat)nr : 0.064
F;
5662 gl2ps->
buffersize = buffersize > 0 ? buffersize : 2048 * 2048;
5663 for(
i = 0;
i < 3;
i++){
5666 for(
i = 0;
i < 4;
i++){
5683 glGetIntegerv(GL_BLEND_SRC, &gl2ps->
blendfunc[0]);
5684 glGetIntegerv(GL_BLEND_DST, &gl2ps->
blendfunc[1]);
5689 glGetFloatv(GL_COLOR_CLEAR_VALUE, gl2ps->
bgcolor);
5691 else if(gl2ps->
colormode == GL_COLOR_INDEX){
5692 if(!colorsize || !colormap){
5693 gl2psMsg(
GL2PS_ERROR,
"Missing colormap for GL_COLOR_INDEX rendering");
5701 glGetIntegerv(GL_INDEX_CLEAR_VALUE, &
index);
5708 gl2psMsg(
GL2PS_ERROR,
"Unknown color mode in gl2psBeginPage");
5715 gl2ps->
title = (
char*)gl2psMalloc(
sizeof(
char));
5716 gl2ps->
title[0] =
'\0';
5719 gl2ps->
title = (
char*)gl2psMalloc((strlen(
title)+1)*
sizeof(
char));
5724 gl2ps->
producer = (
char*)gl2psMalloc(
sizeof(
char));
5728 gl2ps->
producer = (
char*)gl2psMalloc((strlen(producer)+1)*
sizeof(
char));
5733 gl2ps->
filename = (
char*)gl2psMalloc(
sizeof(
char));
5745 glRenderMode(GL_FEEDBACK);
◆ gl2psBeginViewport()
◆ gl2psBlendFunc()
GL2PSDLL_API GLint gl2psBlendFunc |
( |
GLenum |
sfactor, |
|
|
GLenum |
dfactor |
|
) |
| |
Definition at line 6001 of file gl2ps.cxx.
6005 if(GL_FALSE == gl2psSupportedBlendMode(sfactor, dfactor))
6009 glPassThrough((GLfloat)sfactor);
6011 glPassThrough((GLfloat)dfactor);
◆ gl2psDisable()
◆ gl2psDrawImageMap()
GL2PSDLL_API GLint gl2psDrawImageMap |
( |
GLsizei |
width, |
|
|
GLsizei |
height, |
|
|
const GLfloat |
position[3], |
|
|
const unsigned char * |
imagemap |
|
) |
| |
Definition at line 5897 of file gl2ps.cxx.
5901 int sizeoffloat =
sizeof(GLfloat);
5907 size = height + height * ((
width - 1) / 8);
5910 glVertex3f(position[0], position[1],position[2]);
5912 glPassThrough((GLfloat)
width);
5913 glPassThrough((GLfloat)height);
5914 for(
i = 0;
i <
size;
i += sizeoffloat){
5916 const float *
value =
reinterpret_cast<const float*
>(imagemap);
5917 glPassThrough(*
value);
5918 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 5816 of file gl2ps.cxx.
5822 GLfloat
pos[4], *piv;
5833 gl2psMsg(
GL2PS_ERROR,
"gl2psDrawPixels only implemented for "
5834 "GL_RGB/GL_RGBA, GL_FLOAT pixels");
5838 glGetBooleanv(GL_CURRENT_RASTER_POSITION_VALID, &
valid);
5841 glGetFloatv(GL_CURRENT_RASTER_POSITION,
pos);
5856 glGetFloatv(GL_CURRENT_RASTER_COLOR, prim->
verts[0].
rgba);
5870 piv = (GLfloat*)pixels;
5871 for(
i = 0;
i <
size; ++
i, ++piv){
◆ gl2psEnable()
Definition at line 5923 of file gl2ps.cxx.
5932 glGetFloatv(GL_POLYGON_OFFSET_FACTOR, &gl2ps->
offset[0]);
5933 glGetFloatv(GL_POLYGON_OFFSET_UNITS, &gl2ps->
offset[1]);
5940 glGetIntegerv(GL_LINE_STIPPLE_PATTERN, &
tmp);
5941 glPassThrough((GLfloat)
tmp);
5942 glGetIntegerv(GL_LINE_STIPPLE_REPEAT, &
tmp);
5943 glPassThrough((GLfloat)
tmp);
◆ gl2psEndPage()
Definition at line 5750 of file gl2ps.cxx.
5756 res = gl2psPrintPrimitives();
5767 gl2psFree(gl2ps->
title);
◆ gl2psEndViewport()
◆ gl2psGetFileExtension()
Definition at line 6037 of file gl2ps.cxx.
6039 if(
format >= 0 &&
format < (GLint)(
sizeof(gl2psbackends) /
sizeof(gl2psbackends[0])))
6042 return "Unknown format";
◆ gl2psGetFormatDescription()
Definition at line 6045 of file gl2ps.cxx.
6047 if(
format >= 0 &&
format < (GLint)(
sizeof(gl2psbackends) /
sizeof(gl2psbackends[0])))
6050 return "Unknown format";
◆ gl2psGetOptions()
◆ gl2psLineWidth()
◆ gl2psPointSize()
◆ gl2psSetOptions()
◆ gl2psSpecial()
◆ gl2psText()
◆ gl2psTextOpt()
GL2PSDLL_API GLint gl2psTextOpt |
( |
const char * |
str, |
|
|
const char * |
fontname, |
|
|
GLshort |
fontsize, |
|
|
GLint |
alignment, |
|
|
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)
union GL2PSprimitive::@62 data
GLint(* endViewport)(void)
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
void(* beginViewport)(GLint viewport[4])
#define GL2PS_BEGIN_BOUNDARY_TOKEN
#define GL2PS_NO_BLENDING
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
#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