VRML_LAYER::VRML_LAYER() { fix = false; Fault = false; idx = 0; ord = 0; glcmd = 0; pholes = NULL; maxdev = 0.02; tess = gluNewTess(); if( !tess ) return; // set up the tesselator callbacks gluTessCallback( tess, GLU_TESS_BEGIN_DATA, GLCALLBACK( vrml_tess_begin ) ); gluTessCallback( tess, GLU_TESS_VERTEX_DATA, GLCALLBACK( vrml_tess_vertex ) ); gluTessCallback( tess, GLU_TESS_END_DATA, GLCALLBACK( vrml_tess_end ) ); gluTessCallback( tess, GLU_TESS_ERROR_DATA, GLCALLBACK( vrml_tess_err ) ); gluTessCallback( tess, GLU_TESS_COMBINE_DATA, GLCALLBACK( vrml_tess_combine ) ); gluTessProperty( tess, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_POSITIVE ); gluTessNormal( tess, 0, 0, 1 ); }
VRML_LAYER::VRML_LAYER() { // arc parameters suitable to mm measurements maxArcSeg = 48; minSegLength = 0.1; maxSegLength = 0.5; offsetX = 0.0; offsetY = 0.0; fix = false; Fault = false; idx = 0; hidx = 0; eidx = 0; ord = 0; glcmd = 0; pholes = NULL; tess = gluNewTess(); if( !tess ) return; // set up the tesselator callbacks gluTessCallback( tess, GLU_TESS_BEGIN_DATA, GLCALLBACK( vrml_tess_begin ) ); gluTessCallback( tess, GLU_TESS_VERTEX_DATA, GLCALLBACK( vrml_tess_vertex ) ); gluTessCallback( tess, GLU_TESS_END_DATA, GLCALLBACK( vrml_tess_end ) ); gluTessCallback( tess, GLU_TESS_ERROR_DATA, GLCALLBACK( vrml_tess_err ) ); gluTessCallback( tess, GLU_TESS_COMBINE_DATA, GLCALLBACK( vrml_tess_combine ) ); gluTessProperty( tess, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_POSITIVE ); gluTessNormal( tess, 0, 0, 1 ); }