5590{
5593
5597 }
5598
5600
5603 }
5604 else {
5609 }
5610
5616 break;
5622 }
5623
5624 if(stream){
5626 }
5627 else{
5632 }
5633
5634 gl2ps->header = GL_TRUE;
5635 gl2ps->maxbestroot = 10;
5637 gl2ps->compress = NULL;
5638 gl2ps->imagemap_head = NULL;
5639 gl2ps->imagemap_tail = NULL;
5640
5642 glGetIntegerv(GL_VIEWPORT,
gl2ps->viewport);
5643 }
5644 else{
5645 for(i = 0;
i < 4;
i++){
5646 gl2ps->viewport[
i] = viewport[
i];
5647 }
5648 }
5649
5650 if(!
gl2ps->viewport[2] || !
gl2ps->viewport[3]){
5657 }
5658
5659 gl2ps->threshold[0] = nr ? 1.0F / (GLfloat)nr : 0.064F;
5660 gl2ps->threshold[1] =
ng ? 1.0F / (GLfloat)ng : 0.034F;
5661 gl2ps->threshold[2] =
nb ? 1.0F / (GLfloat)nb : 0.100F;
5662 gl2ps->colormode = colormode;
5663 gl2ps->buffersize = buffersize > 0 ? buffersize : 2048 * 2048;
5664 for(i = 0;
i < 3;
i++){
5665 gl2ps->lastvertex.xyz[
i] = -1.0F;
5666 }
5667 for(i = 0;
i < 4;
i++){
5668 gl2ps->lastvertex.rgba[
i] = -1.0F;
5669 gl2ps->lastrgba[
i] = -1.0F;
5670 }
5671 gl2ps->lastlinewidth = -1.0F;
5672 gl2ps->lastpattern = 0;
5673 gl2ps->lastfactor = 0;
5674 gl2ps->imagetree = NULL;
5675 gl2ps->primitivetoadd = NULL;
5676 gl2ps->zerosurfacearea = GL_FALSE;
5677 gl2ps->pdfprimlist = NULL;
5678 gl2ps->pdfgrouplist = NULL;
5679 gl2ps->xreflist = NULL;
5680
5681
5682
5684 glGetIntegerv(GL_BLEND_SRC, &
gl2ps->blendfunc[0]);
5685 glGetIntegerv(GL_BLEND_DST, &
gl2ps->blendfunc[1]);
5686
5687 if(
gl2ps->colormode == GL_RGBA){
5688 gl2ps->colorsize = 0;
5689 gl2ps->colormap = NULL;
5690 glGetFloatv(GL_COLOR_CLEAR_VALUE,
gl2ps->bgcolor);
5691 }
5692 else if(
gl2ps->colormode == GL_COLOR_INDEX){
5693 if(!colorsize || !colormap){
5698 }
5699 gl2ps->colorsize = colorsize;
5702 glGetIntegerv(GL_INDEX_CLEAR_VALUE, &
index);
5706 gl2ps->bgcolor[3] = 1.0F;
5707 }
5708 else{
5713 }
5714
5715 if(!title){
5717 gl2ps->title[0] =
'\0';
5718 }
5719 else{
5721 strcpy(
gl2ps->title, title);
5722 }
5723
5724 if(!producer){
5726 gl2ps->producer[0] =
'\0';
5727 }
5728 else{
5730 strcpy(
gl2ps->producer, producer);
5731 }
5732
5733 if(!filename){
5735 gl2ps->filename[0] =
'\0';
5736 }
5737 else{
5739 strcpy(
gl2ps->filename, filename);
5740 }
5741
5745 glFeedbackBuffer(
gl2ps->buffersize, GL_3D_COLOR,
gl2ps->feedback);
5746 glRenderMode(GL_FEEDBACK);
5747
5749}
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
static GL2PSbackend * gl2psbackends[]
static GL2PScontext * gl2ps
static void * gl2psMalloc(size_t size)
static void gl2psFree(void *ptr)
static void gl2psMsg(GLint level, const char *fmt,...)
static GL2PSlist * gl2psListCreate(GLint n, GLint incr, GLint size)
#define GL2PS_SIMPLE_SORT
#define GL2PS_USE_CURRENT_VIEWPORT