
#include "pv.h"

void
vrml_begin(FILE *vout)
{

#ifdef VRML2
    vrml_putline(0, vout,"#VRML V2.0 utf8");
#else
    vrml_putline(0, vout,"#VRML V1.0 ascii");
    vrml_putline(1, vout,"Separator {");
    vrml_putline(1, vout,"ShapeHints {");
    vrml_putline(0, vout,"vertexOrdering  COUNTERCLOCKWISE");
    vrml_putline(0, vout,"faceType        CONVEX");
    vrml_putline(0, vout,"creaseAngle     0.5");
    vrml_putline(-1, vout,"}");
#endif

}

void
vrml_end(FILE *vout)
{
#ifdef VRML2
#else
    vrml_putline(-1,vout,"}");
#endif

}

/* To make it easier to read - uses tabs to increase or
   decrease the level of indentation.  For better storage,
   just comment out the tab printing.
*/

void
vrml_putline(int indent, FILE *vout, char *str)
{
static int ind=0; 
int i;

    if (indent < 0) ind += indent; /* pre-decrement */

    for(i=0; i<ind; i++) fprintf(vout,"\t");
    fprintf(vout,"%s\n",str);

    if (indent > 0) ind += indent; /* post-increment */
    if(ind<0) ind = 0;
}

