added a few more scale/bias/lookup functions (for future use)
[mesa.git] / src / glu / mesa / tess.h
index cd5a55e431a66fbc15b89170263d73b9662cdd29..9b221908a57f27ad5ed6e859752a67fb4cdb66b2 100644 (file)
@@ -1,21 +1,21 @@
-/* $Id: tess.h,v 1.4 1999/09/13 22:20:13 gareth Exp $ */
+/* $Id: tess.h,v 1.13 1999/10/13 19:12:47 gareth Exp $ */
 
 /*
  * Mesa 3-D graphics library
  * Version:  3.1
- * 
+ *
  * Copyright (C) 1999  Brian Paul   All Rights Reserved.
- * 
+ *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
  * to deal in the Software without restriction, including without limitation
  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  * and/or sell copies of the Software, and to permit persons to whom the
  * Software is furnished to do so, subject to the following conditions:
- * 
+ *
  * The above copyright notice and this permission notice shall be included
  * in all copies or substantial portions of the Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-/*
- * $Log: tess.h,v $
- * Revision 1.4  1999/09/13 22:20:13  gareth
- * Fixed file headers.  Tracking down macro bugs.
- *
- */
-
 /*****************************************************************************
  *
- * GLU 1.3 Polygon Tessellation by Gareth Hughes <garethh@lucent.com>
+ * GLU 1.3 Polygon Tessellation by Gareth Hughes <garethh@bell-labs.com>
  *
  *****************************************************************************/
 
@@ -46,6 +39,7 @@
 #include "gluP.h"
 
 #include "tess_typedefs.h"
+#include "tess_hash.h"
 #include "tess_heap.h"
 #if 0
 #include "tess_grid.h"
@@ -74,7 +68,11 @@ struct GLUtesselator
 #if 0
     tess_grid_t                *grid;                  /* Not currently used... */
 #endif
-    heap_t             *heap;
+    heap_t             *ears;
+    hashtable_t                *cvc_lists;
+    void               *data;
+    GLboolean          edge_flag;
+    GLuint             label;
     GLenum             error;
 };
 
@@ -82,30 +80,39 @@ struct GLUtesselator
 /*****************************************************************************
  * Tessellation error handler:
  *****************************************************************************/
-extern void tess_error_callback( GLUtesselator *, GLenum, void * );
+extern void tess_error_callback( GLUtesselator *, GLenum );
 
 
 /*****************************************************************************
  * Debugging output:  (to be removed...)
  *****************************************************************************/
+#ifdef DEBUG
 extern int     tess_debug_level;
 int vdebugstr( char *format_str, ... );
 
-#ifdef _DEBUG
-#define DEBUGP(level, body)                                            \
+#pragma message( "tess: using DEBUGP for debugging output" )
+#ifdef _WIN32
+#define DEBUG_STREAM   stdout
+#else
+#define DEBUG_STREAM   stderr
+#endif
+#define DEBUGP( level, body )                                          \
     do {                                                               \
        if ( tess_debug_level >= level ) {                              \
            vdebugstr( "%11.11s:%-5d ", __FILE__, __LINE__, level );    \
            vdebugstr body;                                             \
-           fflush ( stderr );                                          \
+           fflush( DEBUG_STREAM );                                     \
        }                                                               \
     } while ( 0 )
-#define DEBUGIF(level)          do { if ( tess_debug_level >= level ) {
-#define DEBUGENDIF              } } while ( 0 )
+#define DEBUGIF( level )       do { if ( tess_debug_level >= level ) {
+#define DEBUGENDIF             } } while ( 0 )
+
 #else
-#define DEBUGP(level, body)
-#define DEBUGIF(level)         while(0) {
+
+#define DEBUGP( level, body )
+#define DEBUGIF( level )       while(0) {
 #define DEBUGENDIF             }
+
 #endif
 
 #ifdef __cplusplus