// #define MAX_FAST_ALLOC (MAX(sizeof(EdgePair), \ // MAX(sizeof(GLUvertex),sizeof(GLUface)))) private GLUtessellatorImpl() { state = TessState.T_DORMANT; normal[0] = 0; normal[1] = 0; normal[2] = 0; relTolerance = GLU_TESS_DEFAULT_TOLERANCE; windingRule = GLU.GLU_TESS_WINDING_ODD; flagBoundary = false; boundaryOnly = false; callBegin = NULL_CB; callEdgeFlag = NULL_CB; callVertex = NULL_CB; callEnd = NULL_CB; callError = NULL_CB; callCombine = NULL_CB; // callMesh = NULL_CB; callBeginData = NULL_CB; callEdgeFlagData = NULL_CB; callVertexData = NULL_CB; callEndData = NULL_CB; callErrorData = NULL_CB; callCombineData = NULL_CB; polygonData = null; for (int i = 0; i < cache.Length; i++) { cache[i] = new CachedVertex(); } }
private void cacheVertex(double[] coords, System.Object vertexData) { if (cache[cacheCount] == null) { cache[cacheCount] = new CachedVertex(); } CachedVertex v = cache[cacheCount]; v.data = vertexData; v.coords[0] = coords[0]; v.coords[1] = coords[1]; v.coords[2] = coords[2]; ++cacheCount; }
private bool flushCache() { CachedVertex[] v = cache; mesh = Mesh.__gl_meshNewMesh(); if (mesh == null) { return(false); } for (int i = 0; i < cacheCount; i++) { CachedVertex vertex = v[i]; if (!addVertex(vertex.coords, vertex.data)) { return(false); } } cacheCount = 0; flushCacheOnNextVertex = false; return(true); }
private int state; /* what begin/end calls have we seen? */ #endregion Fields #region Constructors // #define MAX_FAST_ALLOC (MAX(sizeof(EdgePair), \ // MAX(sizeof(GLUvertex),sizeof(GLUface)))) private GLUtessellatorImpl() { state = TessState.T_DORMANT; normal[0] = 0; normal[1] = 0; normal[2] = 0; relTolerance = GLU_TESS_DEFAULT_TOLERANCE; windingRule = GLU.GLU_TESS_WINDING_ODD; flagBoundary = false; boundaryOnly = false; callBegin = NULL_CB; callEdgeFlag = NULL_CB; callVertex = NULL_CB; callEnd = NULL_CB; callError = NULL_CB; callCombine = NULL_CB; // callMesh = NULL_CB; callBeginData = NULL_CB; callEdgeFlagData = NULL_CB; callVertexData = NULL_CB; callEndData = NULL_CB; callErrorData = NULL_CB; callCombineData = NULL_CB; polygonData = null; for (int i = 0; i < cache.Length; i++) { cache[i] = new CachedVertex(); } }