Spring Cleaning
authorCampbell Barton <ideasman42@gmail.com>
Sun, 21 Jun 2009 16:18:38 +0000 (16:18 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 21 Jun 2009 16:18:38 +0000 (16:18 +0000)
* removed radiosity render code, DNA and RNA (left in radio render pass options), we'll get GI to replace this probably, better allow baking to vertex colors for people who used this.
* removed deprecated solid physics library, sumo integrations and qhull, a dependency
* removed ODE, was no longer being build or supported
* remove BEOS and AMIGA defines and references in Makefiles.

289 files changed:
SConstruct
config/darwin-config.py
config/irix6-config.py
config/linux2-config.py
config/linuxcross-config.py
config/openbsd3-config.py
config/sunos5-config.py
config/win32-mingw-config.py
config/win32-vc-config.py
config/win64-vc-config.py
extern/CMakeLists.txt
extern/Makefile
extern/SConscript
extern/qhull/CMakeLists.txt [deleted file]
extern/qhull/COPYING.txt [deleted file]
extern/qhull/README.txt [deleted file]
extern/qhull/REGISTER.txt [deleted file]
extern/qhull/SConscript [deleted file]
extern/qhull/VisualC6/qhull.dsw [deleted file]
extern/qhull/VisualC6/qhull/qhull.dsp [deleted file]
extern/qhull/include/qhull/geom.h [deleted file]
extern/qhull/include/qhull/io.h [deleted file]
extern/qhull/include/qhull/mem.h [deleted file]
extern/qhull/include/qhull/merge.h [deleted file]
extern/qhull/include/qhull/poly.h [deleted file]
extern/qhull/include/qhull/qhull.h [deleted file]
extern/qhull/include/qhull/qhull_a.h [deleted file]
extern/qhull/include/qhull/qset.h [deleted file]
extern/qhull/include/qhull/stat.h [deleted file]
extern/qhull/include/qhull/user.h [deleted file]
extern/qhull/make/msvc_7_0/qhull.vcproj [deleted file]
extern/qhull/make/msvc_9_0/qhull.vcproj [deleted file]
extern/qhull/src/Make-config.sh [deleted file]
extern/qhull/src/Makefile [deleted file]
extern/qhull/src/Makefile.txt [deleted file]
extern/qhull/src/geom.c [deleted file]
extern/qhull/src/geom.h [deleted file]
extern/qhull/src/geom2.c [deleted file]
extern/qhull/src/global.c [deleted file]
extern/qhull/src/io.c [deleted file]
extern/qhull/src/io.h [deleted file]
extern/qhull/src/mem.c [deleted file]
extern/qhull/src/mem.h [deleted file]
extern/qhull/src/merge.c [deleted file]
extern/qhull/src/merge.h [deleted file]
extern/qhull/src/poly.c [deleted file]
extern/qhull/src/poly.h [deleted file]
extern/qhull/src/poly2.c [deleted file]
extern/qhull/src/qconvex.c [deleted file]
extern/qhull/src/qdelaun.c [deleted file]
extern/qhull/src/qhalf.c [deleted file]
extern/qhull/src/qhull.c [deleted file]
extern/qhull/src/qhull.h [deleted file]
extern/qhull/src/qhull_a.h [deleted file]
extern/qhull/src/qhull_interface.cpp [deleted file]
extern/qhull/src/qset.c [deleted file]
extern/qhull/src/qset.h [deleted file]
extern/qhull/src/qvoronoi.c [deleted file]
extern/qhull/src/rbox.c [deleted file]
extern/qhull/src/stat.c [deleted file]
extern/qhull/src/stat.h [deleted file]
extern/qhull/src/unix.c [deleted file]
extern/qhull/src/user.c [deleted file]
extern/qhull/src/user.h [deleted file]
extern/qhull/src/user_eg.c [deleted file]
extern/qhull/src/user_eg2.c [deleted file]
extern/solid/CMakeLists.txt [deleted file]
extern/solid/LICENSE_GPL.txt [deleted file]
extern/solid/LICENSE_QPL.txt [deleted file]
extern/solid/Makefile [deleted file]
extern/solid/README.txt [deleted file]
extern/solid/SConscript [deleted file]
extern/solid/SOLID/SOLID.h [deleted file]
extern/solid/SOLID/SOLID_broad.h [deleted file]
extern/solid/SOLID/SOLID_types.h [deleted file]
extern/solid/VisualC6/broad/broad.dsp [deleted file]
extern/solid/VisualC6/complex/complex.dsp [deleted file]
extern/solid/VisualC6/convex/convex.dsp [deleted file]
extern/solid/VisualC6/dynamics/dynamics.dsp [deleted file]
extern/solid/VisualC6/gldemo/gldemo.dsp [deleted file]
extern/solid/VisualC6/mnm/mnm.dsp [deleted file]
extern/solid/VisualC6/physics/physics.dsp [deleted file]
extern/solid/VisualC6/sample/sample.dsp [deleted file]
extern/solid/VisualC6/solid.dsw [deleted file]
extern/solid/VisualC6/solid/solid.dsp [deleted file]
extern/solid/VisualC6/solid_dll/solid_dll.dsp [deleted file]
extern/solid/include/GEN_MinMax.h [deleted file]
extern/solid/include/GEN_random.h [deleted file]
extern/solid/include/MT/Interval.h [deleted file]
extern/solid/include/MT/Matrix3x3.h [deleted file]
extern/solid/include/MT/Quaternion.h [deleted file]
extern/solid/include/MT/Transform.h [deleted file]
extern/solid/include/MT/Tuple3.h [deleted file]
extern/solid/include/MT/Tuple4.h [deleted file]
extern/solid/include/MT/Vector3.h [deleted file]
extern/solid/include/MT_BBox.h [deleted file]
extern/solid/include/MT_Interval.h [deleted file]
extern/solid/include/MT_Matrix3x3.h [deleted file]
extern/solid/include/MT_Point3.h [deleted file]
extern/solid/include/MT_Quaternion.h [deleted file]
extern/solid/include/MT_Scalar.h [deleted file]
extern/solid/include/MT_Transform.h [deleted file]
extern/solid/include/MT_Vector3.h [deleted file]
extern/solid/include/SOLID.h [deleted file]
extern/solid/include/SOLID_broad.h [deleted file]
extern/solid/include/SOLID_types.h [deleted file]
extern/solid/make/msvc_7_0/broad/broad.vcproj [deleted file]
extern/solid/make/msvc_7_0/complex/complex.vcproj [deleted file]
extern/solid/make/msvc_7_0/convex/convex.vcproj [deleted file]
extern/solid/make/msvc_7_0/solid.vcproj [deleted file]
extern/solid/make/msvc_9_0/broad/broad.vcproj [deleted file]
extern/solid/make/msvc_9_0/complex/complex.vcproj [deleted file]
extern/solid/make/msvc_9_0/convex/convex.vcproj [deleted file]
extern/solid/make/msvc_9_0/solid.vcproj [deleted file]
extern/solid/src/DT_AlgoTable.h [deleted file]
extern/solid/src/DT_C-api.cpp [deleted file]
extern/solid/src/DT_Encounter.cpp [deleted file]
extern/solid/src/DT_Encounter.h [deleted file]
extern/solid/src/DT_Object.cpp [deleted file]
extern/solid/src/DT_Object.h [deleted file]
extern/solid/src/DT_RespTable.cpp [deleted file]
extern/solid/src/DT_RespTable.h [deleted file]
extern/solid/src/DT_Response.h [deleted file]
extern/solid/src/DT_Scene.cpp [deleted file]
extern/solid/src/DT_Scene.h [deleted file]
extern/solid/src/Makefile [deleted file]
extern/solid/src/broad/BP_C-api.cpp [deleted file]
extern/solid/src/broad/BP_Endpoint.h [deleted file]
extern/solid/src/broad/BP_EndpointList.cpp [deleted file]
extern/solid/src/broad/BP_EndpointList.h [deleted file]
extern/solid/src/broad/BP_Proxy.cpp [deleted file]
extern/solid/src/broad/BP_Proxy.h [deleted file]
extern/solid/src/broad/BP_ProxyList.h [deleted file]
extern/solid/src/broad/BP_Scene.cpp [deleted file]
extern/solid/src/broad/BP_Scene.h [deleted file]
extern/solid/src/broad/Makefile [deleted file]
extern/solid/src/complex/DT_BBoxTree.cpp [deleted file]
extern/solid/src/complex/DT_BBoxTree.h [deleted file]
extern/solid/src/complex/DT_CBox.h [deleted file]
extern/solid/src/complex/DT_Complex.cpp [deleted file]
extern/solid/src/complex/DT_Complex.h [deleted file]
extern/solid/src/complex/Makefile [deleted file]
extern/solid/src/convex/DT_Accuracy.cpp [deleted file]
extern/solid/src/convex/DT_Accuracy.h [deleted file]
extern/solid/src/convex/DT_Array.h [deleted file]
extern/solid/src/convex/DT_Box.cpp [deleted file]
extern/solid/src/convex/DT_Box.h [deleted file]
extern/solid/src/convex/DT_Cone.cpp [deleted file]
extern/solid/src/convex/DT_Cone.h [deleted file]
extern/solid/src/convex/DT_Convex.cpp [deleted file]
extern/solid/src/convex/DT_Convex.h [deleted file]
extern/solid/src/convex/DT_Cylinder.cpp [deleted file]
extern/solid/src/convex/DT_Cylinder.h [deleted file]
extern/solid/src/convex/DT_Facet.cpp [deleted file]
extern/solid/src/convex/DT_Facet.h [deleted file]
extern/solid/src/convex/DT_GJK.h [deleted file]
extern/solid/src/convex/DT_Hull.h [deleted file]
extern/solid/src/convex/DT_IndexArray.h [deleted file]
extern/solid/src/convex/DT_LineSegment.cpp [deleted file]
extern/solid/src/convex/DT_LineSegment.h [deleted file]
extern/solid/src/convex/DT_Minkowski.h [deleted file]
extern/solid/src/convex/DT_PenDepth.cpp [deleted file]
extern/solid/src/convex/DT_PenDepth.h [deleted file]
extern/solid/src/convex/DT_Point.cpp [deleted file]
extern/solid/src/convex/DT_Point.h [deleted file]
extern/solid/src/convex/DT_Polyhedron.cpp [deleted file]
extern/solid/src/convex/DT_Polyhedron.h [deleted file]
extern/solid/src/convex/DT_Polytope.cpp [deleted file]
extern/solid/src/convex/DT_Polytope.h [deleted file]
extern/solid/src/convex/DT_Shape.h [deleted file]
extern/solid/src/convex/DT_Sphere.cpp [deleted file]
extern/solid/src/convex/DT_Sphere.h [deleted file]
extern/solid/src/convex/DT_Transform.h [deleted file]
extern/solid/src/convex/DT_Triangle.cpp [deleted file]
extern/solid/src/convex/DT_Triangle.h [deleted file]
extern/solid/src/convex/DT_VertexBase.h [deleted file]
extern/solid/src/convex/Makefile [deleted file]
intern/bsp/test/Makefile
intern/guardedalloc/intern/mallocn.c
intern/iksolver/test/Makefile
source/Makefile
source/blender/CMakeLists.txt
source/blender/Makefile
source/blender/SConscript
source/blender/blenkernel/BKE_utildefines.h
source/blender/blenkernel/intern/blender.c
source/blender/blenkernel/intern/scene.c
source/blender/blenlib/intern/storage.c
source/blender/blenlib/intern/util.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/blenpluginapi/intern/Makefile
source/blender/editors/space_buttons/SConscript
source/blender/editors/space_info/SConscript
source/blender/editors/space_logic/SConscript
source/blender/gpu/intern/Makefile
source/blender/imbuf/intern/imbuf.h
source/blender/imbuf/intern/readimage.c
source/blender/makesdna/DNA_radio_types.h [deleted file]
source/blender/makesdna/DNA_scene_types.h
source/blender/makesdna/intern/makesdna.c
source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_internal.h
source/blender/makesrna/intern/rna_radio.c [deleted file]
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_world.c
source/blender/radiosity/CMakeLists.txt [deleted file]
source/blender/radiosity/Makefile [deleted file]
source/blender/radiosity/SConscript [deleted file]
source/blender/radiosity/extern/include/radio.h [deleted file]
source/blender/radiosity/extern/include/radio_types.h [deleted file]
source/blender/radiosity/intern/Makefile [deleted file]
source/blender/radiosity/intern/source/Makefile [deleted file]
source/blender/radiosity/intern/source/raddisplay.c [deleted file]
source/blender/radiosity/intern/source/radfactors.c [deleted file]
source/blender/radiosity/intern/source/radio.c [deleted file]
source/blender/radiosity/intern/source/radnode.c [deleted file]
source/blender/radiosity/intern/source/radpostprocess.c [deleted file]
source/blender/radiosity/intern/source/radpreprocess.c [deleted file]
source/blender/radiosity/intern/source/radrender.c [deleted file]
source/blender/render/extern/include/RE_render_ext.h
source/blender/render/intern/source/convertblender.c
source/blender/render/intern/source/pipeline.c
source/blender/render/intern/source/zbuf.c
source/blender/windowmanager/intern/wm_init_exit.c
source/gameengine/BlenderRoutines/Makefile
source/gameengine/BlenderRoutines/SConscript
source/gameengine/CMakeLists.txt
source/gameengine/Converter/BL_BlenderDataConversion.cpp
source/gameengine/Converter/KX_BlenderSceneConverter.cpp
source/gameengine/Converter/Makefile
source/gameengine/Converter/SConscript
source/gameengine/GamePlayer/common/Makefile
source/gameengine/GamePlayer/common/SConscript
source/gameengine/GamePlayer/common/unix/GPU_Engine.cpp
source/gameengine/GamePlayer/common/unix/Makefile
source/gameengine/GamePlayer/ghost/SConscript
source/gameengine/Ketsji/KX_ClientObjectInfo.h
source/gameengine/Ketsji/KX_ConvertPhysicsObject.h
source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
source/gameengine/Ketsji/KX_KetsjiEngine.cpp
source/gameengine/Ketsji/KX_OdePhysicsController.cpp [deleted file]
source/gameengine/Ketsji/KX_OdePhysicsController.h [deleted file]
source/gameengine/Ketsji/KX_SumoPhysicsController.cpp [deleted file]
source/gameengine/Ketsji/KX_SumoPhysicsController.h [deleted file]
source/gameengine/Ketsji/Makefile
source/gameengine/Ketsji/SConscript
source/gameengine/Physics/BlOde/Makefile [deleted file]
source/gameengine/Physics/BlOde/OdePhysicsController.cpp [deleted file]
source/gameengine/Physics/BlOde/OdePhysicsController.h [deleted file]
source/gameengine/Physics/BlOde/OdePhysicsEnvironment.cpp [deleted file]
source/gameengine/Physics/BlOde/OdePhysicsEnvironment.h [deleted file]
source/gameengine/Physics/BlOde/SConscript [deleted file]
source/gameengine/Physics/Dummy/Makefile
source/gameengine/Physics/Makefile
source/gameengine/Physics/Sumo/CMakeLists.txt [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/Makefile [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_Callback.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_ClientObjectInfo.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_Debug.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_FhObject.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_MotionState.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_Object.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_Props.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/include/SM_Scene.h [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/sample/Makefile [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/sample/particle.cpp [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/sample/particle0.cpp [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/src/Makefile [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/src/SM_FhObject.cpp [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/src/SM_MotionState.cpp [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/src/SM_Object.cpp [deleted file]
source/gameengine/Physics/Sumo/Fuzzics/src/SM_Scene.cpp [deleted file]
source/gameengine/Physics/Sumo/Makefile [deleted file]
source/gameengine/Physics/Sumo/SConscript [deleted file]
source/gameengine/Physics/Sumo/SumoPHYCallbackBridge.cpp [deleted file]
source/gameengine/Physics/Sumo/SumoPHYCallbackBridge.h [deleted file]
source/gameengine/Physics/Sumo/SumoPhysicsController.cpp [deleted file]
source/gameengine/Physics/Sumo/SumoPhysicsController.h [deleted file]
source/gameengine/Physics/Sumo/SumoPhysicsEnvironment.cpp [deleted file]
source/gameengine/Physics/Sumo/SumoPhysicsEnvironment.h [deleted file]
source/gameengine/Physics/Sumo/convert.txt [deleted file]
source/gameengine/Physics/Sumo/include/interpolator.h [deleted file]
source/gameengine/Physics/common/Makefile
source/gameengine/SConscript
source/nan_compile.mk
source/nan_definitions.mk
source/nan_link.mk
tools/btools.py

index 808fa09..b85bc79 100644 (file)
@@ -285,9 +285,7 @@ if 'blenderlite' in B.targets:
        target_env_defs['WITH_BF_SDL'] = False
        target_env_defs['WITH_BF_JPEG'] = False
        target_env_defs['WITH_BF_PNG'] = False
-       target_env_defs['WITH_BF_ODE'] = False
        target_env_defs['WITH_BF_BULLET'] = False
-       target_env_defs['WITH_BF_SOLID'] = False
        target_env_defs['WITH_BF_BINRELOC'] = False
        target_env_defs['BF_BUILDINFO'] = False
        target_env_defs['BF_NO_ELBEEM'] = True
index 080820f..785f1cb 100644 (file)
@@ -141,20 +141,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 WITH_BF_GAMEENGINE=True
 WITH_BF_PLAYER=True
 
-WITH_BF_ODE = False
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = '${BF_ODE}/include'
-BF_ODE_LIB = '${BF_ODE}/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 #WITH_BF_NSPR = True
 #BF_NSPR = $(LIBDIR)/nspr
 #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
index 3c8fd0d..87af6b2 100644 (file)
@@ -74,20 +74,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 
 WITH_BF_GAMEENGINE='false'
 
-WITH_BF_ODE = 'false'
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = 'true'
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 #WITH_BF_NSPR = 'true'
 #BF_NSPR = $(LIBDIR)/nspr
 #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
index 4cea4bb..86de10c 100644 (file)
@@ -77,20 +77,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 WITH_BF_GAMEENGINE = True
 WITH_BF_PLAYER = True
 
-WITH_BF_ODE = False
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 #WITH_BF_NSPR = True
 #BF_NSPR = $(LIBDIR)/nspr
 #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
index 2f15ef6..5e5c44e 100644 (file)
@@ -74,20 +74,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 
 WITH_BF_GAMEENGINE = False
 
-WITH_BF_ODE = True
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 BF_WINTAB = LIBDIR + '/wintab'
 BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
 
index f27066b..2b0621e 100644 (file)
@@ -61,20 +61,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 
 WITH_BF_GAMEENGINE=False
 
-WITH_BF_ODE = False
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = '${BF_ODE}/include'
-BF_ODE_LIB = '${BF_ODE}/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 #WITH_BF_NSPR = True
 #BF_NSPR = $(LIBDIR)/nspr
 #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
index e050a59..dc067b6 100644 (file)
@@ -69,20 +69,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 
 WITH_BF_GAMEENGINE=False
 
-WITH_BF_ODE = False
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 #WITH_BF_NSPR = True
 #BF_NSPR = $(LIBDIR)/nspr
 #BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
index 5b9b2f9..42e5641 100644 (file)
@@ -77,20 +77,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 
 WITH_BF_GAMEENGINE = False
 
-WITH_BF_ODE = True
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 BF_WINTAB = LIBDIR + '/wintab'
 BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
 
index 04e87a2..82babeb 100644 (file)
@@ -90,20 +90,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 WITH_BF_GAMEENGINE = True
 WITH_BF_PLAYER = True
 
-WITH_BF_ODE = True
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 BF_WINTAB = LIBDIR + '/wintab'
 BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
 
index fcc6f1a..83e27a8 100644 (file)
@@ -93,20 +93,11 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
 WITH_BF_GAMEENGINE = True
 WITH_BF_PLAYER = False
 
-WITH_BF_ODE = True
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
 WITH_BF_BULLET = True
 BF_BULLET = '#extern/bullet2/src'
 BF_BULLET_INC = '${BF_BULLET}'
 BF_BULLET_LIB = 'extern_bullet'
 
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
 BF_WINTAB = LIBDIR + '/wintab'
 BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
 
index 8dcace1..b6cfe3b 100644 (file)
 #
 # ***** END GPL LICENSE BLOCK *****
 
-IF(WITH_GAMEENGINE)
-  ADD_SUBDIRECTORY(qhull)
-  ADD_SUBDIRECTORY(solid)
-ENDIF(WITH_GAMEENGINE)
-
 IF(WITH_BULLET)
   ADD_SUBDIRECTORY(bullet2)
 ENDIF(WITH_BULLET)
index 8311006..61499da 100644 (file)
@@ -30,7 +30,7 @@ include nan_definitions.mk
 
 SOURCEDIR = extern
 DIR = $(OCGDIR)/extern
-DIRS = qhull/src solid glew/src
+DIRS = glew/src
 
 ifeq ($(WITH_FFMPEG), true)
 ifeq ($(NAN_FFMPEG), $(LCGDIR)/ffmpeg)
index 126f40b..175613c 100644 (file)
@@ -4,10 +4,6 @@ Import('env')
 
 SConscript(['glew/SConscript'])
 
-if env['WITH_BF_GAMEENGINE']:
-       if env['WITH_BF_SOLID']:
-               SConscript(['qhull/SConscript', 'solid/SConscript'])
-
 if env['WITH_BF_BULLET']:
     SConscript(['bullet2/src/SConscript'])
 
diff --git a/extern/qhull/CMakeLists.txt b/extern/qhull/CMakeLists.txt
deleted file mode 100644 (file)
index f2ac24a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# $Id$
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-# The Original Code is Copyright (C) 2006, Blender Foundation
-# All rights reserved.
-#
-# The Original Code is: all of this file.
-#
-# Contributor(s): Jacques Beaurain.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-SET(INC include src)
-
-SET(SRC
-  src/geom.c
-  src/geom2.c
-  src/global.c
-  src/io.c
-  src/mem.c
-  src/merge.c
-  src/poly.c
-  src/poly2.c
-  src/qhull.c
-  src/qset.c
-  src/stat.c
-  src/user.c
-)
-
-BLENDERLIB(extern_qhull "${SRC}" "${INC}")
-#, libtype=['game2','player'], priority=[50, 85]
diff --git a/extern/qhull/COPYING.txt b/extern/qhull/COPYING.txt
deleted file mode 100644 (file)
index 1334eba..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-                    Qhull, Copyright (c) 1993-2002
-
-       The National Science and Technology Research Center for
-        Computation and Visualization of Geometric Structures
-                        (The Geometry Center)
-                       University of Minnesota
-                            400 Lind Hall
-                        207 Church Street S.E.
-                      Minneapolis, MN 55455  USA
-
-                       email: qhull@geom.umn.edu
-
-This software includes Qhull from The Geometry Center.  Qhull is 
-copyrighted as noted above.  Qhull is free software and may be obtained 
-via http from www.geom.umn.edu.  It may be freely copied, modified, 
-and redistributed under the following conditions:
-
-1. All copyright notices must remain intact in all files.
-
-2. A copy of this text file must be distributed along with any copies 
-   of Qhull that you redistribute; this includes copies that you have 
-   modified, or copies of programs or other software products that 
-   include Qhull.
-
-3. If you modify Qhull, you must include a notice giving the
-   name of the person performing the modification, the date of
-   modification, and the reason for such modification.
-
-4. When distributing modified versions of Qhull, or other software 
-   products that include Qhull, you must provide notice that the original 
-   source code may be obtained as noted above.
-
-5. There is no warranty or other guarantee of fitness for Qhull, it is 
-   provided solely "as is".  Bug reports or fixes may be sent to 
-   qhull_bug@geom.umn.edu; the authors may or may not act on them as 
-   they desire.
-
diff --git a/extern/qhull/README.txt b/extern/qhull/README.txt
deleted file mode 100644 (file)
index 9ef958a..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-Name
-
-      qhull, rbox         2002.1           August 20, 2002
-  
-Convex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection
-      Documentation:
-        html/index.htm
-
-      Available from:
-        <http://www.geom.umn.edu/software/qhull>
-       <http://savannah.gnu.org/projects/qhull>
-       <http://www.thesa.com/software/qhull>
-
-      Version 1 (simplicial only):
-        <http://www.geom.umn.edu/software/qhull/qhull-1.0.tar.gz>
-        <http://www.geom.umn.edu/software/qhull/qhull.sit.hqx>
-       
-      News and a paper:
-        <http://www.geom.umn.edu/~bradb/qhull-news.html>
-        <http://www.geom.umn.edu/software/qhull/qhull-96.ps>
-
-Purpose
-
-  Qhull is a general dimension convex hull program that reads a set 
-  of points from stdin, and outputs the smallest convex set that contains 
-  the points to stdout.  It also generates Delaunay triangulations, Voronoi 
-  diagrams, furthest-site Voronoi diagrams, and halfspace intersections
-  about a point.  
-
-  Rbox is a useful tool in generating input for Qhull; it generates 
-  hypercubes, diamonds, cones, circles, simplices, spirals, 
-  lattices, and random points.
-  
-  Qhull produces graphical output for Geomview.  This helps with
-  understanding the output. <http://www.geomview.org>
-
-    
-Environment requirements
-
-  Qhull and rbox should run on all 32-bit and 64-bit computers.  Use
-  an ANSI C or C++ compiler to compile the program.  The software is 
-  self-contained.  
-  
-  Qhull is copyrighted software.  Please read COPYING.txt and REGISTER.txt
-  before using or distributing Qhull.
-
-To contribute to Qhull
-
-  Qhull is on Savannah, http://savannah.gnu.org/projects/qhull/
-
-Qhull on Windows 95, 98, ME, NT, 2000, XP
-
-  The zip file contains rbox.exe, qhull.exe, qconvex.exe, qdelaunay.exe, 
-  qhalf.exe, qvoronoi.exe, documentation files, and source files.
-  
-  To install Qhull:
-  - Unzip the files into a directory.  You may use WinZip32 <www.hotfiles.com>
-  - Open a DOS window for the directory.  
-  - In Windows 95, the DOS window needs improvement.
-      - Double-click on qhull\eg\qhull-go.bat to call doskey (arrow keys).
-      - Increase the size of the screen font to 8x12.
-      - If the text is too dim, fix the screen colors with shareware (e.g., crt.exe)
-  - If you use qhull a lot, consider using the Cygwin Unix shell,
-        Cygwin tools (http://sources.redhat.com/cygwin/)
-  - Execute 'qconvex' for a synopsis and examples.
-  - Execute 'rbox 10 | qconvex' to compute the convex hull of 10 random points.
-  - Execute 'rbox 10 | qconvex i TO file' to write results to 'file'. 
-  - If an error occurs, Windows 95 sends the error to stdout instead of stderr 
-      - use 'TO xxx' to send normal output to xxx and error output to stdout
-  - Browse the documentation: qhull\html\index.htm
-
-Compiling for Unix
-
-  The gzip file, qhull.tgz, contains documentation and source files for
-  qhull and rbox.  
-  
-  To unpack the gzip file
-  - tar zxf qhull.tgz
-  - cd qhull
-  
-  Compiling with the Debian Make:[R. Laboissiere]
-  - cd src
-  - ./Make-config.sh
-  - cd ..
-  - configure
-  - make
-
-  Compiling with Makefile (i.e., Makefile.txt)   
-  - cd src
-  - in Makefile, check the CC, CCOPTS1, PRINTMAN, and PRINTC defines
-      - the defaults are gcc and enscript
-      - CCOPTS1 should include the ANSI flag.  It defines __STDC__
-  - in user.h, check the definitions of qh_SECticks and qh_CPUclock.
-      - use '#define qh_CLOCKtype 2' for timing runs longer than 1 hour
-  - type: make 
-      - this builds: qhull qconvex qdelaunay qhalf qvoronoi rbox libqhull.a
-  - type: make doc
-      - this prints the man page
-      - See also qhull/html/index.htm
-  - if your compiler reports many errors, it is probably not a ANSI C compiler
-      - you will need to set the -ansi switch or find another compiler
-  - if your compiler warns about missing prototypes for fprintf() etc.
-      - this is ok, your compiler should have these in stdio.h
-  - if your compiler warns about missing prototypes for memset() etc.
-      - include memory.h in qhull_a.h
-  - if your compiler is gcc-2.95.1, you need to set flag -fno-strict-aliasing.  
-      - This flag is set by default for other versions [Karas, Krishnaswami]
-  - if your compiler reports "global.c: storage size of 'qh_qh' isn't known"
-      - delete the initializer "={0}" in global.c, stat.c and mem.c
-  - if your compiler warns about "stat.c: improper initializer"
-      - this is ok, the initializer is not used
-  - if you have trouble building libqhull.a with 'ar'
-      - try 'make -f Makefile.txt qhullx' 
-  - if the code compiles, the qhull test case will automatically execute
-  - if an error occurs, there's an incompatibility between machines
-      - For gcc-2.95.1, you need to set flag -fno-strict-aliasing.
-           It is set by default for other versions of gcc [Karas, Krishnaswami]
-      - If you can, try a different compiler 
-      - You can turn off the Qhull memory manager with qh_NOmem in mem.h
-      - You can turn off compiler optimization (-O2 in Makefile)
-      - If you find the source of the problem, please let us know
-  - if you have Geomview (www.geomview.org)
-       - try  'rbox 100 | qconvex G >a' and load 'a' into Geomview
-       - run 'q_eg' for Geomview examples of Qhull output (see qh-eg.htm)
-  - to install the programs and their man pages:
-      - define MANDIR and BINDIR
-      - type 'make install'
-
-Compiling for Windows NT, 2000, XP with cygwin (www.cygwin.com)
-
-    - install cygwin with gcc, make, ar, and ln
-    - cd qhull/src
-    - make -f Makefile.txt
-
-Compiling for Windows 95, 98, NT, 2000, XP
-
-  Qhull compiles as a console application in Visual C++ 5.0 at warning 
-  level 3.
-
-  Visual C++ quickstart for qhull.exe:  
-    - create a "Win32 console application" called "qhull"
-       - add the following files:
-           geom.c geom2.c global.c io.c mem.c merge.c poly.c poly2.c qhull.c
-               qset.c stat.c unix.c user.c
-    - create a "Win32 console application" called "rbox" 
-       - add rbox.c
-
-  Visual C++ quickstart for qhull library, qconvex.exe, etc.
-    - To simplify setting up lots of projects, 
-       - create a temporary "Win32 console application" called "source"
-       - add all .c files from .../src/...
-       - In Tools::Options::Tab
-         Set tab size to 8 and indent size to 2
-
-    - create a "Win32 console application" called "rbox"
-       - move rbox.c from "qhull source"
-       - for Project:Settings..., Link
-         you only need the default libraries
-       - build the project
-
-    - create a "Win32 static library" called "library"
-       - move these files from "qhull source"
-           geom.c geom2.c global.c io.c mem.c merge.c poly.c poly2.c qhull.c
-               qset.c stat.c user.c
-       - set the library file (use the same for debug and release)
-       - build the project
-
-    - create a "Win32 console application" called "qhull"
-       - move unix.c from "qhull source"
-       - Set the library file in Project:Settings..., Link
-       - Qhull does not use other libraries
-
-    - create a "Win32 console application" called "qconvex"
-       - move qconvex.c from "qhull source"
-       - Set the library file in Project:Settings..., Link
-
-    - do the same for qdelaun.c, qhalf, qvoronoi.c, user_eg.c, user_eg2.c
-       - delete "qhull sources" since it is no longer needed
-       - Set the library file in Project:Settings..., Link
-       - use Project:Settings to make any changes
-       - use batch build to rebuild everything
-  
-  Qhull compiles with Borland C++ 5.0 bcc32.  A Makefile is included.
-  Execute 'make -f MBorland'.  If you use the Borland IDE, set the ANSI
-  option in Options:Project:Compiler:Source:Language-compliance.
-  
-  Qhull compiles with Borland C++ 4.02 for Win32 and DOS Power Pack.  
-  Use 'make -f MBorland -D_DPMI'.  Qhull 1.0 compiles with Borland 
-  C++ 4.02.  For rbox 1.0, use "bcc32 -WX -w- -O2-e -erbox -lc rbox.c".  
-  Use the same options for Qhull 1.0. [D. Zwick]
-  
-  Qhull compiles with Metrowerks C++ 1.7 with the ANSI option.
-
-  If you turn on full warnings, the compiler will report a number of 
-  unused variables, variables set but not used, and dead code.  These are
-  intentional.  For example, variables may be initialized (unnecessarily)
-  to prevent warnings about possible use of uninitialized variables.  
-
-Compiling for the Power Macintosh
-
-  Qhull compiles for the Power Macintosh with Metrowerk's C compiler.
-  It uses the SIOUX interface to read point coordinates and return output.
-  There is no graphical output.  For project files, see 'Compiling for
-  Windows 95'.  Instead of using SIOUX, Qhull may be embedded within an 
-  application.  
-
-  Version 1 is available for Macintosh computers by download of qhull.sit.hqx
-  It reads point coordinates from a standard file and returns output
-  to a standard file.  There is no graphical output.
-
-
-Compiling for other machines
-  Some users have reported problems with compiling Qhull under Irix 5.1.  It
-  compiles under other versions of Irix. 
-  
-  If you have troubles with the memory manager, you can turn it off by
-  defining qh_NOmem in mem.h.
-
-  You may compile Qhull with a C++ compiler.  
-
-
-Distributed files
-
-  README.txt           // instructions for installing Qhull 
-  REGISTER.txt         // Qhull registration 
-  COPYING.txt          // copyright notice 
-  Announce.txt         // announcement 
-  Changes.txt          // change history for Qhull and rbox 
-  qh-faq.htm           // Frequently asked questions
-  qh-home.htm          // Home page 
-  qh-get.htm          // Download page
-  html/index.htm       // Manual
-  Makefile.txt         // Makefile for Unix or cygwin 'make' 
-  MBorland             // Makefile for Borland C++/Win32
-  Make-config.sh       // Create Debian configure and automake
-src/      
-  rbox consists of:
-     rbox.exe          // Win32 executable (.zip only) 
-     rbox.htm          // html manual 
-     rbox.man          // Unix man page 
-     rbox.txt
-     rbox.c            // source program 
-     
-  qhull consists of:
-     qhull.exe         // Win32 executables (.zip only) 
-     qconvex.exe
-     qdelaunay.exe
-     qhalf.exe
-     qvoronoi.exe
-     qhull-go.bat      // DOS window
-     qconvex.htm       // html manuals
-     qdelaun.htm
-     qdelau_f.htm        
-     qhalf.htm
-     qvoronoi.htm
-     qvoron_f.htm
-     qh-eg.htm
-     qh-impre.htm
-     qh-in.htm
-     index.htm
-     qh-opt*.htm
-     qh-quick.htm
-     qh--4d.gif,etc.   // images for manual 
-     qhull.man         // Unix man page 
-     qhull.txt
-     q_eg              // shell script for Geomview examples
-     q_egtest          // shell script for Geomview test examples
-     q_test            // shell script to test qhull
-  
-  top-level source files:
-     src/index.htm     // index to source files 
-        qh-...htm         //   specific files
-     user.h            // header file of user definable constants 
-     qhull.h           // header file for qhull 
-     unix.c            // Unix front end to qhull 
-     qhull.c           // Quickhull algorithm with partitioning 
-     user.c            // user re-definable functions 
-     user_eg.c         // example of incorporating qhull into a user program 
-     user_eg2.c        // more complex example 
-     qhull_interface.cpp // call Qhull from C++
-
-  other source files:
-     qhull_a.h         // include file for *.c 
-     geom.c            // geometric routines 
-     geom2.c
-     geom.h    
-     global.c          // global variables 
-     io.c              // input-output routines 
-     io.h
-     mem.c             // memory routines, this is stand-alone code 
-     mem.h
-     merge.c           // merging of non-convex facets 
-     merge.h
-     poly.c            // polyhedron routines 
-     poly2.c
-     poly.h 
-     qset.c            // set routines, this only depends on mem.c 
-     qset.h
-     stat.c            // statistics 
-     stat.h
-
-Authors:
-
-  C. Bradford Barber                    Hannu Huhdanpaa
-  bradb@geom.umn.edu                    hannu@geom.umn.edu
-  
-                    c/o The Geometry Center
-                    University of Minnesota
-                    400 Lind Hall
-                    207 Church Street S.E.
-                    Minneapolis, MN 55455
-  
-  This software was developed under NSF grants NSF/DMS-8920161 and
-  NSF-CCR-91-15793 750-7504 at the Geometry Center and Harvard 
-  University.  If you find Qhull useful, please let us know.
diff --git a/extern/qhull/REGISTER.txt b/extern/qhull/REGISTER.txt
deleted file mode 100644 (file)
index 767eb1c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-Dear User of Geometry Center Software:
-
-We would like to find out how you are using our software.  Think of
-Geometry Center software as a new kind of shareware: you share your
-science and successes with us, and we share our software and support
-with you. 
-
-If you use Geometry Center software, please send us a note telling
-us what you are doing with it.
-
-We need to know:
-
-  (1) What you are working on - an abstract of your work would be
-      fine.
-
-  (2) What Geometry Center software you use.
-
-  (3) How that software has helped you, for example, by increasing
-      your productivity or allowing you to do things you could not do
-      before.  In particular, if you feel that Geometry Center
-      software has had a direct bearing on your work, please tell us
-      about this.
-
-We encourage you to cite the use of any Geometry Center software you
-have used in your publications.  
-
-To cite Qhull, use
-
-    Barber, C.B., Dobkin, D.P., and Huhdanpaa, H.T., "The Quickhull 
-       algorithm for convex hulls," ACM Trans. on Mathematical Software,
-       Dec 1996.  http://www.geom.umn.edu/software/qhull
-
-Please send e-mail to
-
-    qhull@geom.umn.edu
-
-Thank you!
diff --git a/extern/qhull/SConscript b/extern/qhull/SConscript
deleted file mode 100644 (file)
index d3db67c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/python
-import sys
-import os
-
-Import('env')
-defs = ''
-cflags = []
-if sys.platform=='linux2' or sys.platform=='linux-i386':
-   cflags += ['-O2','-ansi']
-elif env['OURPLATFORM']=='win32-vc':
-   cflags += ['/O2']
-elif env['OURPLATFORM']=='win32-mingw':
-   cflags += ['-O2']
-elif sys.platform=='sunos5':
-   cflags += ['-O2', '-ansi']
-elif sys.platform=='darwin':
-   cflags += ['-O2', '-pipe', '-fPIC', '-funsigned-char', '-ffast-math']
-
-sources = ['src/geom.c',
-    'src/geom2.c',
-    'src/global.c',
-    'src/io.c',
-    'src/mem.c',
-    'src/merge.c',
-    'src/poly.c',
-    'src/poly2.c',
-    'src/qhull.c',
-    'src/qset.c',
-    'src/stat.c',
-    'src/user.c']
-
-
-incs = 'include src'
-
-env.BlenderLib ( 'extern_qhull', sources, Split(incs), Split(defs), libtype=['extern'], priority=[50], compileflags = cflags)
diff --git a/extern/qhull/VisualC6/qhull.dsw b/extern/qhull/VisualC6/qhull.dsw
deleted file mode 100644 (file)
index 96c68d8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "qhull"=".\qhull\qhull.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/extern/qhull/VisualC6/qhull/qhull.dsp b/extern/qhull/VisualC6/qhull/qhull.dsp
deleted file mode 100644 (file)
index 6e059b0..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-# Microsoft Developer Studio Project File - Name="qhull" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=qhull - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "qhull.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "qhull.mak" CFG="qhull - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "qhull - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "qhull - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "qhull - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-LINK32=cwlink.exe
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=XCOPY   /Y   ..\..\include\qhull\*.h   ..\..\..\..\..\lib\windows\qhull\include\qhull\          XCOPY   /Y   Release\*.lib   ..\..\..\..\..\lib\windows\qhull\lib\ 
-# End Special Build Tool
-
-!ELSEIF  "$(CFG)" == "qhull - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-LINK32=cwlink.exe
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MT /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=XCOPY   /Y   ..\..\include\qhull\*.h   ..\..\..\..\..\lib\windows\qhull\include\qhull\          XCOPY   /Y   Debug\*.lib   ..\..\..\..\..\lib\windows\qhull\lib\Debug\ 
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "qhull - Win32 Release"
-# Name "qhull - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\src\geom.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\geom2.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\global.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\io.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\mem.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\merge.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\poly.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\poly2.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\qhull.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\qset.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\stat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\user.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\src\geom.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\io.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\mem.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\merge.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\poly.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\qhull.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\qhull_a.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\qset.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\stat.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\src\user.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/extern/qhull/include/qhull/geom.h b/extern/qhull/include/qhull/geom.h
deleted file mode 100644 (file)
index 32440cf..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/*<html><pre>  -<a                             href="qh-geom.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-  geom.h 
-    header file for geometric routines
-
-   see qh-geom.htm and geom.c
-
-   copyright (c) 1993-2002 The Geometry Center        
-*/
-
-#ifndef qhDEFgeom
-#define qhDEFgeom 1
-
-/* ============ -macros- ======================== */
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="fabs_">-</a>
-   
-  fabs_(a)
-    returns the absolute value of a
-*/
-#define fabs_( a ) ((( a ) < 0 ) ? -( a ):( a ))
-               
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="fmax_">-</a>
-  
-  fmax_(a,b)
-    returns the maximum value of a and b
-*/
-#define fmax_( a,b )  ( ( a ) < ( b ) ? ( b ) : ( a ) )
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="fmin_">-</a>
-
-  fmin_(a,b)
-    returns the minimum value of a and b
-*/
-#define fmin_( a,b )  ( ( a ) > ( b ) ? ( b ) : ( a ) )
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="maximize_">-</a>
-
-  maximize_(maxval, val)
-    set maxval to val if val is greater than maxval
-*/
-#define maximize_( maxval, val ) {if (( maxval ) < ( val )) ( maxval )= ( val );}
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="minimize_">-</a>
-
-  minimize_(minval, val)
-    set minval to val if val is less than minval
-*/
-#define minimize_( minval, val ) {if (( minval ) > ( val )) ( minval )= ( val );}
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="det2_">-</a>
-
-  det2_(a1, a2,     
-        b1, b2)
-  
-    compute a 2-d determinate
-*/
-#define det2_( a1,a2,b1,b2 ) (( a1 )*( b2 ) - ( a2 )*( b1 ))
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="det3_">-</a>
-  
-  det3_(a1, a2, a3,    
-       b1, b2, b3,
-       c1, c2, c3)
-  
-    compute a 3-d determinate
-*/
-#define det3_( a1,a2,a3,b1,b2,b3,c1,c2,c3 ) ( ( a1 )*det2_( b2,b3,c2,c3 ) \
-                - ( b1 )*det2_( a2,a3,c2,c3 ) + ( c1 )*det2_( a2,a3,b2,b3 ) )
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="dX">-</a>
-  
-  dX( p1, p2 )
-  dY( p1, p2 )
-  dZ( p1, p2 )
-  
-    given two indices into rows[],
-
-    compute the difference between X, Y, or Z coordinates
-*/
-#define dX( p1,p2 )  ( *( rows[p1] ) - *( rows[p2] ))
-#define dY( p1,p2 )  ( *( rows[p1]+1 ) - *( rows[p2]+1 ))
-#define dZ( p1,p2 )  ( *( rows[p1]+2 ) - *( rows[p2]+2 ))
-#define dW( p1,p2 )  ( *( rows[p1]+3 ) - *( rows[p2]+3 ))
-
-/*============= prototypes in alphabetical order, infrequent at end ======= */
-
-void    qh_backnormal (realT **rows, int numrow, int numcol, boolT sign, coordT *normal, boolT *nearzero);
-void   qh_distplane (pointT *point, facetT *facet, realT *dist);
-facetT *qh_findbest (pointT *point, facetT *startfacet,
-                    boolT bestoutside, boolT isnewfacets, boolT noupper,
-                    realT *dist, boolT *isoutside, int *numpart);
-facetT *qh_findbesthorizon (boolT ischeckmax, pointT *point, 
-                    facetT *startfacet, boolT noupper, realT *bestdist, int *numpart);
-facetT *qh_findbestnew (pointT *point, facetT *startfacet, realT *dist, 
-                    boolT bestoutside, boolT *isoutside, int *numpart);
-void   qh_gausselim(realT **rows, int numrow, int numcol, boolT *sign, boolT *nearzero);
-realT   qh_getangle(pointT *vect1, pointT *vect2);
-pointT *qh_getcenter(setT *vertices);
-pointT *qh_getcentrum(facetT *facet);
-realT   qh_getdistance(facetT *facet, facetT *neighbor, realT *mindist, realT *maxdist);
-void    qh_normalize (coordT *normal, int dim, boolT toporient);
-void    qh_normalize2 (coordT *normal, int dim, boolT toporient, 
-            realT *minnorm, boolT *ismin);
-pointT *qh_projectpoint(pointT *point, facetT *facet, realT dist);
-
-void    qh_setfacetplane(facetT *newfacets);
-void   qh_sethyperplane_det (int dim, coordT **rows, coordT *point0, 
-              boolT toporient, coordT *normal, realT *offset, boolT *nearzero);
-void   qh_sethyperplane_gauss (int dim, coordT **rows, pointT *point0, 
-            boolT toporient, coordT *normal, coordT *offset, boolT *nearzero);
-boolT   qh_sharpnewfacets (void);
-
-/*========= infrequently used code in geom2.c =============*/
-
-
-coordT *qh_copypoints (coordT *points, int numpoints, int dimension);
-void    qh_crossproduct (int dim, realT vecA[3], realT vecB[3], realT vecC[3]);
-realT  qh_determinant (realT **rows, int dim, boolT *nearzero);
-realT   qh_detjoggle (pointT *points, int numpoints, int dimension);
-void    qh_detroundoff (void);
-realT   qh_detsimplex(pointT *apex, setT *points, int dim, boolT *nearzero);
-realT   qh_distnorm (int dim, pointT *point, pointT *normal, realT *offsetp);
-realT   qh_distround (int dimension, realT maxabs, realT maxsumabs);
-realT   qh_divzero(realT numer, realT denom, realT mindenom1, boolT *zerodiv);
-realT   qh_facetarea (facetT *facet);
-realT   qh_facetarea_simplex (int dim, coordT *apex, setT *vertices, 
-          vertexT *notvertex,  boolT toporient, coordT *normal, realT *offset);
-pointT *qh_facetcenter (setT *vertices);
-facetT *qh_findgooddist (pointT *point, facetT *facetA, realT *distp, facetT **facetlist);
-void    qh_getarea (facetT *facetlist);
-boolT   qh_gram_schmidt(int dim, realT **rows);
-boolT   qh_inthresholds (coordT *normal, realT *angle);
-void    qh_joggleinput (void);
-realT  *qh_maxabsval (realT *normal, int dim);
-setT   *qh_maxmin(pointT *points, int numpoints, int dimension);
-realT   qh_maxouter (void);
-void    qh_maxsimplex (int dim, setT *maxpoints, pointT *points, int numpoints, setT **simplex);
-realT   qh_minabsval (realT *normal, int dim);
-int     qh_mindiff (realT *vecA, realT *vecB, int dim);
-boolT   qh_orientoutside (facetT *facet);
-void    qh_outerinner (facetT *facet, realT *outerplane, realT *innerplane);
-coordT  qh_pointdist(pointT *point1, pointT *point2, int dim);
-void    qh_printmatrix (FILE *fp, char *string, realT **rows, int numrow, int numcol);
-void    qh_printpoints (FILE *fp, char *string, setT *points);
-void    qh_projectinput (void);
-void   qh_projectpoints (signed char *project, int n, realT *points, 
-             int numpoints, int dim, realT *newpoints, int newdim);
-int     qh_rand( void);
-void    qh_srand( int seed);
-realT   qh_randomfactor (void);
-void    qh_randommatrix (realT *buffer, int dim, realT **row);
-void    qh_rotateinput (realT **rows);
-void    qh_rotatepoints (realT *points, int numpoints, int dim, realT **rows);
-void    qh_scaleinput (void);
-void    qh_scalelast (coordT *points, int numpoints, int dim, coordT low,
-                  coordT high, coordT newhigh);
-void   qh_scalepoints (pointT *points, int numpoints, int dim,
-               realT *newlows, realT *newhighs);
-boolT   qh_sethalfspace (int dim, coordT *coords, coordT **nextp, 
-              coordT *normal, coordT *offset, coordT *feasible);
-coordT *qh_sethalfspace_all (int dim, int count, coordT *halfspaces, pointT *feasible);
-pointT *qh_voronoi_center (int dim, setT *points);
-
-#endif /* qhDEFgeom */
-
-
-
diff --git a/extern/qhull/include/qhull/io.h b/extern/qhull/include/qhull/io.h
deleted file mode 100644 (file)
index 351d56b..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-/*<html><pre>  -<a                             href="qh-io.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   io.h 
-   declarations of Input/Output functions
-
-   see README, qhull.h and io.c
-
-   copyright (c) 1993-2002, The Geometry Center
-*/
-
-#ifndef qhDEFio
-#define qhDEFio 1
-
-/*============ constants and flags ==================*/
-
-/*-<a                             href="qh-io.htm#TOC"
-  >--------------------------------</a><a name="qh_MAXfirst">-</a>
-  
-  qh_MAXfirst
-    maximum length of first two lines of stdin
-*/
-#define qh_MAXfirst  200
-
-/*-<a                             href="qh-io.htm#TOC"
-  >--------------------------------</a><a name="qh_MINradius">-</a>
-  
-  qh_MINradius
-    min radius for Gp and Gv, fraction of maxcoord
-*/
-#define qh_MINradius 0.02
-
-/*-<a                             href="qh-io.htm#TOC"
-  >--------------------------------</a><a name="qh_GEOMepsilon">-</a>
-  
-  qh_GEOMepsilon
-    adjust outer planes for 'lines closer' and geomview roundoff.  
-    This prevents bleed through.
-*/
-#define qh_GEOMepsilon 2e-3
-
-/*-<a                             href="qh-io.htm#TOC"
-  >--------------------------------</a><a name="qh_WHITESPACE">-</a>
-  
-  qh_WHITESPACE
-    possible values of white space
-*/
-#define qh_WHITESPACE " \n\t\v\r\f"
-
-
-/*-<a                             href="qh-io.htm#TOC"
-  >--------------------------------</a><a name="RIDGE">-</a>
-  
-  qh_RIDGE
-    to select which ridges to print in qh_eachvoronoi
-*/
-typedef enum
-{
-    qh_RIDGEall = 0, qh_RIDGEinner, qh_RIDGEouter
-}
-qh_RIDGE;
-
-/*-<a                             href="qh-io.htm#TOC"
-  >--------------------------------</a><a name="printvridgeT">-</a>
-  
-  printvridgeT
-    prints results of qh_printvdiagram
-
-  see:
-    <a href="io.c#printvridge">qh_printvridge</a> for an example
-*/
-typedef void (*printvridgeT)(FILE *fp, vertexT *vertex, vertexT *vertexA, setT *centers, boolT unbounded);
-
-/*============== -prototypes in alphabetical order =========*/
-
-void    dfacet( unsigned id);
-void    dvertex( unsigned id);
-void    qh_countfacets (facetT *facetlist, setT *facets, boolT printall, 
-              int *numfacetsp, int *numsimplicialp, int *totneighborsp, 
-              int *numridgesp, int *numcoplanarsp, int *numnumtricoplanarsp);
-pointT *qh_detvnorm (vertexT *vertex, vertexT *vertexA, setT *centers, realT *offsetp);
-setT   *qh_detvridge (vertexT *vertex);
-setT   *qh_detvridge3 (vertexT *atvertex, vertexT *vertex);
-int     qh_eachvoronoi (FILE *fp, printvridgeT printvridge, vertexT *atvertex, boolT visitall, qh_RIDGE innerouter, boolT inorder);
-int     qh_eachvoronoi_all (FILE *fp, printvridgeT printvridge, boolT isupper, qh_RIDGE innerouter, boolT inorder);
-void   qh_facet2point(facetT *facet, pointT **point0, pointT **point1, realT *mindist);
-setT   *qh_facetvertices (facetT *facetlist, setT *facets, boolT allfacets);
-void    qh_geomplanes (facetT *facet, realT *outerplane, realT *innerplane);
-void    qh_markkeep (facetT *facetlist);
-setT   *qh_markvoronoi (facetT *facetlist, setT *facets, boolT printall, boolT *islowerp, int *numcentersp);
-void    qh_order_vertexneighbors(vertexT *vertex);
-void   qh_printafacet(FILE *fp, int format, facetT *facet, boolT printall);
-void    qh_printbegin (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
-void   qh_printcenter (FILE *fp, int format, char *string, facetT *facet);
-void    qh_printcentrum (FILE *fp, facetT *facet, realT radius);
-void    qh_printend (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
-void    qh_printend4geom (FILE *fp, facetT *facet, int *num, boolT printall);
-void    qh_printextremes (FILE *fp, facetT *facetlist, setT *facets, int printall);
-void    qh_printextremes_2d (FILE *fp, facetT *facetlist, setT *facets, int printall);
-void    qh_printextremes_d (FILE *fp, facetT *facetlist, setT *facets, int printall);
-void   qh_printfacet(FILE *fp, facetT *facet);
-void   qh_printfacet2math(FILE *fp, facetT *facet, int notfirst);
-void   qh_printfacet2geom(FILE *fp, facetT *facet, realT color[3]);
-void    qh_printfacet2geom_points(FILE *fp, pointT *point1, pointT *point2,
-                              facetT *facet, realT offset, realT color[3]);
-void   qh_printfacet3math (FILE *fp, facetT *facet, int notfirst);
-void   qh_printfacet3geom_nonsimplicial(FILE *fp, facetT *facet, realT color[3]);
-void   qh_printfacet3geom_points(FILE *fp, setT *points, facetT *facet, realT offset, realT color[3]);
-void   qh_printfacet3geom_simplicial(FILE *fp, facetT *facet, realT color[3]);
-void   qh_printfacet3vertex(FILE *fp, facetT *facet, int format);
-void   qh_printfacet4geom_nonsimplicial(FILE *fp, facetT *facet, realT color[3]);
-void   qh_printfacet4geom_simplicial(FILE *fp, facetT *facet, realT color[3]);
-void   qh_printfacetNvertex_nonsimplicial(FILE *fp, facetT *facet, int id, int format);
-void   qh_printfacetNvertex_simplicial(FILE *fp, facetT *facet, int format);
-void    qh_printfacetheader(FILE *fp, facetT *facet);
-void    qh_printfacetridges(FILE *fp, facetT *facet);
-void   qh_printfacets(FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
-void   qh_printhelp_degenerate(FILE *fp);
-void   qh_printhelp_singular(FILE *fp);
-void   qh_printhyperplaneintersection(FILE *fp, facetT *facet1, facetT *facet2,
-                  setT *vertices, realT color[3]);
-void   qh_printneighborhood (FILE *fp, int format, facetT *facetA, facetT *facetB, boolT printall);
-void    qh_printline3geom (FILE *fp, pointT *pointA, pointT *pointB, realT color[3]);
-void   qh_printpoint(FILE *fp, char *string, pointT *point);
-void   qh_printpointid(FILE *fp, char *string, int dim, pointT *point, int id);
-void    qh_printpoint3 (FILE *fp, pointT *point);
-void    qh_printpoints_out (FILE *fp, facetT *facetlist, setT *facets, int printall);
-void    qh_printpointvect (FILE *fp, pointT *point, coordT *normal, pointT *center, realT radius, realT color[3]);
-void    qh_printpointvect2 (FILE *fp, pointT *point, coordT *normal, pointT *center, realT radius);
-void   qh_printridge(FILE *fp, ridgeT *ridge);
-void    qh_printspheres(FILE *fp, setT *vertices, realT radius);
-void    qh_printvdiagram (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
-int     qh_printvdiagram2 (FILE *fp, printvridgeT printvridge, setT *vertices, qh_RIDGE innerouter, boolT inorder);
-void   qh_printvertex(FILE *fp, vertexT *vertex);
-void   qh_printvertexlist (FILE *fp, char* string, facetT *facetlist,
-                         setT *facets, boolT printall);
-void   qh_printvertices (FILE *fp, char* string, setT *vertices);
-void    qh_printvneighbors (FILE *fp, facetT* facetlist, setT *facets, boolT printall);
-void    qh_printvoronoi (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
-void    qh_printvnorm (FILE *fp, vertexT *vertex, vertexT *vertexA, setT *centers, boolT unbounded);
-void    qh_printvridge (FILE *fp, vertexT *vertex, vertexT *vertexA, setT *centers, boolT unbounded);
-void   qh_produce_output(void);
-void    qh_projectdim3 (pointT *source, pointT *destination);
-int     qh_readfeasible (int dim, char *remainder);
-coordT *qh_readpoints(int *numpoints, int *dimension, boolT *ismalloc);
-void    qh_setfeasible (int dim);
-boolT  qh_skipfacet(facetT *facet);
-
-#endif /* qhDEFio */
diff --git a/extern/qhull/include/qhull/mem.h b/extern/qhull/include/qhull/mem.h
deleted file mode 100644 (file)
index e9ebd1b..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*<html><pre>  -<a                             href="qh-mem.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   mem.h 
-     prototypes for memory management functions
-
-   see qh-mem.htm, mem.c and qset.h
-
-   for error handling, writes message and calls
-     qh_errexit (qhmem_ERRmem, NULL, NULL) if insufficient memory
-       and
-     qh_errexit (qhmem_ERRqhull, NULL, NULL) otherwise
-
-   copyright (c) 1993-2002, The Geometry Center
-*/
-
-#ifndef qhDEFmem
-#define qhDEFmem
-
-/*-<a                             href="qh-mem.htm#TOC"
-  >-------------------------------</a><a name="NOmem">-</a>
-  
-  qh_NOmem
-    turn off quick-fit memory allocation
-
-  notes:
-    mem.c implements Quickfit memory allocation for about 20% time
-    savings.  If it fails on your machine, try to locate the
-    problem, and send the answer to qhull@geom.umn.edu.  If this can
-    not be done, define qh_NOmem to use malloc/free instead.
-
-   #define qh_NOmem
-*/
-
-/*-------------------------------------------
-    to avoid bus errors, memory allocation must consider alignment requirements.
-    malloc() automatically takes care of alignment.   Since mem.c manages
-    its own memory, we need to explicitly specify alignment in
-    qh_meminitbuffers().
-
-    A safe choice is sizeof(double).  sizeof(float) may be used if doubles 
-    do not occur in data structures and pointers are the same size.  Be careful
-    of machines (e.g., DEC Alpha) with large pointers.  If gcc is available, 
-    use __alignof__(double) or fmax_(__alignof__(float), __alignof__(void *)).
-
-   see <a href="user.h#MEMalign">qh_MEMalign</a> in user.h for qhull's alignment
-*/
-
-#define qhmem_ERRmem 4    /* matches qh_ERRmem in qhull.h */
-#define qhmem_ERRqhull 5  /* matches qh_ERRqhull in qhull.h */
-
-/*-<a                             href="qh-mem.htm#TOC"
-  >--------------------------------</a><a name="ptr_intT">-</a>
-  
-  ptr_intT
-    for casting a void* to an integer-type
-  
-  notes:
-    On 64-bit machines, a pointer may be larger than an 'int'.  
-    qh_meminit() checks that 'long' holds a 'void*'
-*/
-typedef unsigned long ptr_intT;
-
-/*-<a                             href="qh-mem.htm#TOC"
-  >--------------------------------</a><a name="qhmemT">-</a>
-  qhmemT
-    global memory structure for mem.c
- notes:
-   users should ignore qhmem except for writing extensions
-   qhmem is allocated in mem.c 
-   
-   qhmem could be swapable like qh and qhstat, but then
-   multiple qh's and qhmem's would need to keep in synch.  
-   A swapable qhmem would also waste memory buffers.  As long
-   as memory operations are atomic, there is no problem with
-   multiple qh structures being active at the same time.
-   If you need separate address spaces, you can swap the
-   contents of qhmem.
-*/
-typedef struct qhmemT qhmemT;
-extern qhmemT qhmem; 
-
-struct qhmemT {               /* global memory management variables */
-  int      BUFsize;          /* size of memory allocation buffer */
-  int      BUFinit;          /* initial size of memory allocation buffer */
-  int      TABLEsize;         /* actual number of sizes in free list table */
-  int      NUMsizes;          /* maximum number of sizes in free list table */
-  int      LASTsize;          /* last size in free list table */
-  int      ALIGNmask;         /* worst-case alignment, must be 2^n-1 */
-  void  **freelists;          /* free list table, linked by offset 0 */
-  int     *sizetable;         /* size of each freelist */
-  int     *indextable;        /* size->index table */
-  void    *curbuffer;         /* current buffer, linked by offset 0 */
-  void    *freemem;           /*   free memory in curbuffer */
-  int     freesize;          /*   size of free memory in bytes */
-  void           *tempstack;         /* stack of temporary memory, managed by users */
-  FILE    *ferr;              /* file for reporting errors */
-  int      IStracing;         /* =5 if tracing memory allocations */
-  int      cntquick;          /* count of quick allocations */
-                              /* remove statistics doesn't effect speed */
-  int      cntshort;          /* count of short allocations */
-  int      cntlong;           /* count of long allocations */
-  int      curlong;           /* current count of inuse, long allocations */
-  int      freeshort;        /* count of short memfrees */
-  int      freelong;         /* count of long memfrees */
-  int      totshort;          /* total size of short allocations */
-  int      totlong;           /* total size of long allocations */
-  int      maxlong;           /* maximum totlong */
-  int      cntlarger;         /* count of setlarger's */
-  int      totlarger;         /* total copied by setlarger */
-};
-
-
-/*==================== -macros ====================*/
-
-/*-<a                             href="qh-mem.htm#TOC"
-  >--------------------------------</a><a name="memalloc_">-</a>
-   
-  qh_memalloc_(size, object, type)  
-    returns object of size bytes 
-       assumes size<=qhmem.LASTsize and void **freelistp is a temp
-*/
-
-#ifdef qh_NOmem
-#define qh_memalloc_(size, freelistp, object, type) {\
-  object= (type*)qh_memalloc (size); }
-#else /* !qh_NOmem */
-
-#define qh_memalloc_(size, freelistp, object, type) {\
-  freelistp= qhmem.freelists + qhmem.indextable[size];\
-  if ((object= (type*)*freelistp)) {\
-    qhmem.cntquick++;  \
-    *freelistp= *((void **)*freelistp);\
-  }else object= (type*)qh_memalloc (size);}
-#endif
-
-/*-<a                             href="qh-mem.htm#TOC"
-  >--------------------------------</a><a name="memfree_">-</a>
-   
-  qh_memfree_(object, size) 
-    free up an object
-
-  notes:
-    object may be NULL
-    assumes size<=qhmem.LASTsize and void **freelistp is a temp
-*/
-#ifdef qh_NOmem
-#define qh_memfree_(object, size, freelistp) {\
-  qh_memfree (object, size); }
-#else /* !qh_NOmem */
-
-#define qh_memfree_(object, size, freelistp) {\
-  if (object) { \
-    qhmem .freeshort++;\
-    freelistp= qhmem.freelists + qhmem.indextable[size];\
-    *((void **)object)= *freelistp;\
-    *freelistp= object;}}
-#endif
-
-/*=============== prototypes in alphabetical order ============*/
-
-void *qh_memalloc(int insize);
-void qh_memfree (void *object, int size);
-void qh_memfreeshort (int *curlong, int *totlong);
-void qh_meminit (FILE *ferr);
-void qh_meminitbuffers (int tracelevel, int alignment, int numsizes,
-                       int bufsize, int bufinit);
-void qh_memsetup (void);
-void qh_memsize(int size);
-void qh_memstatistics (FILE *fp);
-
-#endif /* qhDEFmem */
diff --git a/extern/qhull/include/qhull/merge.h b/extern/qhull/include/qhull/merge.h
deleted file mode 100644 (file)
index 7fc2afa..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*<html><pre>  -<a                             href="qh-merge.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   merge.h 
-   header file for merge.c
-
-   see qh-merge.htm and merge.c
-
-   copyright (c) 1993-2002, The Geometry Center
-*/
-
-#ifndef qhDEFmerge
-#define qhDEFmerge 1
-
-
-/*============ -constants- ==============*/
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="qh_ANGLEredundant">-</a>
-
-  qh_ANGLEredundant
-    indicates redundant merge in mergeT->angle
-*/
-#define qh_ANGLEredundant 6.0
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="qh_ANGLEdegen">-</a>
-  
-  qh_ANGLEdegen
-    indicates degenerate facet in mergeT->angle
-*/
-#define qh_ANGLEdegen     5.0
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="qh_ANGLEconcave">-</a>
-  
-  qh_ANGLEconcave
-    offset to indicate concave facets in mergeT->angle
-  
-  notes:
-    concave facets are assigned the range of [2,4] in mergeT->angle
-    roundoff error may make the angle less than 2
-*/
-#define qh_ANGLEconcave  1.5
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="MRG">-</a>
-  
-  MRG... (mergeType)
-    indicates the type of a merge (mergeT->type)
-*/
-typedef enum { /* in sort order for facet_mergeset */
-  MRGnone= 0,
-  MRGcoplanar,         /* centrum coplanar */
-  MRGanglecoplanar,    /* angle coplanar */
-                       /* could detect half concave ridges */
-  MRGconcave,          /* concave ridge */
-  MRGflip,             /* flipped facet. facet1 == facet2 */
-  MRGridge,            /* duplicate ridge (qh_MERGEridge) */
-                        /* degen and redundant go onto degen_mergeset */
-  MRGdegen,            /* degenerate facet (not enough neighbors) facet1 == facet2 */
-  MRGredundant,                /* redundant facet (vertex subset) */
-                       /* merge_degenredundant assumes degen < redundant */
-  MRGmirror,           /* mirror facet from qh_triangulate */
-  ENDmrg
-} mergeType;
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="qh_MERGEapex">-</a>
-  
-  qh_MERGEapex
-    flag for qh_mergefacet() to indicate an apex merge  
-*/
-#define qh_MERGEapex     True
-
-/*============ -structures- ====================*/
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="mergeT">-</a>
-     
-  mergeT
-    structure used to merge facets
-*/
-
-typedef struct mergeT mergeT;
-struct mergeT {                /* initialize in qh_appendmergeset */
-  realT   angle;        /* angle between normals of facet1 and facet2 */
-  facetT *facet1;      /* will merge facet1 into facet2 */
-  facetT *facet2;
-  mergeType type;
-};
-
-
-/*=========== -macros- =========================*/
-
-/*-<a                             href="qh-merge.htm#TOC"
-  >--------------------------------</a><a name="FOREACHmerge_">-</a>
-     
-  FOREACHmerge_( merges ) {...}
-    assign 'merge' to each merge in merges
-       
-  notes:
-    uses 'mergeT *merge, **mergep;'
-    if qh_mergefacet(),
-      restart since qh.facet_mergeset may change
-    see <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHmerge_( merges ) FOREACHsetelement_(mergeT, merges, merge)
-
-/*============ prototypes in alphabetical order after pre/postmerge =======*/
-
-void    qh_premerge (vertexT *apex, realT maxcentrum, realT maxangle);
-void    qh_postmerge (char *reason, realT maxcentrum, realT maxangle, 
-             boolT vneighbors);
-void    qh_all_merges (boolT othermerge, boolT vneighbors);
-void    qh_appendmergeset(facetT *facet, facetT *neighbor, mergeType mergetype, realT *angle);
-setT   *qh_basevertices( facetT *samecycle);
-void    qh_checkconnect (void /* qh new_facets */);
-boolT   qh_checkzero (boolT testall);
-void    qh_copynonconvex (ridgeT *atridge);
-void    qh_degen_redundant_facet (facetT *facet);
-void           qh_degen_redundant_neighbors (facetT *facet, facetT *delfacet);
-vertexT *qh_find_newvertex (vertexT *oldvertex, setT *vertices, setT *ridges);
-void    qh_findbest_test (boolT testcentrum, facetT *facet, facetT *neighbor,
-           facetT **bestfacet, realT *distp, realT *mindistp, realT *maxdistp);
-facetT *qh_findbestneighbor(facetT *facet, realT *distp, realT *mindistp, realT *maxdistp);
-void   qh_flippedmerges(facetT *facetlist, boolT *wasmerge);
-void   qh_forcedmerges( boolT *wasmerge);
-void   qh_getmergeset(facetT *facetlist);
-void   qh_getmergeset_initial (facetT *facetlist);
-void    qh_hashridge (setT *hashtable, int hashsize, ridgeT *ridge, vertexT *oldvertex);
-ridgeT *qh_hashridge_find (setT *hashtable, int hashsize, ridgeT *ridge, 
-              vertexT *vertex, vertexT *oldvertex, int *hashslot);
-void   qh_makeridges(facetT *facet);
-void    qh_mark_dupridges(facetT *facetlist);
-void    qh_maydropneighbor (facetT *facet);
-int     qh_merge_degenredundant (void);
-void    qh_merge_nonconvex( facetT *facet1, facetT *facet2, mergeType mergetype);
-void    qh_mergecycle (facetT *samecycle, facetT *newfacet);
-void    qh_mergecycle_all (facetT *facetlist, boolT *wasmerge);
-void    qh_mergecycle_facets( facetT *samecycle, facetT *newfacet);
-void    qh_mergecycle_neighbors(facetT *samecycle, facetT *newfacet);
-void    qh_mergecycle_ridges(facetT *samecycle, facetT *newfacet);
-void    qh_mergecycle_vneighbors( facetT *samecycle, facetT *newfacet);
-void   qh_mergefacet(facetT *facet1, facetT *facet2, realT *mindist, realT *maxdist, boolT mergeapex);
-void    qh_mergefacet2d (facetT *facet1, facetT *facet2);
-void   qh_mergeneighbors(facetT *facet1, facetT *facet2);
-void   qh_mergeridges(facetT *facet1, facetT *facet2);
-void    qh_mergesimplex(facetT *facet1, facetT *facet2, boolT mergeapex);
-void    qh_mergevertex_del (vertexT *vertex, facetT *facet1, facetT *facet2);
-void    qh_mergevertex_neighbors(facetT *facet1, facetT *facet2);
-void   qh_mergevertices(setT *vertices1, setT **vertices);
-setT   *qh_neighbor_intersections (vertexT *vertex);
-void    qh_newvertices (setT *vertices);
-boolT   qh_reducevertices (void);
-vertexT *qh_redundant_vertex (vertexT *vertex);
-boolT   qh_remove_extravertices (facetT *facet);
-vertexT *qh_rename_sharedvertex (vertexT *vertex, facetT *facet);
-void   qh_renameridgevertex(ridgeT *ridge, vertexT *oldvertex, vertexT *newvertex);
-void    qh_renamevertex(vertexT *oldvertex, vertexT *newvertex, setT *ridges,
-                       facetT *oldfacet, facetT *neighborA);
-boolT  qh_test_appendmerge (facetT *facet, facetT *neighbor);
-boolT   qh_test_vneighbors (void /* qh newfacet_list */);
-void    qh_tracemerge (facetT *facet1, facetT *facet2);
-void    qh_tracemerging (void);
-void    qh_updatetested( facetT *facet1, facetT *facet2);
-setT   *qh_vertexridges (vertexT *vertex);
-void    qh_vertexridges_facet (vertexT *vertex, facetT *facet, setT **ridges);
-void    qh_willdelete (facetT *facet, facetT *replace);
-
-#endif /* qhDEFmerge */
diff --git a/extern/qhull/include/qhull/poly.h b/extern/qhull/include/qhull/poly.h
deleted file mode 100644 (file)
index 294ec95..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-/*<html><pre>  -<a                             href="qh-poly.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   poly.h 
-   header file for poly.c and poly2.c
-
-   see qh-poly.htm, qhull.h and poly.c
-
-   copyright (c) 1993-2002, The Geometry Center
-*/
-
-#ifndef qhDEFpoly
-#define qhDEFpoly 1
-
-/*===============   constants ========================== */
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="ALGORITHMfault">-</a>
-  
-  ALGORITHMfault   
-    use as argument to checkconvex() to report errors during buildhull
-*/
-#define qh_ALGORITHMfault 0
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="DATAfault">-</a>
-  
-  DATAfault        
-    use as argument to checkconvex() to report errors during initialhull
-*/
-#define qh_DATAfault 1
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="DUPLICATEridge">-</a>
-  
-  DUPLICATEridge
-    special value for facet->neighbor to indicate a duplicate ridge
-  
-  notes:
-    set by matchneighbor, used by matchmatch and mark_dupridge
-*/
-#define qh_DUPLICATEridge ( facetT * ) 1L
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="MERGEridge">-</a>
-  
-  MERGEridge       flag in facet
-    special value for facet->neighbor to indicate a merged ridge
-  
-  notes:
-    set by matchneighbor, used by matchmatch and mark_dupridge
-*/
-#define qh_MERGEridge ( facetT * ) 2L
-
-
-/*============ -structures- ====================*/
-
-/*=========== -macros- =========================*/
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLfacet_">-</a>
-  
-  FORALLfacet_( facetlist ) { ... }
-    assign 'facet' to each facet in facetlist
-    
-  notes:
-    uses 'facetT *facet;'
-    assumes last facet is a sentinel
-    
-  see:
-    FORALLfacets
-*/
-#define FORALLfacet_( facetlist ) if ( facetlist ) for( facet=( facetlist );facet && facet->next;facet=facet->next )
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLnew_facets">-</a>
-  
-  FORALLnew_facets { ... } 
-    assign 'newfacet' to each facet in qh.newfacet_list
-    
-  notes:
-    uses 'facetT *newfacet;'
-    at exit, newfacet==NULL
-*/
-#define FORALLnew_facets for( newfacet=qh newfacet_list;newfacet && newfacet->next;newfacet=newfacet->next )
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLvertex_">-</a>
-  
-  FORALLvertex_( vertexlist ) { ... }
-    assign 'vertex' to each vertex in vertexlist
-    
-  notes:
-    uses 'vertexT *vertex;'
-    at exit, vertex==NULL
-*/
-#define FORALLvertex_( vertexlist ) for ( vertex=( vertexlist );vertex && vertex->next;vertex= vertex->next )
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLvisible_facets">-</a>
-  
-  FORALLvisible_facets { ... }
-    assign 'visible' to each visible facet in qh.visible_list
-    
-  notes:
-    uses 'vacetT *visible;'
-    at exit, visible==NULL
-*/
-#define FORALLvisible_facets for (visible=qh visible_list; visible && visible->visible; visible= visible->next)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLsame_">-</a>
-  
-  FORALLsame_( newfacet ) { ... } 
-    assign 'same' to each facet in newfacet->f.samecycle
-    
-  notes:
-    uses 'facetT *same;'
-    stops when it returns to newfacet
-*/
-#define FORALLsame_(newfacet) for (same= newfacet->f.samecycle; same != newfacet; same= same->f.samecycle)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLsame_cycle_">-</a>
-  
-  FORALLsame_cycle_( newfacet ) { ... } 
-    assign 'same' to each facet in newfacet->f.samecycle
-    
-  notes:
-    uses 'facetT *same;'
-    at exit, same == NULL
-*/
-#define FORALLsame_cycle_(newfacet) \
-     for (same= newfacet->f.samecycle; \
-         same; same= (same == newfacet ?  NULL : same->f.samecycle))
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHneighborA_">-</a>
-  
-  FOREACHneighborA_( facet ) { ... }
-    assign 'neighborA' to each neighbor in facet->neighbors
-  
-  FOREACHneighborA_( vertex ) { ... }
-    assign 'neighborA' to each neighbor in vertex->neighbors
-  
-  declare:
-    facetT *neighborA, **neighborAp;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHneighborA_(facet)  FOREACHsetelement_(facetT, facet->neighbors, neighborA)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHvisible_">-</a>
-  
-  FOREACHvisible_( facets ) { ... } 
-    assign 'visible' to each facet in facets
-    
-  notes:
-    uses 'facetT *facet, *facetp;'
-    see <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHvisible_(facets) FOREACHsetelement_(facetT, facets, visible)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHnewfacet_">-</a>
-  
-  FOREACHnewfacet_( facets ) { ... } 
-    assign 'newfacet' to each facet in facets
-    
-  notes:
-    uses 'facetT *newfacet, *newfacetp;'
-    see <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHnewfacet_(facets) FOREACHsetelement_(facetT, facets, newfacet)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHvertexA_">-</a>
-  
-  FOREACHvertexA_( vertices ) { ... } 
-    assign 'vertexA' to each vertex in vertices
-    
-  notes:
-    uses 'vertexT *vertexA, *vertexAp;'
-    see <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHvertexA_(vertices) FOREACHsetelement_(vertexT, vertices, vertexA)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHvertexreverse12_">-</a>
-  
-  FOREACHvertexreverse12_( vertices ) { ... } 
-    assign 'vertex' to each vertex in vertices
-    reverse order of first two vertices
-    
-  notes:
-    uses 'vertexT *vertex, *vertexp;'
-    see <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHvertexreverse12_(vertices) FOREACHsetelementreverse12_(vertexT, vertices, vertex)
-
-
-/*=============== prototypes poly.c in alphabetical order ================*/
-
-void    qh_appendfacet(facetT *facet);
-void    qh_appendvertex(vertexT *vertex);
-void   qh_attachnewfacets (void);
-boolT   qh_checkflipped (facetT *facet, realT *dist, boolT allerror);
-void   qh_delfacet(facetT *facet);
-void   qh_deletevisible(void /*qh visible_list, qh horizon_list*/);
-setT   *qh_facetintersect (facetT *facetA, facetT *facetB, int *skipAp,int *skipBp, int extra);
-unsigned qh_gethash (int hashsize, setT *set, int size, int firstindex, void *skipelem);
-facetT *qh_makenewfacet(setT *vertices, boolT toporient, facetT *facet);
-void    qh_makenewplanes ( void /* newfacet_list */);
-facetT *qh_makenew_nonsimplicial (facetT *visible, vertexT *apex, int *numnew);
-facetT *qh_makenew_simplicial (facetT *visible, vertexT *apex, int *numnew);
-void    qh_matchneighbor (facetT *newfacet, int newskip, int hashsize,
-                         int *hashcount);
-void   qh_matchnewfacets (void);
-boolT   qh_matchvertices (int firstindex, setT *verticesA, int skipA, 
-                         setT *verticesB, int *skipB, boolT *same);
-facetT *qh_newfacet(void);
-ridgeT *qh_newridge(void);
-int     qh_pointid (pointT *point);
-void   qh_removefacet(facetT *facet);
-void   qh_removevertex(vertexT *vertex);
-void    qh_updatevertices (void);
-
-
-/*========== -prototypes poly2.c in alphabetical order ===========*/
-
-void    qh_addhash (void* newelem, setT *hashtable, int hashsize, unsigned hash);
-void   qh_check_bestdist (void);
-void    qh_check_maxout (void);
-void    qh_check_output (void);
-void    qh_check_point (pointT *point, facetT *facet, realT *maxoutside, realT *maxdist, facetT **errfacet1, facetT **errfacet2);
-void           qh_check_points(void);
-void   qh_checkconvex(facetT *facetlist, int fault);
-void    qh_checkfacet(facetT *facet, boolT newmerge, boolT *waserrorp);
-void   qh_checkflipped_all (facetT *facetlist);
-void   qh_checkpolygon(facetT *facetlist);
-void    qh_checkvertex (vertexT *vertex);
-void   qh_clearcenters (qh_CENTER type);
-void   qh_createsimplex(setT *vertices);
-void   qh_delridge(ridgeT *ridge);
-void    qh_delvertex (vertexT *vertex);
-setT   *qh_facet3vertex (facetT *facet);
-facetT *qh_findbestfacet (pointT *point, boolT bestoutside,
-           realT *bestdist, boolT *isoutside);
-facetT *qh_findfacet_all (pointT *point, realT *bestdist, boolT *isoutside,
-                         int *numpart);
-int    qh_findgood (facetT *facetlist, int goodhorizon);
-void   qh_findgood_all (facetT *facetlist);
-void    qh_furthestnext (void /* qh facet_list */);
-void    qh_furthestout (facetT *facet);
-void    qh_infiniteloop (facetT *facet);
-void   qh_initbuild(void);
-void   qh_initialhull(setT *vertices);
-setT   *qh_initialvertices(int dim, setT *maxpoints, pointT *points, int numpoints);
-vertexT *qh_isvertex (pointT *point, setT *vertices);
-vertexT *qh_makenewfacets (pointT *point /*horizon_list, visible_list*/);
-void    qh_matchduplicates (facetT *atfacet, int atskip, int hashsize, int *hashcount);
-void    qh_nearcoplanar ( void /* qh.facet_list */);
-vertexT *qh_nearvertex (facetT *facet, pointT *point, realT *bestdistp);
-int    qh_newhashtable(int newsize);
-vertexT *qh_newvertex(pointT *point);
-ridgeT *qh_nextridge3d (ridgeT *atridge, facetT *facet, vertexT **vertexp);
-void    qh_outcoplanar (void /* facet_list */);
-pointT *qh_point (int id);
-void   qh_point_add (setT *set, pointT *point, void *elem);
-setT   *qh_pointfacet (void /*qh facet_list*/);
-setT   *qh_pointvertex (void /*qh facet_list*/);
-void   qh_prependfacet(facetT *facet, facetT **facetlist);
-void   qh_printhashtable(FILE *fp);
-void    qh_printlists (void);
-void    qh_resetlists (boolT stats, boolT resetVisible /*qh newvertex_list newfacet_list visible_list*/);
-void    qh_setvoronoi_all (void);
-void   qh_triangulate (void /*qh facet_list*/);
-void    qh_triangulate_facet (facetT *facetA, vertexT **first_vertex);
-void    qh_triangulate_link (facetT *oldfacetA, facetT *facetA, facetT *oldfacetB, facetT *facetB);
-void   qh_triangulate_mirror (facetT *facetA, facetT *facetB);
-void    qh_triangulate_null (facetT *facetA);
-void    qh_vertexintersect(setT **vertexsetA,setT *vertexsetB);
-setT   *qh_vertexintersect_new(setT *vertexsetA,setT *vertexsetB);
-void    qh_vertexneighbors (void /*qh facet_list*/);
-boolT  qh_vertexsubset(setT *vertexsetA, setT *vertexsetB);
-
-
-#endif /* qhDEFpoly */
diff --git a/extern/qhull/include/qhull/qhull.h b/extern/qhull/include/qhull/qhull.h
deleted file mode 100644 (file)
index 896ec1e..0000000
+++ /dev/null
@@ -1,1048 +0,0 @@
-/*<html><pre>  -<a                             href="qh-qhull.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   qhull.h
-   user-level header file for using qhull.a library
-
-   see qh-qhull.htm, qhull_a.h
-
-   copyright (c) 1993-2002, The Geometry Center
-
-   NOTE: access to qh_qh is via the 'qh' macro.  This allows
-   qh_qh to be either a pointer or a structure.  An example
-   of using qh is "qh DROPdim" which accesses the DROPdim
-   field of qh_qh.  Similarly, access to qh_qhstat is via
-   the 'qhstat' macro.
-
-   includes function prototypes for qhull.c, geom.c, global.c, io.c, user.c
-
-   use mem.h for mem.c
-   use qset.h for qset.c
-
-   see unix.c for an example of using qhull.h
-
-   recompile qhull if you change this file
-*/
-
-#ifndef qhDEFqhull
-#define qhDEFqhull 1
-
-/*=========================== -included files ==============*/
-
-#include <setjmp.h>
-#include <float.h>
-#include <time.h>
-
-#if __MWERKS__ && __POWERPC__
-#include  <SIOUX.h>
-#include  <Files.h>
-#include       <Desk.h>
-#endif
-
-#ifndef __STDC__
-#ifndef __cplusplus
-#if     !_MSC_VER
-#error  Neither __STDC__ nor __cplusplus is defined.  Please use strict ANSI C or C++ to compile
-#error  Qhull.  You may need to turn off compiler extensions in your project configuration.  If
-#error  your compiler is a standard C compiler, you can delete this warning from qhull.h
-#endif
-#endif
-#endif
-
-#include "user.h"      /* user defineable constants */
-
-/*============ constants and basic types ====================*/
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="qh_VERSION">-</a>
-
-  qh_VERSION
-    version string by year and date
-
-    the revision increases on code changes only
-
-  notes:
-    change date:    Changes.txt, Announce.txt, README.txt, qhull.man
-                    qhull-news.html, Eudora signatures, 
-    change version: README.txt, qhull.html, file_id.diz, Makefile
-    change year:    Copying.txt
-    check download size
-    recompile user_eg.c, rbox.c, qhull.c, qconvex.c, qdelaun.c qvoronoi.c, qhalf.c
-    make copy of qhull-news.html as qh-news.htm
-*/
-
-#define qh_VERSION "2002.1 2002/8/20"
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="coordT">-</a>
-
-  coordT
-    coordinates and coefficients are stored as realT (i.e., double)
-
-  notes:
-    could use 'float' for data and 'double' for calculations (realT vs. coordT)
-      This requires many type casts, and adjusted error bounds.
-      Also C compilers may do expressions in double anyway.
-*/
-#define coordT realT
-
-/*-<a                             href="qh-geom.htm#TOC"
-  >--------------------------------</a><a name="pointT">-</a>
-
-  pointT
-    a point is an array of DIM3 coordinates
-*/
-#define pointT coordT
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="flagT">-</a>
-
-  flagT
-    Boolean flag as a bit
-*/
-#define flagT unsigned int
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="boolT">-</a>
-
-  boolT
-    boolean value, either True or False
-
-  notes:
-    needed for portability
-*/
-#define boolT unsigned int
-#ifdef False
-#undef False
-#endif
-#ifdef True
-#undef True
-#endif
-#define False 0
-#define True 1
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="CENTERtype">-</a>
-
-  qh_CENTER
-    to distinguish facet->center
-*/
-typedef enum
-{
-    qh_ASnone = 0, qh_ASvoronoi, qh_AScentrum
-}
-qh_CENTER;
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="qh_PRINT">-</a>
-
-  qh_PRINT
-    output formats for printing (qh.PRINTout).
-    'Fa' 'FV' 'Fc' 'FC' 
-       
-
-   notes:
-   some of these names are similar to qh names.  The similar names are only
-   used in switch statements in qh_printbegin() etc.
-*/
-typedef enum {qh_PRINTnone= 0, 
-  qh_PRINTarea, qh_PRINTaverage,           /* 'Fa' 'FV' 'Fc' 'FC' */
-  qh_PRINTcoplanars, qh_PRINTcentrums, 
-  qh_PRINTfacets, qh_PRINTfacets_xridge,   /* 'f' 'FF' 'G' 'FI' 'Fi' 'Fn' */
-  qh_PRINTgeom, qh_PRINTids, qh_PRINTinner, qh_PRINTneighbors, 
-  qh_PRINTnormals, qh_PRINTouter,          /* 'n' 'Fo' 'i' 'm' 'Fm' 'o' */
-  qh_PRINTincidences, qh_PRINTmathematica, qh_PRINTmerges, qh_PRINToff, 
-  qh_PRINToptions, qh_PRINTpointintersect, /* 'FO' 'Fp' 'FP' 'p' 'FQ' 'FS' */
-  qh_PRINTpointnearest, qh_PRINTpoints, qh_PRINTqhull, qh_PRINTsize, 
-  qh_PRINTsummary, qh_PRINTtriangles,      /* 'Fs' 'Ft' 'Fv' 'FN' 'Fx' */
-  qh_PRINTvertices, qh_PRINTvneighbors, qh_PRINTextremes,
-  qh_PRINTEND} qh_PRINT;
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="qh_ALL">-</a>
-
-  qh_ALL
-    argument flag for selecting everything
-*/
-#define qh_ALL      True
-#define qh_NOupper  True     /* argument for qh_findbest */
-#define qh_IScheckmax  True     /* argument for qh_findbesthorizon */
-#define qh_ISnewfacets  True     /* argument for qh_findbest */
-#define qh_RESETvisible  True     /* argument for qh_resetlists */
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="qh_ERR">-</a>
-
-  qh_ERR
-    Qhull exit codes, for indicating errors
-*/
-#define qh_ERRnone  0    /* no error occurred during qhull */
-#define qh_ERRinput 1    /* input inconsistency */
-#define qh_ERRsingular 2 /* singular input data */
-#define qh_ERRprec  3    /* precision error */
-#define qh_ERRmem   4    /* insufficient memory, matches mem.h */
-#define qh_ERRqhull 5    /* internal error detected, matches mem.h */
-
-/* ============ -structures- ====================
-   each of the following structures is defined by a typedef
-   all realT and coordT fields occur at the beginning of a structure
-        (otherwise space may be wasted due to alignment)
-   define all flags together and pack into 32-bit number
-*/
-
-typedef struct vertexT vertexT;
-typedef struct ridgeT ridgeT;
-typedef struct facetT facetT;
-#ifndef DEFsetT
-#define DEFsetT 1
-typedef struct setT setT;          /* defined in qset.h */
-#endif
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="facetT">-</a>
-
-  facetT
-    defines a facet
-
-  notes:
-   qhull() generates the hull as a list of facets.
-
-  topological information:
-    f.previous,next     doubly-linked list of facets
-    f.vertices          set of vertices
-    f.ridges            set of ridges
-    f.neighbors         set of neighbors
-    f.toporient         True if facet has top-orientation (else bottom)
-
-  geometric information:
-    f.offset,normal     hyperplane equation
-    f.maxoutside        offset to outer plane -- all points inside
-    f.center            centrum for testing convexity
-    f.simplicial        True if facet is simplicial
-    f.flipped           True if facet does not include qh.interior_point
-
-  for constructing hull:
-    f.visible           True if facet on list of visible facets (will be deleted)
-    f.newfacet          True if facet on list of newly created facets
-    f.coplanarset       set of points coplanar with this facet
-                        (includes near-inside points for later testing)
-    f.outsideset        set of points outside of this facet
-    f.furthestdist      distance to furthest point of outside set
-    f.visitid           marks visited facets during a loop
-    f.replace           replacement facet for to-be-deleted, visible facets
-    f.samecycle,newcycle cycle of facets for merging into horizon facet
-
-  see below for other flags and fields
-*/
-struct facetT {
-#if !qh_COMPUTEfurthest
-  coordT   furthestdist;/* distance to furthest point of outsideset */
-#endif
-#if qh_MAXoutside
-  coordT   maxoutside;  /* max computed distance of point to facet
-                       Before QHULLfinished this is an approximation
-                       since maxdist not always set for mergefacet
-                       Actual outer plane is +DISTround and
-                       computed outer plane is +2*DISTround */
-#endif
-  coordT   offset;      /* exact offset of hyperplane from origin */
-  coordT  *normal;      /* normal of hyperplane, hull_dim coefficients */
-                       /*   if tricoplanar, shared with a neighbor */
-  union {               /* in order of testing */
-   realT   area;        /* area of facet, only in io.c if  ->isarea */
-   facetT *replace;    /*  replacement facet if ->visible and NEWfacets
-                            is NULL only if qh_mergedegen_redundant or interior */
-   facetT *samecycle;   /*  cycle of facets from the same visible/horizon intersection,
-                            if ->newfacet */
-   facetT *newcycle;    /*  in horizon facet, current samecycle of new facets */ 
-   facetT *trivisible;  /* visible facet for ->tricoplanar facets during qh_triangulate() */
-   facetT *triowner;    /* owner facet for ->tricoplanar, !isarea facets w/ ->keepcentrum */
-  }f;
-  coordT  *center;      /*  centrum for convexity, qh CENTERtype == qh_AScentrum */
-                       /*  Voronoi center, qh CENTERtype == qh_ASvoronoi */
-                       /*   if tricoplanar, shared with a neighbor */
-  facetT  *previous;    /* previous facet in the facet_list */
-  facetT  *next;        /* next facet in the facet_list */
-  setT    *vertices;    /* vertices for this facet, inverse sorted by ID 
-                           if simplicial, 1st vertex was apex/furthest */
-  setT    *ridges;      /* explicit ridges for nonsimplicial facets.
-                          for simplicial facets, neighbors defines ridge */
-  setT    *neighbors;   /* neighbors of the facet.  If simplicial, the kth
-                          neighbor is opposite the kth vertex, and the first
-                          neighbor is the horizon facet for the first vertex*/
-  setT    *outsideset;  /* set of points outside this facet
-                          if non-empty, last point is furthest
-                          if NARROWhull, includes coplanars for partitioning*/
-  setT    *coplanarset; /* set of points coplanar with this facet
-                          > qh.min_vertex and <= facet->max_outside
-                           a point is assigned to the furthest facet
-                          if non-empty, last point is furthest away */
-  unsigned visitid;     /* visit_id, for visiting all neighbors,
-                          all uses are independent */
-  unsigned id;         /* unique identifier from qh facet_id */
-  unsigned nummerge:9;  /* number of merges */
-#define qh_MAXnummerge 511 /*     2^9-1, 32 flags total, see "flags:" in io.c */
-  flagT    tricoplanar:1; /* True if TRIangulate and simplicial and coplanar with a neighbor */
-                         /*   all tricoplanars share the same ->center, ->normal, ->offset, ->maxoutside */
-                         /*   all tricoplanars share the same apex */
-                          /*   if ->degenerate, does not span facet (one logical ridge) */
-                          /*   one tricoplanar has ->keepcentrum and ->coplanarset */
-                          /*   during qh_triangulate, f.trivisible points to original facet */
-  flagT           newfacet:1;  /* True if facet on qh newfacet_list (new or merged) */
-  flagT           visible:1;   /* True if visible facet (will be deleted) */
-  flagT    toporient:1; /* True if created with top orientation
-                          after merging, use ridge orientation */
-  flagT    simplicial:1;/* True if simplicial facet, ->ridges may be implicit */
-  flagT    seen:1;      /* used to perform operations only once, like visitid */
-  flagT    seen2:1;     /* used to perform operations only once, like visitid */
-  flagT           flipped:1;   /* True if facet is flipped */
-  flagT    upperdelaunay:1; /* True if facet is upper envelope of Delaunay triangulation */
-  flagT    notfurthest:1; /* True if last point of outsideset is not furthest*/
-
-/*-------- flags primarily for output ---------*/
-  flagT           good:1;      /* True if a facet marked good for output */
-  flagT    isarea:1;    /* True if facet->f.area is defined */
-
-/*-------- flags for merging ------------------*/
-  flagT    dupridge:1;  /* True if duplicate ridge in facet */
-  flagT    mergeridge:1; /* True if facet or neighbor contains a qh_MERGEridge
-                            ->normal defined (also defined for mergeridge2) */
-  flagT    mergeridge2:1; /* True if neighbor contains a qh_MERGEridge (mark_dupridges */
-  flagT    coplanar:1;  /* True if horizon facet is coplanar at last use */
-  flagT     mergehorizon:1; /* True if will merge into horizon (->coplanar) */
-  flagT            cycledone:1;/* True if mergecycle_all already done */
-  flagT    tested:1;    /* True if facet convexity has been tested (false after merge */
-  flagT    keepcentrum:1; /* True if keep old centrum after a merge, or marks owner for ->tricoplanar */
-  flagT           newmerge:1;  /* True if facet is newly merged for reducevertices */
-  flagT           degenerate:1; /* True if facet is degenerate (degen_mergeset or ->tricoplanar) */
-  flagT           redundant:1;  /* True if facet is redundant (degen_mergeset) */
-};
-
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="ridgeT">-</a>
-
-  ridgeT
-    defines a ridge
-
-  notes:
-  a ridge is DIM3-1 simplex between two neighboring facets.  If the
-  facets are non-simplicial, there may be more than one ridge between
-  two facets.  E.G. a 4-d hypercube has two triangles between each pair
-  of neighboring facets.
-
-  topological information:
-    vertices            a set of vertices
-    top,bottom          neighboring facets with orientation
-
-  geometric information:
-    tested              True if ridge is clearly convex
-    nonconvex           True if ridge is non-convex
-*/
-struct ridgeT {
-  setT    *vertices;    /* vertices belonging to this ridge, inverse sorted by ID 
-                           NULL if a degen ridge (matchsame) */
-  facetT  *top;         /* top facet this ridge is part of */
-  facetT  *bottom;      /* bottom facet this ridge is part of */
-  unsigned id:24;       /* unique identifier, =>room for 8 flags */
-  flagT    seen:1;      /* used to perform operations only once */
-  flagT    tested:1;    /* True when ridge is tested for convexity */
-  flagT    nonconvex:1; /* True if getmergeset detected a non-convex neighbor
-                          only one ridge between neighbors may have nonconvex */
-};
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="vertexT">-</a>
-
-  vertexT
-     defines a vertex
-
-  topological information:
-    next,previous       doubly-linked list of all vertices
-    neighbors           set of adjacent facets (only if qh.VERTEXneighbors)
-
-  geometric information:
-    point               array of DIM3 coordinates
-*/
-struct vertexT {
-  vertexT *next;        /* next vertex in vertex_list */
-  vertexT *previous;    /* previous vertex in vertex_list */
-  pointT  *point;       /* hull_dim coordinates (coordT) */
-  setT    *neighbors;   /* neighboring facets of vertex, qh_vertexneighbors()
-                          inits in io.c or after first merge */
-  unsigned visitid; /* for use with qh vertex_visit */
-  unsigned id:24;   /* unique identifier, =>room for 8 flags */
-  flagT    seen:1;      /* used to perform operations only once */
-  flagT    seen2:1;     /* another seen flag */
-  flagT    delridge:1;  /* vertex was part of a deleted ridge */
-  flagT           deleted:1;   /* true if vertex on qh del_vertices */
-  flagT    newlist:1;   /* true if vertex on qh newvertex_list */
-};
-
-/*======= -global variables -qh ============================*/
-
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh">-</a>
-
-  qh
-   all global variables for qhull are in qh, qhmem, and qhstat
-
-  notes:
-   qhmem is defined in mem.h and qhstat is defined in stat.h
-   access to qh_qh is via the "qh" macro.  See qh_QHpointer in user.h
-*/
-typedef struct qhT qhT;
-#if qh_QHpointer
-#define qh qh_qh->
-extern qhT *qh_qh;     /* allocated in global.c */
-#else
-#define qh qh_qh.
-extern qhT qh_qh;
-#endif
-
-struct qhT {
-
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-const">-</a>
-
-  qh constants
-    configuration flags and constants for Qhull
-
-  notes:
-    The user configures Qhull by defining flags.  They are
-    copied into qh by qh_setflags().  qh-quick.htm#options defines the flags.
-*/
-  boolT ALLpoints;        /* true 'Qs' if search all points for initial simplex */
-  boolT ANGLEmerge;      /* true 'Qa' if sort potential merges by angle */
-  boolT APPROXhull;       /* true 'Wn' if MINoutside set */
-  realT MINoutside;       /*   'Wn' min. distance for an outside point */
-  boolT ATinfinity;       /* true 'Qz' if point num_points-1 is "at-infinity"
-                             for improving precision in Delaunay triangulations */
-  boolT AVOIDold;         /* true 'Q4' if avoid old->new merges */
-  boolT BESToutside;      /* true 'Qf' if partition points into best outsideset */
-  boolT CDDinput;         /* true 'Pc' if input uses CDD format (1.0/offset first) */
-  boolT CDDoutput;        /* true 'PC' if print normals in CDD format (offset first) */
-  boolT CHECKfrequently;  /* true 'Tc' if checking frequently */
-  realT premerge_cos;     /*   'A-n'   cos_max when pre merging */
-  realT postmerge_cos;    /*   'An'    cos_max when post merging */
-  boolT DELAUNAY;         /* true 'd' if computing DELAUNAY triangulation */
-  boolT DOintersections;  /* true 'Gh' if print hyperplane intersections */
-  int   DROPdim;          /* drops dim 'GDn' for 4-d -> 3-d output */
-  boolT FORCEoutput;      /* true 'Po' if forcing output despite degeneracies */
-  int   GOODpoint;        /* 1+n for 'QGn', good facet if visible/not(-) from point n*/
-  pointT *GOODpointp;     /*   the actual point */
-  boolT GOODthreshold;    /* true if qh lower_threshold/upper_threshold defined
-                            false if qh SPLITthreshold */
-  int   GOODvertex;       /* 1+n, good facet if vertex for point n */
-  pointT *GOODvertexp;     /*   the actual point */
-  boolT HALFspace;        /* true 'Hn,n,n' if halfspace intersection */
-  int   IStracing;        /* trace execution, 0=none, 1=least, 4=most, -1=events */
-  int   KEEParea;         /* 'PAn' number of largest facets to keep */
-  boolT KEEPcoplanar;     /* true 'Qc' if keeping nearest facet for coplanar points */
-  boolT KEEPinside;       /* true 'Qi' if keeping nearest facet for inside points
-                             set automatically if 'd Qc' */
-  int   KEEPmerge;        /* 'PMn' number of facets to keep with most merges */
-  realT KEEPminArea;      /* 'PFn' minimum facet area to keep */
-  realT MAXcoplanar;      /* 'Un' max distance below a facet to be coplanar*/
-  boolT MERGEexact;      /* true 'Qx' if exact merges (coplanar, degen, dupridge, flipped) */
-  boolT MERGEindependent; /* true 'Q2' if merging independent sets */
-  boolT MERGING;          /* true if exact-, pre- or post-merging, with angle and centrum tests */
-  realT   premerge_centrum;  /*   'C-n' centrum_radius when pre merging.  Default is round-off */
-  realT   postmerge_centrum; /*   'Cn' centrum_radius when post merging.  Default is round-off */
-  boolT MERGEvertices;   /* true 'Q3' if merging redundant vertices */
-  realT MINvisible;       /* 'Vn' min. distance for a facet to be visible */
-  boolT NOnarrow;         /* true 'Q10' if no special processing for narrow distributions */
-  boolT NOnearinside;     /* true 'Q8' if ignore near-inside points when partitioning */
-  boolT NOpremerge;       /* true 'Q0' if no defaults for C-0 or Qx */
-  boolT ONLYgood;        /* true 'Qg' if process points with good visible or horizon facets */
-  boolT ONLYmax;         /* true 'Qm' if only process points that increase max_outside */
-  boolT PICKfurthest;     /* true 'Q9' if process furthest of furthest points*/
-  boolT POSTmerge;        /* true if merging after buildhull (Cn or An) */
-  boolT PREmerge;         /* true if merging during buildhull (C-n or A-n) */
-                       /* NOTE: some of these names are similar to qh_PRINT names */
-  boolT PRINTcentrums;   /* true 'Gc' if printing centrums */
-  boolT PRINTcoplanar;    /* true 'Gp' if printing coplanar points */
-  int  PRINTdim;         /* print dimension for Geomview output */
-  boolT PRINTdots;        /* true 'Ga' if printing all points as dots */
-  boolT PRINTgood;        /* true 'Pg' if printing good facets */
-  boolT PRINTinner;      /* true 'Gi' if printing inner planes */
-  boolT PRINTneighbors;          /* true 'PG' if printing neighbors of good facets */
-  boolT PRINTnoplanes;   /* true 'Gn' if printing no planes */
-  boolT PRINToptions1st;  /* true 'FO' if printing options to stderr */
-  boolT PRINTouter;      /* true 'Go' if printing outer planes */
-  boolT PRINTprecision;   /* false 'Pp' if not reporting precision problems */
-  qh_PRINT PRINTout[qh_PRINTEND]; /* list of output formats to print */
-  boolT PRINTridges;      /* true 'Gr' if print ridges */
-  boolT PRINTspheres;     /* true 'Gv' if print vertices as spheres */
-  boolT PRINTstatistics;  /* true 'Ts' if printing statistics to stderr */
-  boolT PRINTsummary;     /* true 's' if printing summary to stderr */
-  boolT PRINTtransparent; /* true 'Gt' if print transparent outer ridges */
-  boolT PROJECTdelaunay;  /* true if DELAUNAY, no readpoints() and
-                            need projectinput() for Delaunay in qh_init_B */
-  int   PROJECTinput;     /* number of projected dimensions 'bn:0Bn:0' */
-  boolT QUICKhelp;       /* true if quick help message for degen input */
-  boolT RANDOMdist;       /* true if randomly change distplane and setfacetplane */
-  realT RANDOMfactor;     /*    maximum random perturbation */
-  realT RANDOMa;         /*  qh_randomfactor is randr * RANDOMa + RANDOMb */
-  realT RANDOMb;
-  boolT RANDOMoutside;    /* true if select a random outside point */
-  int  REPORTfreq;       /* buildtracing reports every n facets */
-  int   REPORTfreq2;     /* tracemerging reports every REPORTfreq/2 facets */
-  int  RERUN;            /* 'TRn' rerun qhull n times (qh.build_cnt) */
-  int  ROTATErandom;     /* 'QRn' seed, 0 time, >= rotate input */
-  boolT SCALEinput;       /* true 'Qbk' if scaling input */
-  boolT SCALElast;        /* true 'Qbb' if scale last coord to max prev coord */
-  boolT SETroundoff;      /* true 'E' if qh DISTround is predefined */
-  boolT SKIPcheckmax;    /* true 'Q5' if skip qh_check_maxout */
-  boolT SKIPconvex;       /* true 'Q6' if skip convexity testing during pre-merge */
-  boolT SPLITthresholds;  /* true if upper_/lower_threshold defines a region
-                               used only for printing (not for qh ONLYgood) */
-  int  STOPcone;         /* 'TCn' 1+n for stopping after cone for point n*/
-                         /*       also used by qh_build_withresart for err exit*/
-  int  STOPpoint;        /* 'TVn' 'TV-n' 1+n for stopping after/before(-)
-                                       adding point n */
-  int  TESTpoints;       /* 'QTn' num of test points after qh.num_points.  Test points always coplanar. */
-  boolT TESTvneighbors;   /*  true 'Qv' if test vertex neighbors at end */
-  int   TRACElevel;       /* 'Tn' conditional IStracing level */
-  int  TRACElastrun;     /*  qh.TRACElevel applies to last qh.RERUN */
-  int   TRACEpoint;       /* 'TPn' start tracing when point n is a vertex */
-  realT TRACEdist;        /* 'TWn' start tracing when merge distance too big */
-  int   TRACEmerge;       /* 'TMn' start tracing before this merge */
-  boolT TRIangulate;     /* true 'Qt' if triangulate non-simplicial facets */
-  boolT TRInormals;      /* true 'Q11' if triangulate duplicates normals (sets Qt) */
-  boolT UPPERdelaunay;    /* true 'Qu' if computing furthest-site Delaunay */
-  boolT VERIFYoutput;     /* true 'Tv' if verify output at end of qhull */
-  boolT VIRTUALmemory;    /* true 'Q7' if depth-first processing in buildhull */
-  boolT VORONOI;         /* true 'v' if computing Voronoi diagram */
-
-  /*--------input constants ---------*/
-  realT AREAfactor;       /* 1/(hull_dim-1)! for converting det's to area */
-  boolT DOcheckmax;       /* true if calling qh_check_maxout (qh_initqhull_globals) */
-  char *feasible_string;  /* feasible point 'Hn,n,n' for halfspace intersection */
-  coordT *feasible_point;  /*    as coordinates, both malloc'd */
-  boolT GETarea;          /* true 'Fa', 'FA', 'FS', 'PAn', 'PFn' if compute facet area/Voronoi volume in io.c */
-  boolT KEEPnearinside;   /* true if near-inside points in coplanarset */
-  int  hull_dim;         /* dimension of hull, set by initbuffers */
-  int  input_dim;        /* dimension of input, set by initbuffers */
-  int  num_points;       /* number of input points */
-  pointT *first_point;    /* array of input points, see POINTSmalloc */
-  boolT POINTSmalloc;     /*   true if qh first_point/num_points allocated */
-  pointT *input_points;   /* copy of original qh.first_point for input points for qh_joggleinput */
-  boolT input_malloc;     /* true if qh input_points malloc'd */
-  char         qhull_command[256];/* command line that invoked this program */
-  char         rbox_command[256]; /* command line that produced the input points */
-  char  qhull_options[512];/* descriptive list of options */
-  int   qhull_optionlen;  /*    length of last line */
-  int   qhull_optionsiz;  /*     size of qhull_options before qh_initbuild */
-  boolT VERTEXneighbors;  /* true if maintaining vertex neighbors */
-  boolT ZEROcentrum;      /* true if 'C-0' or 'C-0 Qx'.  sets ZEROall_ok */
-  realT *upper_threshold; /* don't print if facet->normal[k]>=upper_threshold[k]
-                             must set either GOODthreshold or SPLITthreshold
-                            if Delaunay, default is 0.0 for upper envelope */
-  realT *lower_threshold; /* don't print if facet->normal[k] <=lower_threshold[k] */
-  realT *upper_bound;     /* scale point[k] to new upper bound */
-  realT *lower_bound;     /* scale point[k] to new lower bound
-                            project if both upper_ and lower_bound == 0 */
-
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-prec">-</a>
-
-  qh precision constants
-    precision constants for Qhull
-
-  notes:
-    qh_detroundoff() computes the maximum roundoff error for distance
-    and other computations.  It also sets default values for the
-    qh constants above.
-*/
-  realT ANGLEround;       /* max round off error for angles */
-  realT centrum_radius;   /* max centrum radius for convexity (roundoff added) */
-  realT cos_max;         /* max cosine for convexity (roundoff added) */
-  realT DISTround;        /* max round off error for distances, 'E' overrides */
-  realT MAXabs_coord;     /* max absolute coordinate */
-  realT MAXlastcoord;     /* max last coordinate for qh_scalelast */
-  realT MAXsumcoord;      /* max sum of coordinates */
-  realT MAXwidth;         /* max rectilinear width of point coordinates */
-  realT MINdenom_1;       /* min. abs. value for 1/x */
-  realT MINdenom;         /*    use divzero if denominator < MINdenom */
-  realT MINdenom_1_2;     /* min. abs. val for 1/x that allows normalization */
-  realT MINdenom_2;       /*    use divzero if denominator < MINdenom_2 */
-  realT MINlastcoord;     /* min. last coordinate for qh_scalelast */
-  boolT NARROWhull;       /* set in qh_initialhull if angle < qh_MAXnarrow */
-  realT *NEARzero;        /* hull_dim array for near zero in gausselim */
-  realT NEARinside;       /* keep points for qh_check_maxout if close to facet */
-  realT ONEmerge;         /* max distance for merging simplicial facets */
-  realT outside_err;      /* application's epsilon for coplanar points
-                             qh_check_bestdist() qh_check_points() reports error if point outside */
-  realT WIDEfacet;        /* size of wide facet for skipping ridge in
-                            area computation and locking centrum */
-  
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-intern">-</a>
-
-  qh internal constants
-    internal constants for Qhull
-*/
-  char qhull[sizeof("qhull")]; /* for checking ownership */
-  void *old_stat;         /* pointer to saved qh_qhstat, qh_save_qhull */
-  jmp_buf errexit;        /* exit label for qh_errexit, defined by setjmp() */
-  char jmpXtra[40];       /* extra bytes in case jmp_buf is defined wrong by compiler */
-  jmp_buf restartexit;    /* restart label for qh_errexit, defined by setjmp() */
-  char jmpXtra2[40];      /* extra bytes in case jmp_buf is defined wrong by compiler*/
-  FILE *fin;              /* pointer to input file, init by qh_meminit */
-  FILE *fout;             /* pointer to output file */
-  FILE *ferr;             /* pointer to error file */
-  pointT *interior_point; /* center point of the initial simplex*/
-  int   normal_size;      /* size in bytes for facet normals and point coords*/
-  int   center_size;      /* size in bytes for Voronoi centers */
-  int   TEMPsize;         /* size for small, temporary sets (in quick mem) */
-
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-lists">-</a>
-
-  qh facet and vertex lists
-    defines lists of facets, new facets, visible facets, vertices, and
-    new vertices.  Includes counts, next ids, and trace ids.
-  see:
-    qh_resetlists()
-*/
-  facetT *facet_list;     /* first facet */
-  facetT  *facet_tail;     /* end of facet_list (dummy facet) */
-  facetT *facet_next;     /* next facet for buildhull()
-                            previous facets do not have outside sets
-                             NARROWhull: previous facets may have coplanar outside sets for qh_outcoplanar */
-  facetT *newfacet_list;  /* list of new facets to end of facet_list */
-  facetT *visible_list;   /* list of visible facets preceeding newfacet_list,
-                             facet->visible set */
-  int       num_visible;  /* current number of visible facets */
-  unsigned tracefacet_id;  /* set at init, then can print whenever */
-  facetT *tracefacet;     /*   set in newfacet/mergefacet, undone in delfacet*/
-  unsigned tracevertex_id;  /* set at buildtracing, can print whenever */
-  vertexT *tracevertex;     /*   set in newvertex, undone in delvertex*/
-  vertexT *vertex_list;     /* list of all vertices, to vertex_tail */
-  vertexT  *vertex_tail;    /*      end of vertex_list (dummy vertex) */
-  vertexT *newvertex_list; /* list of vertices in newfacet_list, to vertex_tail
-                             all vertices have 'newlist' set */
-  int  num_facets;       /* number of facets in facet_list
-                            includes visble faces (num_visible) */
-  int  num_vertices;     /* number of vertices in facet_list */
-  int   num_outside;      /* number of points in outsidesets (for tracing and RANDOMoutside)
-                               includes coplanar outsideset points for NARROWhull/qh_outcoplanar() */
-  int   num_good;         /* number of good facets (after findgood_all) */
-  unsigned facet_id;      /* ID of next, new facet from newfacet() */
-  unsigned ridge_id;      /* ID of next, new ridge from newridge() */
-  unsigned vertex_id;     /* ID of next, new vertex from newvertex() */
-
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-var">-</a>
-
-  qh global variables
-    defines minimum and maximum distances, next visit ids, several flags,
-    and other global variables.
-    initialize in qh_initbuild or qh_maxmin if used in qh_buildhull
-*/
-  unsigned long hulltime; /* ignore time to set up input and randomize */
-                          /*   use unsigned to avoid wrap-around errors */
-  boolT ALLOWrestart;     /* true if qh_precision can use qh.restartexit */
-  int   build_cnt;        /* number of calls to qh_initbuild */
-  qh_CENTER CENTERtype;   /* current type of facet->center, qh_CENTER */
-  int  furthest_id;      /* pointid of furthest point, for tracing */
-  facetT *GOODclosest;    /* closest facet to GOODthreshold in qh_findgood */
-  realT JOGGLEmax;        /* set 'QJn' if randomly joggle input */
-  boolT maxoutdone;       /* set qh_check_maxout(), cleared by qh_addpoint() */
-  realT max_outside;      /* maximum distance from a point to a facet,
-                              before roundoff, not simplicial vertices
-                              actual outer plane is +DISTround and
-                              computed outer plane is +2*DISTround */
-  realT max_vertex;       /* maximum distance (>0) from vertex to a facet,
-                              before roundoff, due to a merge */
-  realT min_vertex;       /* minimum distance (<0) from vertex to a facet,
-                              before roundoff, due to a merge
-                              if qh.JOGGLEmax, qh_makenewplanes sets it
-                              recomputed if qh.DOcheckmax, default -qh.DISTround */
-  boolT NEWfacets;        /* true while visible facets invalid due to new or merge
-                             from makecone/attachnewfacets to deletevisible */
-  boolT findbestnew;     /* true if partitioning calls qh_findbestnew */
-  boolT findbest_notsharp; /* true if new facets are at least 90 degrees */
-  boolT NOerrexit;        /* true if qh.errexit is not available */
-  realT PRINTcradius;     /* radius for printing centrums */
-  realT PRINTradius;      /* radius for printing vertex spheres and points */
-  boolT POSTmerging;      /* true when post merging */
-  int  printoutvar;      /* temporary variable for qh_printbegin, etc. */
-  int  printoutnum;      /* number of facets printed */
-  boolT QHULLfinished;    /* True after qhull() is finished */
-  realT totarea;          /* 'FA': total facet area computed by qh_getarea */
-  realT totvol;           /* 'FA': total volume computed by qh_getarea */
-  unsigned int visit_id;  /* unique ID for searching neighborhoods, */
-  unsigned int vertex_visit; /* unique ID for searching vertices */
-  boolT ZEROall_ok;       /* True if qh_checkzero always succeeds */
-  boolT WAScoplanar;      /* True if qh_partitioncoplanar (qh_check_maxout) */
-  
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-set">-</a>
-
-  qh global sets
-    defines sets for merging, initial simplex, hashing, extra input points,
-    and deleted vertices
-*/
-  setT *facet_mergeset;   /* temporary set of merges to be done */
-  setT *degen_mergeset;   /* temporary set of degenerate and redundant merges */
-  setT *hash_table;      /* hash table for matching ridges in qh_matchfacets
-                             size is setsize() */
-  setT *other_points;     /* additional points (first is qh interior_point) */
-  setT *del_vertices;     /* vertices to partition and delete with visible
-                             facets.  Have deleted set for checkfacet */
-
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-buf">-</a>
-
-  qh global buffers
-    defines buffers for maxtrix operations, input, and error messages
-*/
-  coordT *gm_matrix;      /* (dim+1)Xdim matrix for geom.c */
-  coordT **gm_row;        /* array of gm_matrix rows */
-  char* line;             /* malloc'd input line of maxline+1 chars */
-  int maxline;
-  coordT *half_space;     /* malloc'd input array for halfspace (qh normal_size+coordT) */
-  coordT *temp_malloc;    /* malloc'd input array for points */
-  
-/*-<a                             href="qh-globa.htm#TOC"
-  >--------------------------------</a><a name="qh-static">-</a>
-
-  qh static variables
-    defines static variables for individual functions
-
-  notes:
-    do not use 'static' within a function.  Multiple instances of qhull
-    may exist.
-
-    do not assume zero initialization, 'QPn' may cause a restart
-*/
-  boolT ERREXITcalled;    /* true during errexit (prevents duplicate calls */
-  boolT firstcentrum;    /* for qh_printcentrum */
-  realT last_low;         /* qh_scalelast parameters for qh_setdelaunay */
-  realT last_high;
-  realT last_newhigh;
-  unsigned lastreport;    /* for qh_buildtracing */
-  int mergereport;        /* for qh_tracemerging */
-  boolT old_randomdist;   /* save RANDOMdist when io, tracing, or statistics */
-  int   ridgeoutnum;      /* number of ridges in 4OFF output */
-  void *old_qhstat;       /* for saving qh_qhstat in save_qhull() */
-  setT *old_tempstack;     /* for saving qhmem.tempstack in save_qhull */
-  setT *coplanarset;      /* set of coplanar facets for searching qh_findbesthorizon() */
-};
-
-/*=========== -macros- =========================*/
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="otherfacet_">-</a>
-
-  otherfacet_(ridge, facet)
-    return neighboring facet for a ridge in facet
-*/
-#define otherfacet_(ridge, facet) \
-                        (((ridge)->top == (facet)) ? (ridge)->bottom : (ridge)->top)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="getid_">-</a>
-
-  getid_(p)
-    return ID for facet, ridge, or vertex
-    return MAXINT if NULL (-1 causes type conversion error )
-*/
-#define getid_(p)       ((p) ? (p)->id : -1)
-
-/*============== FORALL macros ===================*/
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLfacets">-</a>
-
-  FORALLfacets { ... }
-    assign 'facet' to each facet in qh.facet_list
-
-  notes:
-    uses 'facetT *facet;'
-    assumes last facet is a sentinel
-
-  see:
-    FORALLfacet_( facetlist )
-*/
-#define FORALLfacets for (facet=qh facet_list;facet && facet->next;facet=facet->next)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLpoints">-</a>
-
-  FORALLpoints { ... }
-    assign 'point' to each point in qh.first_point, qh.num_points
-
-  declare:
-    coordT *point, *pointtemp;
-*/
-#define FORALLpoints FORALLpoint_(qh first_point, qh num_points)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLpoint_">-</a>
-
-  FORALLpoint_( points, num) { ... }
-    assign 'point' to each point in points array of num points
-
-  declare:
-    coordT *point, *pointtemp;
-*/
-#define FORALLpoint_(points, num) for(point= (points), \
-      pointtemp= (points)+qh hull_dim*(num); point < pointtemp; point += qh hull_dim)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FORALLvertices">-</a>
-
-  FORALLvertices { ... }
-    assign 'vertex' to each vertex in qh.vertex_list
-
-  declare:
-    vertexT *vertex;
-
-  notes:
-    assumes qh.vertex_list terminated with a sentinel
-*/
-#define FORALLvertices for (vertex=qh vertex_list;vertex && vertex->next;vertex= vertex->next)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHfacet_">-</a>
-
-  FOREACHfacet_( facets ) { ... }
-    assign 'facet' to each facet in facets
-
-  declare:
-    facetT *facet, **facetp;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHfacet_(facets)    FOREACHsetelement_(facetT, facets, facet)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHneighbor_">-</a>
-
-  FOREACHneighbor_( facet ) { ... }
-    assign 'neighbor' to each neighbor in facet->neighbors
-
-  FOREACHneighbor_( vertex ) { ... }
-    assign 'neighbor' to each neighbor in vertex->neighbors
-
-  declare:
-    facetT *neighbor, **neighborp;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHneighbor_(facet)  FOREACHsetelement_(facetT, facet->neighbors, neighbor)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHpoint_">-</a>
-
-  FOREACHpoint_( points ) { ... }
-    assign 'point' to each point in points set
-
-  declare:
-    pointT *point, **pointp;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHpoint_(points)    FOREACHsetelement_(pointT, points, point)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHridge_">-</a>
-
-  FOREACHridge_( ridges ) { ... }
-    assign 'ridge' to each ridge in ridges set
-
-  declare:
-    ridgeT *ridge, **ridgep;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHridge_(ridges)    FOREACHsetelement_(ridgeT, ridges, ridge)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHvertex_">-</a>
-
-  FOREACHvertex_( vertices ) { ... }
-    assign 'vertex' to each vertex in vertices set
-
-  declare:
-    vertexT *vertex, **vertexp;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_">FOREACHsetelement_</a>
-*/
-#define FOREACHvertex_(vertices) FOREACHsetelement_(vertexT, vertices,vertex)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHfacet_i_">-</a>
-
-  FOREACHfacet_i_( facets ) { ... }
-    assign 'facet' and 'facet_i' for each facet in facets set
-
-  declare:
-    facetT *facet;
-    int     facet_n, facet_i;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_i_">FOREACHsetelement_i_</a>
-*/
-#define FOREACHfacet_i_(facets)    FOREACHsetelement_i_(facetT, facets, facet)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHneighbor_i_">-</a>
-
-  FOREACHneighbor_i_( facet ) { ... }
-    assign 'neighbor' and 'neighbor_i' for each neighbor in facet->neighbors
-
-  FOREACHneighbor_i_( vertex ) { ... }
-    assign 'neighbor' and 'neighbor_i' for each neighbor in vertex->neighbors
-
-  declare:
-    facetT *neighbor;
-    int     neighbor_n, neighbor_i;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_i_">FOREACHsetelement_i_</a>
-*/
-#define FOREACHneighbor_i_(facet)  FOREACHsetelement_i_(facetT, facet->neighbors, neighbor)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHpoint_i_">-</a>
-
-  FOREACHpoint_i_( points ) { ... }
-    assign 'point' and 'point_i' for each point in points set
-
-  declare:
-    pointT *point;
-    int     point_n, point_i;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_i_">FOREACHsetelement_i_</a>
-*/
-#define FOREACHpoint_i_(points)    FOREACHsetelement_i_(pointT, points, point)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHridge_i_">-</a>
-
-  FOREACHridge_i_( ridges ) { ... }
-    assign 'ridge' and 'ridge_i' for each ridge in ridges set
-
-  declare:
-    ridgeT *ridge;
-    int     ridge_n, ridge_i;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_i_">FOREACHsetelement_i_</a>
-*/
-#define FOREACHridge_i_(ridges)    FOREACHsetelement_i_(ridgeT, ridges, ridge)
-
-/*-<a                             href="qh-poly.htm#TOC"
-  >--------------------------------</a><a name="FOREACHvertex_i_">-</a>
-
-  FOREACHvertex_i_( vertices ) { ... }
-    assign 'vertex' and 'vertex_i' for each vertex in vertices set
-
-  declare:
-    vertexT *vertex;
-    int     vertex_n, vertex_i;
-
-  see:
-    <a href="qset.h#FOREACHsetelement_i_">FOREACHsetelement_i_</a>
- */
-#define FOREACHvertex_i_(vertices) FOREACHsetelement_i_(vertexT, vertices,vertex)
-
-/********* -qhull.c prototypes (duplicated from qhull_a.h) **********************/
-
-void    qh_qhull (void);
-boolT   qh_addpoint (pointT *furthest, facetT *facet, boolT checkdist);
-void   qh_printsummary(FILE *fp);
-
-/********* -user.c prototypes (alphabetical) **********************/
-
-void   qh_errexit(int exitcode, facetT *facet, ridgeT *ridge);
-void   qh_errprint(char* string, facetT *atfacet, facetT *otherfacet, ridgeT *atridge, vertexT *atvertex);
-int     qh_new_qhull (int dim, int numpoints, coordT *points, boolT ismalloc,
-               char *qhull_cmd, FILE *outfile, FILE *errfile);
-void    qh_printfacetlist(facetT *facetlist, setT *facets, boolT printall);
-void   qh_user_memsizes (void);
-
-/***** -geom.c/geom2.c prototypes (duplicated from geom.h) ****************/
-
-facetT *qh_findbest (pointT *point, facetT *startfacet,
-                    boolT bestoutside, boolT newfacets, boolT noupper,
-                    realT *dist, boolT *isoutside, int *numpart);
-facetT *qh_findbestnew (pointT *point, facetT *startfacet,
-                     realT *dist, boolT bestoutside, boolT *isoutside, int *numpart);
-boolT   qh_gram_schmidt(int dim, realT **rows);
-void    qh_outerinner (facetT *facet, realT *outerplane, realT *innerplane);
-void   qh_printsummary(FILE *fp);
-void    qh_projectinput (void);
-void    qh_randommatrix (realT *buffer, int dim, realT **row);
-void    qh_rotateinput (realT **rows);
-void    qh_scaleinput (void);
-void    qh_setdelaunay (int dim, int count, pointT *points);
-coordT  *qh_sethalfspace_all (int dim, int count, coordT *halfspaces, pointT *feasible);
-
-/***** -global.c prototypes (alphabetical) ***********************/
-
-unsigned long qh_clock (void);
-void   qh_checkflags (char *command, char *hiddenflags);
-void   qh_freebuffers (void);
-void    qh_freeqhull (boolT allmem);
-void    qh_init_A (FILE *infile, FILE *outfile, FILE *errfile, int argc, char *argv[]);
-void    qh_init_B (coordT *points, int numpoints, int dim, boolT ismalloc);
-void   qh_init_qhull_command (int argc, char *argv[]);
-void    qh_initbuffers (coordT *points, int numpoints, int dim, boolT ismalloc);
-void   qh_initflags (char *command);
-void   qh_initqhull_buffers (void);
-void   qh_initqhull_globals (coordT *points, int numpoints, int dim, boolT ismalloc);
-void    qh_initqhull_mem (void);
-void   qh_initqhull_start (FILE *infile, FILE *outfile, FILE *errfile);
-void   qh_initthresholds (char *command);
-void    qh_option (char *option, int *i, realT *r);
-#if qh_QHpointer
-void   qh_restore_qhull (qhT **oldqh);
-qhT    *qh_save_qhull (void);
-#endif
-
-/***** -io.c prototypes (duplicated from io.h) ***********************/
-
-void    dfacet( unsigned id);
-void    dvertex( unsigned id);
-void   qh_printneighborhood (FILE *fp, int format, facetT *facetA, facetT *facetB, boolT printall);
-void   qh_produce_output(void);
-coordT *qh_readpoints(int *numpoints, int *dimension, boolT *ismalloc);
-
-
-/********* -mem.c prototypes (duplicated from mem.h) **********************/
-
-void qh_meminit (FILE *ferr);
-void qh_memfreeshort (int *curlong, int *totlong);
-
-/********* -poly.c/poly2.c prototypes (duplicated from poly.h) **********************/
-
-void    qh_check_output (void);
-void    qh_check_points (void);
-setT   *qh_facetvertices (facetT *facetlist, setT *facets, boolT allfacets);
-facetT *qh_findbestfacet (pointT *point, boolT bestoutside,
-           realT *bestdist, boolT *isoutside);
-vertexT *qh_nearvertex (facetT *facet, pointT *point, realT *bestdistp);
-pointT *qh_point (int id);
-setT   *qh_pointfacet (void /*qh.facet_list*/);
-int     qh_pointid (pointT *point);
-setT   *qh_pointvertex (void /*qh.facet_list*/);
-void    qh_setvoronoi_all (void);
-void   qh_triangulate (void /*qh facet_list*/);
-
-/********* -stat.c prototypes (duplicated from stat.h) **********************/
-
-void    qh_collectstatistics (void);
-void    qh_printallstatistics (FILE *fp, char *string);
-
-#endif /* qhDEFqhull */
diff --git a/extern/qhull/include/qhull/qhull_a.h b/extern/qhull/include/qhull/qhull_a.h
deleted file mode 100644 (file)
index d4e69b0..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*<html><pre>  -<a                             href="qh-qhull.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   qhull_a.h 
-   all header files for compiling qhull
-
-   see qh-qhull.htm
-
-   see qhull.h for user-level definitions
-   
-   see user.h for user-defineable constants
-   
-   defines internal functions for qhull.c global.c
-
-   copyright (c) 1993-2002, The Geometry Center
-
-   Notes:  grep for ((" and (" to catch fprintf("lkasdjf");
-           full parens around (x?y:z)
-          use '#include qhull/qhull_a.h' to avoid name clashes
-*/
-
-#ifndef qhDEFqhulla
-#define qhDEFqhulla
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <setjmp.h>
-#include <string.h>
-#include <math.h>
-#include <float.h>    /* some compilers will not need float.h */
-#include <limits.h>
-#include <time.h>
-#include <ctype.h>
-/*** uncomment here and qset.c
-     if string.h does not define memcpy()
-#include <memory.h>
-*/
-#include "qhull.h"
-#include "mem.h"
-#include "qset.h"
-#include "geom.h"
-#include "merge.h"
-#include "poly.h"
-#include "io.h"
-#include "stat.h"
-
-#if qh_CLOCKtype == 2  /* defined in user.h from qhull.h */
-#include <sys/types.h>
-#include <sys/times.h>
-#include <unistd.h>
-#endif
-
-#ifdef _MSC_VER  /* Microsoft Visual C++ */
-#pragma warning( disable : 4056)  /* float constant expression.  Looks like a compiler bug */
-#pragma warning( disable : 4146)  /* unary minus applied to unsigned type */
-#pragma warning( disable : 4244)  /* conversion from 'unsigned long' to 'real' */
-#pragma warning( disable : 4305)  /* conversion from 'const double' to 'float' */
-#endif
-
-/* ======= -macros- =========== */
-
-/*-<a                             href="qh-qhull.htm#TOC"
-  >--------------------------------</a><a name="traceN">-</a>
-  
-  traceN((fp.ferr, "format\n", vars));  
-    calls fprintf if qh.IStracing >= N
-  
-  notes:
-    removing tracing reduces code size but doesn't change execution speed
-*/
-#ifndef qh_NOtrace
-#define trace0(args) {if (qh IStracing) fprintf args;}
-#define trace1(args) {if (qh IStracing >= 1) fprintf args;}
-#define trace2(args) {if (qh IStracing >= 2) fprintf args;}
-#define trace3(args) {if (qh IStracing >= 3) fprintf args;}
-#define trace4(args) {if (qh IStracing >= 4) fprintf args;}
-#define trace5(args) {if (qh IStracing >= 5) fprintf args;}
-#else /* qh_NOtrace */
-#define trace0(args) {}
-#define trace1(args) {}
-#define trace2(args) {}
-#define trace3(args) {}
-#define trace4(args) {}
-#define trace5(args) {}
-#endif /* qh_NOtrace */
-
-/***** -qhull.c prototypes (alphabetical after qhull) ********************/
-
-void   qh_qhull (void);
-boolT   qh_addpoint (pointT *furthest, facetT *facet, boolT checkdist);
-void   qh_buildhull(void);
-void    qh_buildtracing (pointT *furthest, facetT *facet);
-void    qh_build_withrestart (void);
-void   qh_errexit2(int exitcode, facetT *facet, facetT *otherfacet);
-void    qh_findhorizon(pointT *point, facetT *facet, int *goodvisible,int *goodhorizon);
-pointT *qh_nextfurthest (facetT **visible);
-void   qh_partitionall(setT *vertices, pointT *points,int npoints);
-void    qh_partitioncoplanar (pointT *point, facetT *facet, realT *dist);
-void    qh_partitionpoint (pointT *point, facetT *facet);
-void   qh_partitionvisible(boolT allpoints, int *numpoints);
-void    qh_precision (char *reason);
-void   qh_printsummary(FILE *fp);
-
-/***** -global.c internal prototypes (alphabetical) ***********************/
-
-void    qh_appendprint (qh_PRINT format);
-void   qh_freebuild (boolT allmem);
-void   qh_freebuffers (void);
-void    qh_initbuffers (coordT *points, int numpoints, int dim, boolT ismalloc);
-int     qh_strtol (const char *s, char **endp);
-double  qh_strtod (const char *s, char **endp);
-
-/***** -stat.c internal prototypes (alphabetical) ***********************/
-
-void   qh_allstatA (void);
-void   qh_allstatB (void);
-void   qh_allstatC (void);
-void   qh_allstatD (void);
-void   qh_allstatE (void);
-void   qh_allstatE2 (void);
-void   qh_allstatF (void);
-void   qh_allstatG (void);
-void   qh_allstatH (void);
-void   qh_freebuffers (void);
-void    qh_initbuffers (coordT *points, int numpoints, int dim, boolT ismalloc);
-
-#endif /* qhDEFqhulla */
diff --git a/extern/qhull/include/qhull/qset.h b/extern/qhull/include/qhull/qset.h
deleted file mode 100644 (file)
index 6c0ff75..0000000
+++ /dev/null
@@ -1,468 +0,0 @@
-/*<html><pre>  -<a                             href="qh-set.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   qset.h
-     header file for qset.c that implements set
-
-   see qh-set.htm and qset.c
-   
-   only uses mem.c, malloc/free
-
-   for error handling, writes message and calls
-      qh_errexit (qhmem_ERRqhull, NULL, NULL);
-   
-   set operations satisfy the following properties:
-    - sets have a max size, the actual size (if different) is stored at the end
-    - every set is NULL terminated
-    - sets may be sorted or unsorted, the caller must distinguish this
-   
-   copyright (c) 1993-2002, The Geometry Center
-*/
-
-#ifndef qhDEFset
-#define qhDEFset 1
-
-/*================= -structures- ===============*/
-
-#ifndef DEFsetT
-#define DEFsetT 1
-typedef struct setT setT;   /* a set is a sorted or unsorted array of pointers */
-#endif
-
-/*-<a                                      href="qh-set.htm#TOC"
->----------------------------------------</a><a name="setT">-</a>
-   
-setT
-  a set or list of pointers with maximum size and actual size.
-
-variations:
-  unsorted, unique   -- a list of unique pointers with NULL terminator
-                          user guarantees uniqueness
-  sorted            -- a sorted list of unique pointers with NULL terminator
-                          qset.c guarantees uniqueness
-  unsorted           -- a list of pointers terminated with NULL
-  indexed           -- an array of pointers with NULL elements 
-
-structure for set of n elements:
-
-       --------------
-       |  maxsize 
-       --------------
-       |  e[0] - a pointer, may be NULL for indexed sets
-       --------------
-       |  e[1]
-       
-       --------------
-       |  ...
-       --------------
-       |  e[n-1]
-       --------------
-       |  e[n] = NULL
-       --------------
-       |  ...
-       --------------
-       |  e[maxsize] - n+1 or NULL (determines actual size of set)
-       --------------
-
-*/
-
-/*-- setelemT -- internal type to allow both pointers and indices
-*/
-typedef union setelemT setelemT;
-union setelemT {
-  void    *p;
-  int      i;         /* integer used for e[maxSize] */
-};
-
-struct setT {
-  int maxsize;          /* maximum number of elements (except NULL) */
-  setelemT e[1];        /* array of pointers, tail is NULL */
-                        /* last slot (unless NULL) is actual size+1 
-                           e[maxsize]==NULL or e[e[maxsize]-1]==NULL */
-                        /* this may generate a warning since e[] contains
-                          maxsize elements */
-};
-
-/*=========== -constants- =========================*/
-
-/*-<a                                 href="qh-set.htm#TOC"
-  >-----------------------------------</a><a name="SETelemsize">-</a>
-   
-  SETelemsize
-    size of a set element in bytes
-*/
-#define SETelemsize sizeof(setelemT) 
-
-
-/*=========== -macros- =========================*/
-
-/*-<a                                 href="qh-set.htm#TOC"
-  >-----------------------------------</a><a name="FOREACHsetelement_">-</a>
-   
-   FOREACHsetelement_(type, set, variable)
-     define FOREACH iterator
-
-   declare:  
-     assumes *variable and **variablep are declared
-     no space in "variable)" [DEC Alpha cc compiler]
-
-   each iteration:
-     variable is set element
-     variablep is one beyond variable.  
-
-   to repeat an element:
-     variablep--; / *repeat* /
-
-   at exit:
-     variable is NULL at end of loop
-
-   example:  
-     #define FOREACHfacet_( facets ) FOREACHsetelement_( facetT, facets, facet )
-
-   notes:
-     use FOREACHsetelement_i_() if need index or include NULLs
-
-   WARNING: 
-     nested loops can't use the same variable (define another FOREACH)
-   
-     needs braces if nested inside another FOREACH
-     this includes intervening blocks, e.g. FOREACH...{ if () FOREACH...} )
-*/
-#define FOREACHsetelement_(type, set, variable) \
-        if (((variable= NULL), set)) for(\
-          variable##p= (type **)&((set)->e[0].p); \
-         (variable= *variable##p++);)
-
-/*-<a                                      href="qh-set.htm#TOC"
-  >----------------------------------------</a><a name="FOREACHsetelement_i_">-</a>
-
-   FOREACHsetelement_i_(type, set, variable)
-     define indexed FOREACH iterator
-
-   declare:  
-     type *variable, variable_n, variable_i;
-
-   each iteration:
-     variable is set element, may be NULL
-     variable_i is index, variable_n is qh_setsize()
-
-   to repeat an element:
-     variable_i--; variable_n-- repeats for deleted element
-
-   at exit:
-     variable==NULL and variable_i==variable_n
-
-   example:
-     #define FOREACHfacet_i_( facets ) FOREACHsetelement_i_( facetT, facets, facet )
-   
-   WARNING: 
-     nested loops can't use the same variable (define another FOREACH)
-   
-     needs braces if nested inside another FOREACH
-     this includes intervening blocks, e.g. FOREACH...{ if () FOREACH...} )
-*/
-#define FOREACHsetelement_i_(type, set, variable) \
-        if (((variable= NULL), set)) for (\
-          variable##_i= 0, variable= (type *)((set)->e[0].p), \
-                   variable##_n= qh_setsize(set);\
-          variable##_i < variable##_n;\
-          variable= (type *)((set)->e[++variable##_i].p) )
-
-/*-<a                                    href="qh-set.htm#TOC"
-  >--------------------------------------</a><a name="FOREACHsetelementreverse_">-</a>
-
-   FOREACHsetelementreverse_(type, set, variable)- 
-     define FOREACH iterator in reverse order
-
-   declare:  
-     assumes *variable and **variablep are declared
-     also declare 'int variabletemp'
-
-   each iteration:
-     variable is set element
-
-   to repeat an element:
-     variabletemp++; / *repeat* /
-
-   at exit:
-     variable is NULL
-
-   example:
-     #define FOREACHvertexreverse_( vertices ) FOREACHsetelementreverse_( vertexT, vertices, vertex )
-  
-   notes:
-     use FOREACHsetelementreverse12_() to reverse first two elements
-     WARNING: needs braces if nested inside another FOREACH
-*/
-#define FOREACHsetelementreverse_(type, set, variable) \
-        if (((variable= NULL), set)) for(\
-          variable##temp= qh_setsize(set)-1, variable= qh_setlast(set);\
-          variable; variable= \
-          ((--variable##temp >= 0) ? SETelemt_(set, variable##temp, type) : NULL))
-
-/*-<a                                 href="qh-set.htm#TOC"
-  >-----------------------------------</a><a name="FOREACHsetelementreverse12_">-</a>
-
-   FOREACHsetelementreverse12_(type, set, variable)- 
-     define FOREACH iterator with e[1] and e[0] reversed
-
-   declare:  
-     assumes *variable and **variablep are declared
-
-   each iteration:
-     variable is set element
-     variablep is one after variable.  
-
-   to repeat an element:
-     variablep--; / *repeat* /
-
-   at exit:
-     variable is NULL at end of loop
-  
-   example
-     #define FOREACHvertexreverse12_( vertices ) FOREACHsetelementreverse12_( vertexT, vertices, vertex )
-
-   notes:
-     WARNING: needs braces if nested inside another FOREACH
-*/
-#define FOREACHsetelementreverse12_(type, set, variable) \
-        if (((variable= NULL), set)) for(\
-          variable##p= (type **)&((set)->e[1].p); \
-         (variable= *variable##p); \
-          variable##p == ((type **)&((set)->e[0].p))?variable##p += 2: \
-             (variable##p == ((type **)&((set)->e[1].p))?variable##p--:variable##p++))
-
-/*-<a                                 href="qh-set.htm#TOC"
-  >-----------------------------------</a><a name="FOREACHelem_">-</a>
-
-   FOREACHelem_( set )- 
-     iterate elements in a set
-
-   declare:  
-     void *elem, *elemp;
-
-   each iteration:
-     elem is set element
-     elemp is one beyond
-
-   to repeat an element:
-     elemp--; / *repeat* /
-
-   at exit:
-     elem == NULL at end of loop
-  
-   example:
-     FOREACHelem_(set) {
-     
-   notes:
-     WARNING: needs braces if nested inside another FOREACH
-*/
-#define FOREACHelem_(set) FOREACHsetelement_(void, set, elem)
-
-/*-<a                                 href="qh-set.htm#TOC"
-  >-----------------------------------</a><a name="FOREACHset_">-</a>
-
-   FOREACHset_( set )- 
-     iterate a set of sets
-
-   declare:  
-     setT *set, **setp;
-
-   each iteration:
-     set is set element
-     setp is one beyond
-
-   to repeat an element:
-     setp--; / *repeat* /
-
-   at exit:
-     set == NULL at end of loop
-  
-   example
-     FOREACHset_(sets) {
-     
-   notes:
-     WARNING: needs braces if nested inside another FOREACH
-*/
-#define FOREACHset_(sets) FOREACHsetelement_(setT, sets, set)
-
-/*-<a                                       href="qh-set.htm#TOC"
-  >-----------------------------------------</a><a name="SETindex_">-</a>
-
-   SETindex_( set, elem )
-     return index of elem in set
-
-   notes:   
-     for use with FOREACH iteration
-
-   example:
-     i= SETindex_(ridges, ridge)
-*/
-#define SETindex_(set, elem) ((void **)elem##p - (void **)&(set)->e[1].p)
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETref_">-</a>
-
-   SETref_( elem )
-     l.h.s. for modifying the current element in a FOREACH iteration
-
-   example:
-     SETref_(ridge)= anotherridge;
-*/
-#define SETref_(elem) (elem##p[-1])
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETelem_">-</a>
-
-   SETelem_(set, n)
-     return the n'th element of set
-   
-   notes:
-      assumes that n is valid [0..size] and that set is defined
-      use SETelemt_() for type cast
-*/
-#define SETelem_(set, n)           ((set)->e[n].p)
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETelemt_">-</a>
-
-   SETelemt_(set, n, type)
-     return the n'th element of set as a type
-   
-   notes:
-      assumes that n is valid [0..size] and that set is defined
-*/
-#define SETelemt_(set, n, type)    ((type*)((set)->e[n].p))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETelemaddr_">-</a>
-
-   SETelemaddr_(set, n, type)
-     return address of the n'th element of a set
-   
-   notes:
-      assumes that n is valid [0..size] and set is defined 
-*/
-#define SETelemaddr_(set, n, type) ((type **)(&((set)->e[n].p)))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETfirst_">-</a>
-
-   SETfirst_(set)
-     return first element of set
-   
-*/
-#define SETfirst_(set)             ((set)->e[0].p)
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETfirstt_">-</a>
-
-   SETfirstt_(set, type)
-     return first element of set as a type
-   
-*/
-#define SETfirstt_(set, type)      ((type*)((set)->e[0].p))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETsecond_">-</a>
-
-   SETsecond_(set)
-     return second element of set
-   
-*/
-#define SETsecond_(set)            ((set)->e[1].p)
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETsecondt_">-</a>
-
-   SETsecondt_(set, type)
-     return second element of set as a type
-*/
-#define SETsecondt_(set, type)     ((type*)((set)->e[1].p))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETaddr_">-</a>
-
-   SETaddr_(set, type)
-       return address of set's elements
-*/
-#define SETaddr_(set,type)        ((type **)(&((set)->e[0].p)))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETreturnsize_">-</a>
-
-   SETreturnsize_(set, size) 
-     return size of a set
-   
-   notes:
-      set must be defined
-      use qh_setsize(set) unless speed is critical
-*/
-#define SETreturnsize_(set, size) (((size)= ((set)->e[(set)->maxsize].i))?(--(size)):((size)= (set)->maxsize))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETempty_">-</a>
-
-   SETempty_(set) 
-     return true (1) if set is empty
-   
-   notes:
-      set may be NULL
-*/
-#define SETempty_(set)                   (!set || (SETfirst_(set) ? 0:1))
-
-/*-<a                                     href="qh-set.htm#TOC"
-  >---------------------------------------</a><a name="SETtruncate_">-</a>
-
-   SETtruncate_(set)
-     return first element of set
-
-   see:
-     qh_settruncate()
-   
-*/
-#define SETtruncate_(set, size) {set->e[set->maxsize].i= size+1; /* maybe overwritten */ \
-      set->e[size].p= NULL;}
-
-/*======= prototypes in alphabetical order ============*/
-
-void  qh_setaddsorted(setT **setp, void *elem);
-void  qh_setaddnth(setT **setp, int nth, void *newelem);
-void  qh_setappend(setT **setp, void *elem);
-void  qh_setappend_set(setT **setp, setT *setA);
-void  qh_setappend2ndlast(setT **setp, void *elem);
-void  qh_setcheck(setT *set, char *tname, int id);
-void  qh_setcompact(setT *set);
-setT *qh_setcopy(setT *set, int extra);
-void *qh_setdel(setT *set, void *elem);
-void *qh_setdellast(setT *set);
-void *qh_setdelnth(setT *set, int nth);
-void *qh_setdelnthsorted(setT *set, int nth);
-void *qh_setdelsorted(setT *set, void *newelem);
-setT *qh_setduplicate( setT *set, int elemsize);
-int   qh_setequal(setT *setA, setT *setB);
-int   qh_setequal_except (setT *setA, void *skipelemA, setT *setB, void *skipelemB);
-int   qh_setequal_skip (setT *setA, int skipA, setT *setB, int skipB);
-void  qh_setfree(setT **set);
-void  qh_setfree2( setT **setp, int elemsize);
-void  qh_setfreelong(setT **set);
-int   qh_setin(setT *set, void *setelem);
-int   qh_setindex(setT *set, void *setelem);
-void  qh_setlarger(setT **setp);
-void *qh_setlast(setT *set);
-setT *qh_setnew(int size);
-setT *qh_setnew_delnthsorted(setT *set, int size, int nth, int prepend);
-void  qh_setprint(FILE *fp, char* string, setT *set);
-void  qh_setreplace(setT *set, void *oldelem, void *newelem);
-int   qh_setsize(setT *set);
-setT *qh_settemp(int setsize);
-void  qh_settempfree(setT **set);
-void  qh_settempfree_all(void);
-setT *qh_settemppop(void);
-void  qh_settemppush(setT *set);
-void  qh_settruncate (setT *set, int size);
-int   qh_setunique (setT **set, void *elem);
-void  qh_setzero (setT *set, int index, int size);
-
-
-#endif /* qhDEFset */
diff --git a/extern/qhull/include/qhull/stat.h b/extern/qhull/include/qhull/stat.h
deleted file mode 100644 (file)
index 1dae54e..0000000
+++ /dev/null
@@ -1,520 +0,0 @@
-  /*<html><pre>  -<a                             href="qh-stat.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   stat.h 
-     contains all statistics that are collected for qhull
-
-   see qh-stat.htm and stat.c
-
-   copyright (c) 1993-2002, The Geometry Center
-
-   recompile qhull if you change this file
-
-   Integer statistics are Z* while real statistics are W*.  
-
-   define maydebugx to call a routine at every statistic event
-
-*/
-
-#ifndef qhDEFstat
-#define qhDEFstat 1
-
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >-------------------------------</a><a name="KEEPstatistics">-</a>
-
-  qh_KEEPstatistics
-    0 turns off statistic gathering (except zzdef/zzinc/zzadd/zzval/wwval)
-*/
-#ifndef qh_KEEPstatistics
-#define qh_KEEPstatistics 1
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >-------------------------------</a><a name="statistics">-</a>
-
-  Zxxx for integers, Wxxx for reals
-
-  notes:
-    be sure that all statistics are defined in stat.c
-      otherwise initialization may core dump
-    can pick up all statistics by:
-      grep '[zw].*_[(][ZW]' *.c >z.x
-    remove trailers with query">-</a>
-    remove leaders with  query-replace-regexp [ ^I]+  (
-*/
-#if qh_KEEPstatistics
-enum statistics {     /* alphabetical after Z/W */
-    Zacoplanar,
-    Wacoplanarmax,
-    Wacoplanartot,
-    Zangle,
-    Wangle,
-    Wanglemax,
-    Wanglemin,
-    Zangletests,
-    Wareatot,
-    Wareamax,
-    Wareamin,
-    Zavoidold,
-    Wavoidoldmax,
-    Wavoidoldtot,
-    Zback0,
-    Zbestcentrum,
-    Zbestdist,
-    Zcentrumtests,
-    Zcheckpart,
-    Zcomputefurthest,
-    Zconcave,
-    Wconcavemax,
-    Wconcavetot,
-    Zconcaveridges,
-    Zconcaveridge,
-    Zcoplanar,
-    Wcoplanarmax,
-    Wcoplanartot,
-    Zcoplanarangle,
-    Zcoplanarcentrum,
-    Zcoplanarhorizon,
-    Zcoplanarinside,
-    Zcoplanarpart,
-    Zcoplanarridges,
-    Wcpu,
-    Zcyclefacetmax,
-    Zcyclefacettot,
-    Zcyclehorizon,
-    Zcyclevertex,
-    Zdegen,
-    Wdegenmax,
-    Wdegentot,
-    Zdegenvertex,
-    Zdelfacetdup, 
-    Zdelridge,
-    Zdelvertextot,
-    Zdelvertexmax,
-    Zdetsimplex,
-    Zdistcheck,
-    Zdistconvex,
-    Zdistgood,
-    Zdistio,
-    Zdistplane,
-    Zdiststat,
-    Zdistvertex,
-    Zdistzero,
-    Zdoc1,
-    Zdoc2,
-    Zdoc3,
-    Zdoc4,
-    Zdoc5,
-    Zdoc6,
-    Zdoc7,
-    Zdoc8,
-    Zdoc9,
-    Zdoc10,
-    Zdoc11,
-    Zdoc12,
-    Zdropdegen,
-    Zdropneighbor,
-    Zdupflip,
-    Zduplicate,
-    Wduplicatemax,
-    Wduplicatetot,
-    Zdupridge,
-    Zdupsame,
-    Zflipped, 
-    Wflippedmax, 
-    Wflippedtot, 
-    Zflippedfacets,
-    Zfindbest,
-    Zfindbestmax,
-    Zfindbesttot,
-    Zfindcoplanar,
-    Zfindfail,
-    Zfindhorizon,
-    Zfindhorizonmax,
-    Zfindhorizontot,
-    Zfindjump,
-    Zfindnew,
-    Zfindnewmax,
-    Zfindnewtot,
-    Zfindnewjump,
-    Zfindnewsharp,
-    Zgauss0,
-    Zgoodfacet,
-    Zhashlookup,
-    Zhashridge,
-    Zhashridgetest,
-    Zhashtests,
-    Zinsidevisible,
-    Zintersect,
-    Zintersectfail,
-    Zintersectmax,
-    Zintersectnum,
-    Zintersecttot,
-    Zmaxneighbors,
-    Wmaxout,
-    Wmaxoutside,
-    Zmaxridges,
-    Zmaxvertex,
-    Zmaxvertices,
-    Zmaxvneighbors,
-    Zmemfacets,
-    Zmempoints,
-    Zmemridges,
-    Zmemvertices,
-    Zmergeflipdup,
-    Zmergehorizon,
-    Zmergeinittot,
-    Zmergeinitmax,
-    Zmergeinittot2,
-    Zmergeintohorizon,
-    Zmergenew,
-    Zmergesettot,
-    Zmergesetmax,
-    Zmergesettot2,
-    Zmergesimplex,
-    Zmergevertex,
-    Wmindenom,
-    Wminvertex,
-    Zminnorm,
-    Zmultiridge,
-    Znearlysingular,
-    Zneighbor,
-    Wnewbalance,
-    Wnewbalance2,
-    Znewfacettot,
-    Znewfacetmax,
-    Znewvertex,
-    Wnewvertex,
-    Wnewvertexmax,
-    Znoarea,
-    Znonsimplicial,
-    Znowsimplicial,
-    Znotgood,
-    Znotgoodnew,
-    Znotmax,
-    Znumfacets,
-    Znummergemax,
-    Znummergetot,
-    Znumneighbors,
-    Znumridges,
-    Znumvertices,
-    Znumvisibility,
-    Znumvneighbors,
-    Zonehorizon,
-    Zpartangle,
-    Zpartcoplanar,
-    Zpartflip,
-    Zparthorizon,
-    Zpartinside,
-    Zpartition, 
-    Zpartitionall,
-    Zpartnear,
-    Zpbalance,
-    Wpbalance,
-    Wpbalance2, 
-    Zpostfacets, 
-    Zpremergetot,
-    Zprocessed,
-    Zremvertex,
-    Zremvertexdel,
-    Zrenameall,
-    Zrenamepinch,
-    Zrenameshare,
-    Zretry,
-    Wretrymax,
-    Zridge,
-    Wridge,
-    Wridgemax,
-    Zridge0,
-    Wridge0,
-    Wridge0max,
-    Zridgemid,
-    Wridgemid,
-    Wridgemidmax,
-    Zridgeok,
-    Wridgeok,
-    Wridgeokmax,
-    Zsearchpoints,
-    Zsetplane,
-    Ztestvneighbor,
-    Ztotcheck,
-    Ztothorizon,
-    Ztotmerge,
-    Ztotpartcoplanar,
-    Ztotpartition,
-    Ztotridges,
-    Ztotvertices,
-    Ztotvisible,
-    Ztricoplanar,
-    Ztricoplanarmax,
-    Ztricoplanartot,
-    Ztridegen,
-    Ztrimirror,
-    Ztrinull,
-    Wvertexmax,
-    Wvertexmin,
-    Zvertexridge,
-    Zvertexridgetot,
-    Zvertexridgemax,
-    Zvertices,
-    Zvisfacettot,
-    Zvisfacetmax,
-    Zvisvertextot,
-    Zvisvertexmax,
-    Zwidefacet,
-    Zwidevertices,
-    ZEND};
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >-------------------------------</a><a name="ZZstat">-</a>
-
-  Zxxx/Wxxx statistics that remain defined if qh_KEEPstatistics=0
-
-  notes:
-    be sure to use zzdef, zzinc, etc. with these statistics (no double checking!)
-*/
-#else
-enum statistics {     /* for zzdef etc. macros */
-  Zback0,
-  Zbestdist,
-  Zcentrumtests,
-  Zcheckpart,
-  Zconcaveridges,
-  Zcoplanarhorizon,
-  Zcoplanarpart,
-  Zcoplanarridges,
-  Zcyclefacettot,
-  Zcyclehorizon,
-  Zdelvertextot,
-  Zdistcheck,
-  Zdistconvex,
-  Zdistzero,
-  Zdoc1,
-  Zdoc2,
-  Zdoc3,
-  Zdoc11,
-  Zflippedfacets,
-  Zgauss0,
-  Zminnorm,
-  Zmultiridge,
-  Znearlysingular,
-  Wnewvertexmax,
-  Znumvisibility,
-  Zpartcoplanar,
-  Zpartition,
-  Zpartitionall,
-  Zprocessed,
-  Zretry,
-  Zridge,
-  Wridge,
-  Wridgemax,
-  Zridge0,
-  Wridge0,
-  Wridge0max,
-  Zridgemid,
-  Wridgemid,
-  Wridgemidmax,
-  Zridgeok,
-  Wridgeok,
-  Wridgeokmax,
-  Zsetplane,
-  Ztotmerge,
-    ZEND};
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >-------------------------------</a><a name="ztype">-</a>
-  
-  ztype
-    the type of a statistic sets its initial value.  
-
-  notes:
-    The type should be the same as the macro for collecting the statistic
-*/
-enum ztypes {zdoc,zinc,zadd,zmax,zmin,ZTYPEreal,wadd,wmax,wmin,ZTYPEend};
-
-/*========== macros and constants =============*/
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="MAYdebugx">-</a>
-  
-  MAYdebugx
-    define as maydebug() to be called frequently for error trapping
-*/
-#define MAYdebugx 
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="zdef_">-</a>
-  
-  zzdef_, zdef_( type, name, doc, -1)
-    define a statistic (assumes 'qhstat.next= 0;')
-
-  zdef_( type, name, doc, count)
-    define an averaged statistic
-    printed as name/count
-*/
-#define zzdef_(stype,name,string,cnt) qhstat id[qhstat next++]=name; \
-   qhstat doc[name]= string; qhstat count[name]= cnt; qhstat type[name]= stype
-#if qh_KEEPstatistics
-#define zdef_(stype,name,string,cnt) qhstat id[qhstat next++]=name; \
-   qhstat doc[name]= string; qhstat count[name]= cnt; qhstat type[name]= stype
-#else
-#define zdef_(type,name,doc,count)
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="zinc_">-</a>
-  
-  zzinc_( name ), zinc_( name)
-    increment an integer statistic
-*/
-#define zzinc_(id) {MAYdebugx; qhstat stats[id].i++;}
-#if qh_KEEPstatistics
-#define zinc_(id) {MAYdebugx; qhstat stats[id].i++;}
-#else
-#define zinc_(id) {}
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="zadd_">-</a>
-  
-  zzadd_( name, value ), zadd_( name, value ), wadd_( name, value )
-    add value to an integer or real statistic
-*/
-#define zzadd_(id, val) {MAYdebugx; qhstat stats[id].i += (val);}
-#define wwadd_(id, val) {MAYdebugx; qhstat stats[id].r += (val);}
-#if qh_KEEPstatistics
-#define zadd_(id, val) {MAYdebugx; qhstat stats[id].i += (val);}
-#define wadd_(id, val) {MAYdebugx; qhstat stats[id].r += (val);}
-#else
-#define zadd_(id, val) {}
-#define wadd_(id, val) {}
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="zval_">-</a>
-
-  zzval_( name ), zval_( name ), wwval_( name )
-    set or return value of a statistic
-*/
-#define zzval_(id) ((qhstat stats[id]).i)
-#define wwval_(id) ((qhstat stats[id]).r)
-#if qh_KEEPstatistics
-#define zval_(id) ((qhstat stats[id]).i)
-#define wval_(id) ((qhstat stats[id]).r)
-#else
-#define zval_(id) qhstat tempi
-#define wval_(id) qhstat tempr
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="zmax_">-</a>
-
-  zmax_( id, val ), wmax_( id, value )
-    maximize id with val
-*/
-#define wwmax_(id, val) {MAYdebugx; maximize_(qhstat stats[id].r,(val));}
-#if qh_KEEPstatistics
-#define zmax_(id, val) {MAYdebugx; maximize_(qhstat stats[id].i,(val));}
-#define wmax_(id, val) {MAYdebugx; maximize_(qhstat stats[id].r,(val));}
-#else
-#define zmax_(id, val) {}
-#define wmax_(id, val) {}
-#endif
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="zmin_">-</a>
-
-  zmin_( id, val ), wmin_( id, value )
-    minimize id with val
-*/
-#if qh_KEEPstatistics
-#define zmin_(id, val) {MAYdebugx; minimize_(qhstat stats[id].i,(val));}
-#define wmin_(id, val) {MAYdebugx; minimize_(qhstat stats[id].r,(val));}
-#else
-#define zmin_(id, val) {}
-#define wmin_(id, val) {}
-#endif
-
-/*================== stat.h types ==============*/
-
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="intrealT">-</a>
-  intrealT
-    union of integer and real, used for statistics
-*/
-typedef union intrealT intrealT;    /* union of int and realT */
-union intrealT {
-    int i;
-    realT r;
-};
-
-/*-<a                             href="qh-stat.htm#TOC"
-  >--------------------------------</a><a name="qhstat">-</a>
-  
-  qhstat
-    global data structure for statistics
-  
-  notes:
-   access to qh_qhstat is via the "qhstat" macro.  There are two choices
-   qh_QHpointer = 1     access globals via a pointer
-                        enables qh_saveqhull() and qh_restoreqhull()
-               = 0     qh_qhstat is a static data structure
-                       only one instance of qhull() can be active at a time
-                       default value
-   qh_QHpointer is defined in qhull.h
-
-   allocated in stat.c
-*/
-typedef struct qhstatT qhstatT; 
-#if qh_QHpointer
-#define qhstat qh_qhstat->
-extern qhstatT *qh_qhstat;
-#else
-#define qhstat qh_qhstat.
-extern qhstatT qh_qhstat; 
-#endif
-struct qhstatT {  
-  intrealT   stats[ZEND];     /* integer and real statistics */
-  unsigned   char id[ZEND+10]; /* id's in print order */
-  char      *doc[ZEND];       /* array of documentation strings */
-  short int  count[ZEND];     /* -1 if none, else index of count to use */
-  char       type[ZEND];      /* type, see ztypes above */
-  char       printed[ZEND];   /* true, if statistic has been printed */
-  intrealT   init[ZTYPEend];  /* initial values by types, set initstatistics */
-
-  int        next;            /* next index for zdef_ */
-  int        precision;       /* index for precision problems */
-  int        vridges;         /* index for Voronoi ridges */
-  int        tempi;
-  realT      tempr;
-};
-
-/*========== function prototypes ===========*/
-
-void    qh_allstatA(void);
-void    qh_allstatB(void);
-void    qh_allstatC(void);
-void    qh_allstatD(void);
-void    qh_allstatE(void);
-void    qh_allstatE2(void);
-void    qh_allstatF(void);
-void    qh_allstatG(void);
-void    qh_allstatH(void);
-void    qh_allstatI(void);
-void    qh_allstatistics (void);
-void    qh_collectstatistics (void);
-void   qh_freestatistics (void);
-void    qh_initstatistics (void);
-boolT  qh_newstats (int index, int *nextindex);
-boolT  qh_nostatistic (int i);
-void    qh_printallstatistics (FILE *fp, char *string);
-void    qh_printstatistics (FILE *fp, char *string);
-void   qh_printstatlevel (FILE *fp, int id, int start);
-void   qh_printstats (FILE *fp, int index, int *nextindex);
-realT   qh_stddev (int num, realT tot, realT tot2, realT *ave);
-
-#endif   /* qhDEFstat */
diff --git a/extern/qhull/include/qhull/user.h b/extern/qhull/include/qhull/user.h
deleted file mode 100644 (file)
index 7955896..0000000
+++ /dev/null
@@ -1,762 +0,0 @@
-/*<html><pre>  -<a                             href="qh-user.htm"
-  >-------------------------------</a><a name="TOP">-</a>
-
-   user.h
-   user redefinable constants
-
-   see qh-user.htm.  see COPYING for copyright information.
-
-   before reading any code, review qhull.h for data structure definitions and 
-   the "qh" macro.
-*/
-
-#ifndef qhDEFuser
-#define qhDEFuser 1
-
-/*============= data types and configuration macros ==========*/
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="realT">-</a>
-  
-  realT
-    set the size of floating point numbers
-  
-  qh_REALdigits 
-    maximimum number of significant digits
-  
-  qh_REAL_1, qh_REAL_2n, qh_REAL_3n
-    format strings for printf
-  
-  qh_REALmax, qh_REALmin
-    maximum and minimum (near zero) values  
-  
-  qh_REALepsilon
-    machine roundoff.  Maximum roundoff error for addition and multiplication.
-    
-  notes:
-   Select whether to store floating point numbers in single precision (float)
-   or double precision (double).
-   
-   Use 'float' to save about 8% in time and 25% in space.  This is particularly
-   help if high-d where convex hulls are space limited.  Using 'float' also
-   reduces the printed size of Qhull's output since numbers have 8 digits of 
-   precision.
-   
-   Use 'double' when greater arithmetic precision is needed.  This is needed
-   for Delaunay triangulations and Voronoi diagrams when you are not merging 
-   facets.
-
-   If 'double' gives insufficient precision, your data probably includes
-   degeneracies.  If so you should use facet merging (done by default)
-   or exact arithmetic (see imprecision section of manual, qh-impre.htm).  
-   You may also use option 'Po' to force output despite precision errors.
-
-   You may use 'long double', but many format statements need to be changed
-   and you may need a 'long double' square root routine.  S. Grundmann
-   (sg@eeiwzb.et.tu-dresden.de) has done this.  He reports that the code runs 
-   much slower with little gain in precision.    
-
-   WARNING: on some machines,    int f(){realT a= REALmax;return (a == REALmax);}
-      returns False.  Use (a > REALmax/2) instead of (a == REALmax).
-
-   REALfloat =   1      all numbers are 'float' type
-             =   0      all numbers are 'double' type
-*/
-#define REALfloat 0
-
-#if (REALfloat == 1)
-#define realT float
-#define REALmax FLT_MAX
-#define REALmin FLT_MIN
-#define REALepsilon FLT_EPSILON
-#define qh_REALdigits 8   /* maximum number of significant digits */
-#define qh_REAL_1 "%6.8g "
-#define qh_REAL_2n "%6.8g %6.8g\n"
-#define qh_REAL_3n "%6.8g %6.8g %6.8g\n"
-
-#elif (REALfloat == 0)
-#define realT double
-#define REALmax DBL_MAX
-#define REALmin DBL_MIN
-#define REALepsilon DBL_EPSILON
-#define qh_REALdigits 16    /* maximum number of significant digits */
-#define qh_REAL_1 "%6.16g "
-#define qh_REAL_2n "%6.16g %6.16g\n"
-#define qh_REAL_3n "%6.16g %6.16g %6.16g\n"
-
-#else
-#error unknown float option
-#endif
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="CPUclock">-</a>
-  
-  qh_CPUclock
-    define the clock() function for reporting the total time spent by Qhull
-    returns CPU ticks as a 'long int'
-    qh_CPUclock is only used for reporting the total time spent by Qhull
-
-  qh_SECticks 
-    the number of clock ticks per second
-
-  notes:
-    looks for CLOCKS_PER_SEC, CLOCKS_PER_SECOND, or assumes microseconds
-    to define a custom clock, set qh_CLOCKtype to 0
-
-    if your system does not use clock() to return CPU ticks, replace
-    qh_CPUclock with the corresponding function.  It is converted
-    to unsigned long to prevent wrap-around during long runs.
-   
-
-   Set qh_CLOCKtype to
-   
-     1         for CLOCKS_PER_SEC, CLOCKS_PER_SECOND, or microsecond
-                Note:  may fail if more than 1 hour elapsed time
-
-     2         use qh_clock() with POSIX times() (see global.c)
-*/
-#define qh_CLOCKtype 1  /* change to the desired number */
-
-#if (qh_CLOCKtype == 1)
-
-#if defined (CLOCKS_PER_SECOND)
-#define qh_CPUclock    ((unsigned long)clock())  /* return CPU clock */
-#define qh_SECticks CLOCKS_PER_SECOND
-
-#elif defined (CLOCKS_PER_SEC)
-#define qh_CPUclock    ((unsigned long)clock())  /* return CPU clock */
-#define qh_SECticks CLOCKS_PER_SEC
-
-#elif defined (CLK_TCK)
-#define qh_CPUclock    ((unsigned long)clock())  /* return CPU clock */
-#define qh_SECticks CLK_TCK
-
-#else
-#define qh_CPUclock    ((unsigned long)clock())  /* return CPU clock */
-#define qh_SECticks 1E6
-#endif
-
-#elif (qh_CLOCKtype == 2)
-#define qh_CPUclock    qh_clock()  /* return CPU clock */
-#define qh_SECticks 100
-
-#else /* qh_CLOCKtype == ? */
-#error unknown clock option
-#endif
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="RANDOM">-</a>
-  
-  qh_RANDOMtype, qh_RANDOMmax, qh_RANDOMseed
-    define random number generator
-
-    qh_RANDOMint generates a random integer between 0 and qh_RANDOMmax.  
-    qh_RANDOMseed sets the random number seed for qh_RANDOMint
-
-  Set qh_RANDOMtype (default 5) to:
-    1       for random() with 31 bits (UCB)
-    2       for rand() with RAND_MAX or 15 bits (system 5)
-    3       for rand() with 31 bits (Sun)
-    4       for lrand48() with 31 bits (Solaris)
-    5       for qh_rand() with 31 bits (included with Qhull)
-  
-  notes:
-    Random numbers are used by rbox to generate point sets.  Random
-    numbers are used by Qhull to rotate the input ('QRn' option),
-    simulate a randomized algorithm ('Qr' option), and to simulate
-    roundoff errors ('Rn' option).
-
-    Random number generators differ between systems.  Most systems provide
-    rand() but the period varies.  The period of rand() is not critical
-    since qhull does not normally use random numbers.  
-
-    The default generator is Park & Miller's minimal standard random
-    number generator [CACM 31:1195 '88].  It is included with Qhull.
-
-    If qh_RANDOMmax is wrong, qhull will report a warning and Geomview 
-    output will likely be invisible.
-*/
-#define qh_RANDOMtype 5   /* *** change to the desired number *** */
-
-#if (qh_RANDOMtype == 1)
-#define qh_RANDOMmax ((realT)0x7fffffffUL)  /* 31 bits, random()/MAX */
-#define qh_RANDOMint random()
-#define qh_RANDOMseed_(seed) srandom(seed);
-
-#elif (qh_RANDOMtype == 2)
-#ifdef RAND_MAX
-#define qh_RANDOMmax ((realT)RAND_MAX)
-#else
-#define qh_RANDOMmax ((realT)32767)   /* 15 bits (System 5) */
-#endif
-#define qh_RANDOMint  rand()
-#define qh_RANDOMseed_(seed) srand((unsigned)seed);
-  
-#elif (qh_RANDOMtype == 3)
-#define qh_RANDOMmax ((realT)0x7fffffffUL)  /* 31 bits, Sun */
-#define qh_RANDOMint  rand()
-#define qh_RANDOMseed_(seed) srand((unsigned)seed);
-
-#elif (qh_RANDOMtype == 4)
-#define qh_RANDOMmax ((realT)0x7fffffffUL)  /* 31 bits, lrand38()/MAX */
-#define qh_RANDOMint lrand48()
-#define qh_RANDOMseed_(seed) srand48(seed);
-
-#elif (qh_RANDOMtype == 5)
-#define qh_RANDOMmax ((realT)2147483646UL)  /* 31 bits, qh_rand/MAX */
-#define qh_RANDOMint qh_rand()
-#define qh_RANDOMseed_(seed) qh_srand(seed);
-/* unlike rand(), never returns 0 */
-
-#else
-#error: unknown random option
-#endif
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="ORIENTclock">-</a>
-  
-  qh_ORIENTclock
-    0 for inward pointing normals by Geomview convention
-*/
-#define qh_ORIENTclock 0 
-
-
-/*========= performance related constants =========*/
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="HASHfactor">-</a>
-  
-  qh_HASHfactor
-    total hash slots / used hash slots.  Must be at least 1.1.
-      
-  notes:
-    =2 for at worst 50% occupancy for qh hash_table and normally 25% occupancy
-*/
-#define qh_HASHfactor 2
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="VERIFYdirect">-</a>
-  
-  qh_VERIFYdirect
-    with 'Tv' verify all points against all facets if op count is smaller
-
-  notes:
-    if greater, calls qh_check_bestdist() instead
-*/
-#define qh_VERIFYdirect 1000000 
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="INITIALsearch">-</a>
-  
-  qh_INITIALsearch
-     if qh_INITIALmax, search points up to this dimension
-*/
-#define qh_INITIALsearch 6
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="INITIALmax">-</a>
-  
-  qh_INITIALmax
-    if dim >= qh_INITIALmax, use min/max coordinate points for initial simplex
-      
-  notes:
-    from points with non-zero determinants
-    use option 'Qs' to override (much slower)
-*/
-#define qh_INITIALmax 8
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="JOGGLEdefault">-</a>
-  
-  qh_JOGGLEdefault
-    default qh.JOGGLEmax is qh.DISTround * qh_JOGGLEdefault
-
-  notes:
-    rbox s r 100 | qhull QJ1e-15 QR0 generates 90% faults at distround 7e-16
-    rbox s r 100 | qhull QJ1e-14 QR0 generates 70% faults
-    rbox s r 100 | qhull QJ1e-13 QR0 generates 35% faults
-    rbox s r 100 | qhull QJ1e-12 QR0 generates 8% faults
-    rbox s r 100 | qhull QJ1e-11 QR0 generates 1% faults
-    rbox s r 100 | qhull QJ1e-10 QR0 generates 0% faults
-    rbox 1000 W0 | qhull QJ1e-12 QR0 generates 86% faults
-    rbox 1000 W0 | qhull QJ1e-11 QR0 generates 20% faults
-    rbox 1000 W0 | qhull QJ1e-10 QR0 generates 2% faults
-    the later have about 20 points per facet, each of which may interfere
-
-    pick a value large enough to avoid retries on most inputs
-*/
-#define qh_JOGGLEdefault 30000.0
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="JOGGLEincrease">-</a>
-  
-  qh_JOGGLEincrease
-    factor to increase qh.JOGGLEmax on qh_JOGGLEretry or qh_JOGGLEagain
-*/
-#define qh_JOGGLEincrease 10.0
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="JOGGLEretry">-</a>
-  
-  qh_JOGGLEretry
-    if ZZretry = qh_JOGGLEretry, increase qh.JOGGLEmax
-
-  notes:
-    try twice at the original value in case of bad luck the first time
-*/
-#define qh_JOGGLEretry 2
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="JOGGLEagain">-</a>
-  
-  qh_JOGGLEagain
-    every following qh_JOGGLEagain, increase qh.JOGGLEmax
-
-  notes:
-    1 is OK since it's already failed qh_JOGGLEretry times
-*/
-#define qh_JOGGLEagain 1
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="JOGGLEmaxincrease">-</a>
-  
-  qh_JOGGLEmaxincrease
-    maximum qh.JOGGLEmax due to qh_JOGGLEincrease
-    relative to qh.MAXwidth
-
-  notes:
-    qh.joggleinput will retry at this value until qh_JOGGLEmaxretry
-*/
-#define qh_JOGGLEmaxincrease 1e-2
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="JOGGLEmaxretry">-</a>
-  
-  qh_JOGGLEmaxretry
-    stop after qh_JOGGLEmaxretry attempts
-*/
-#define qh_JOGGLEmaxretry 100
-
-/*========= memory constants =========*/
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MEMalign">-</a>
-  
-  qh_MEMalign
-    memory alignment for qh_meminitbuffers() in global.c
-    
-  notes:
-    to avoid bus errors, memory allocation must consider alignment requirements.
-    malloc() automatically takes care of alignment.   Since mem.c manages
-    its own memory, we need to explicitly specify alignment in
-    qh_meminitbuffers().
-
-    A safe choice is sizeof(double).  sizeof(float) may be used if doubles 
-    do not occur in data structures and pointers are the same size.  Be careful
-    of machines (e.g., DEC Alpha) with large pointers. 
-
-    If using gcc, best alignment is
-              #define qh_MEMalign fmax_(__alignof__(realT),__alignof__(void *))
-*/
-#define qh_MEMalign fmax_(sizeof(realT), sizeof(void *))
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MEMbufsize">-</a>
-  
-  qh_MEMbufsize
-    size of additional memory buffers
-    
-  notes:
-    used for qh_meminitbuffers() in global.c
-*/
-#define qh_MEMbufsize 0x10000       /* allocate 64K memory buffers */
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MEMinitbuf">-</a>
-  
-  qh_MEMinitbuf
-    size of initial memory buffer
-    
-  notes:
-    use for qh_meminitbuffers() in global.c
-*/
-#define qh_MEMinitbuf 0x20000      /* initially allocate 128K buffer */
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="INFINITE">-</a>
-  
-  qh_INFINITE
-    on output, indicates Voronoi center at infinity
-*/
-#define qh_INFINITE  -10.101
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="DEFAULTbox">-</a>
-  
-  qh_DEFAULTbox
-    default box size (Geomview expects 0.5)
-*/
-#define qh_DEFAULTbox 0.5 
-
-/*======= conditional compilation ============================*/
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="compiler">-</a>
-
-  __cplusplus
-    defined by C++ compilers
-
-  __MSC_VER
-    defined by Microsoft Visual C++
-  
-  __MWERKS__ && __POWERPC__
-    defined by Metrowerks when compiling for the Power Macintosh
-
-  __STDC__
-    defined for strict ANSI C 
-*/
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="COMPUTEfurthest">-</a>
-  qh_COMPUTEfurthest 
-    compute furthest distance to an outside point instead of storing it with the facet
-    =1 to compute furthest
-  
-  notes:
-    computing furthest saves memory but costs time
-      about 40% more distance tests for partitioning
-      removes facet->furthestdist 
-*/
-#define qh_COMPUTEfurthest 0
-                         
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="KEEPstatistics">-</a>
-  qh_KEEPstatistics   
-    =0 removes most of statistic gathering and reporting
-
-  notes:
-    if 0, code size is reduced by about 4%.
-*/
-#define qh_KEEPstatistics 1
-                       
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MAXoutside">-</a>
-  qh_MAXoutside 
-    record outer plane for each facet
-    =1 to record facet->maxoutside
-  
-  notes:
-    this takes a realT per facet and slightly slows down qhull
-    it produces better outer planes for geomview output 
-*/
-#define qh_MAXoutside 1
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="NOmerge">-</a>
-  qh_NOmerge
-    disables facet merging if defined
-    
-  notes:
-    This saves about 10% space.
-    
-    Unless 'Q0'
-      qh_NOmerge sets 'QJ' to avoid precision errors
-
-    #define qh_NOmerge    
-
-  see:
-    <a href="mem.h#NOmem">qh_NOmem</a> in mem.c
-    
-    see user.c/user_eg.c for removing io.o
-*/  
-    
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="NOtrace">-</a>
-  qh_NOtrace
-    no tracing if defined 
-  
-  notes:
-    This saves about 5% space.
-
-    #define qh_NOtrace
-*/    
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="QHpointer">-</a>
-  
-  qh_QHpointer
-    access global data with pointer or static structure
-
-  qh_QHpointer  = 1     access globals via a pointer to allocated memory
-                        enables qh_saveqhull() and qh_restoreqhull()
-                       costs about 8% in time and 2% in space
-
-               = 0     qh_qh and qh_qhstat are static data structures
-                       only one instance of qhull() can be active at a time
-                       default value
-
-  notes:
-    all global variables for qhull are in qh, qhmem, and qhstat
-    qh is defined in qhull.h
-    qhmem is defined in mem.h
-    qhstat is defined in stat.h
-
-  see:
-    user_eg.c for an example
-*/
-#define qh_QHpointer 0
-#if 0  /* sample code */
-    qhT *oldqhA, *oldqhB;
-
-    exitcode= qh_new_qhull (dim, numpoints, points, ismalloc,
-                      flags, outfile, errfile); 
-    /* use results from first call to qh_new_qhull */
-    oldqhA= qh_save_qhull();
-    exitcode= qh_new_qhull (dimB, numpointsB, pointsB, ismalloc,
-                      flags, outfile, errfile); 
-    /* use results from second call to qh_new_qhull */
-    oldqhB= qh_save_qhull();
-    qh_restore_qhull (&oldqhA);
-    /* use results from first call to qh_new_qhull */
-    qh_freeqhull (qh_ALL);  /* frees all memory used by first call */
-    qh_restore_qhull (&oldqhB);
-    /* use results from second call to qh_new_qhull */
-    qh_freeqhull (!qh_ALL); /* frees long memory used by second call */
-    qh_memfreeshort (&curlong, &totlong);  /* frees short memory and memory allocator */
-#endif
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="QUICKhelp">-</a>
-  qh_QUICKhelp        
-    =1 to use abbreviated help messages, e.g., for degenerate inputs
-*/
-#define qh_QUICKhelp    0  
-
-/* ============ -merge constants- ====================
-
-   These constants effect facet merging.  You probably will not need
-   to modify these.  They effect the performance of facet merging.
-*/
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="DIMmergeVertex">-</a>
-  
-  qh_DIMmergeVertex
-    max dimension for vertex merging (it is not effective in high-d)
-*/
-#define qh_DIMmergeVertex 6
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="DIMreduceBuild">-</a>
-  
-  qh_DIMreduceBuild
-     max dimension for vertex reduction during build (slow in high-d)
-*/
-#define qh_DIMreduceBuild 5
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="BESTcentrum">-</a>
-     
-  qh_BESTcentrum
-     if > 2*dim+n vertices, qh_findbestneighbor() tests centrums (faster)
-     else, qh_findbestneighbor() tests all vertices (much better merges)
-
-  qh_BESTcentrum2
-     if qh_BESTcentrum2 * DIM3 + BESTcentrum < #vertices tests centrums
-*/
-#define qh_BESTcentrum 20
-#define qh_BESTcentrum2 2
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="BESTnonconvex">-</a>
-  
-  qh_BESTnonconvex
-    if > dim+n neighbors, qh_findbestneighbor() tests nonconvex ridges.
-    
-  notes:
-    It is needed because qh_findbestneighbor is slow for large facets
-*/
-#define qh_BESTnonconvex 15 
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MAXnewmerges">-</a>
-  
-  qh_MAXnewmerges
-    if >n newmerges, qh_merge_nonconvex() calls qh_reducevertices_centrums.
-     
-  notes:
-    It is needed because postmerge can merge many facets at once
-*/
-#define qh_MAXnewmerges 2
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MAXnewcentrum">-</a>
-  
-  qh_MAXnewcentrum
-    if <= dim+n vertices (n approximates the number of merges),
-      reset the centrum in qh_updatetested() and qh_mergecycle_facets()
-    
-  notes:
-    needed to reduce cost and because centrums may move too much if 
-    many vertices in high-d
-*/
-#define qh_MAXnewcentrum 5
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="COPLANARratio">-</a>
-  
-  qh_COPLANARratio
-    for 3-d+ merging, qh.MINvisible is n*premerge_centrum
-
-  notes:
-    for non-merging, it's DISTround
-*/
-#define qh_COPLANARratio 3
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="DISToutside">-</a>
-  
-  qh_DISToutside
-    When is a point clearly outside of a facet?  
-    Stops search in qh_findbestnew or qh_partitionall
-    qh_findbest uses qh.MINoutside since since it is only called if no merges.
-     
-  notes:
-    'Qf' always searches for best facet
-    if !qh.MERGING, same as qh.MINoutside. 
-    if qh_USEfindbestnew, increase value since neighboring facets may be ill-behaved
-      [Note: Zdelvertextot occurs normally with interior points]
-            RBOX 1000 s Z1 G1e-13 t1001188774 | QHULL Tv
-    When there is a sharp edge, need to move points to a
-    clearly good facet; otherwise may be lost in another partitioning.
-    if too big then O(n^2) behavior for partitioning in cone
-    if very small then important points not processed
-    Needed in qh_partitionall for
-      RBOX 1000 s Z1 G1e-13 t1001032651 | QHULL Tv
-    Needed in qh_findbestnew for many instances of
-      RBOX 1000 s Z1 G1e-13 t | QHULL Tv
-
-  See:  
-    qh_DISToutside -- when is a point clearly outside of a facet
-    qh_SEARCHdist -- when is facet coplanar with the best facet?
-    qh_USEfindbestnew -- when to use qh_findbestnew for qh_partitionpoint()
-*/
-#define qh_DISToutside ((qh_USEfindbestnew ? 2 : 1) * \
-     fmax_((qh MERGING ? 2 : 1)*qh MINoutside, qh max_outside))
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="RATIOnearinside">-</a>
-  
-  qh_RATIOnearinside
-    ratio of qh.NEARinside to qh.ONEmerge for retaining inside points for
-    qh_check_maxout().  
-  
-  notes:
-    This is overkill since do not know the correct value.
-    It effects whether 'Qc' reports all coplanar points
-    Not used for 'd' since non-extreme points are coplanar
-*/
-#define qh_RATIOnearinside 5
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="SEARCHdist">-</a>
-  
-  qh_SEARCHdist
-    When is a facet coplanar with the best facet?  
-    qh_findbesthorizon: all coplanar facets of the best facet need to be searched.
-
-  See:
-    qh_DISToutside -- when is a point clearly outside of a facet
-    qh_SEARCHdist -- when is facet coplanar with the best facet?
-    qh_USEfindbestnew -- when to use qh_findbestnew for qh_partitionpoint()
-*/
-#define qh_SEARCHdist ((qh_USEfindbestnew ? 2 : 1) * \
-      (qh max_outside + 2 * qh DISTround + fmax_( qh MINvisible, qh MAXcoplanar)));
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="USEfindbestnew">-</a>
-  
-  qh_USEfindbestnew
-     Always use qh_findbestnew for qh_partitionpoint, otherwise use
-     qh_findbestnew if merged new facet or sharpnewfacets.
-  
-  See:
-    qh_DISToutside -- when is a point clearly outside of a facet
-    qh_SEARCHdist -- when is facet coplanar with the best facet?
-    qh_USEfindbestnew -- when to use qh_findbestnew for qh_partitionpoint()
-*/
-#define qh_USEfindbestnew (zzval_(Ztotmerge) > 50)
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="WIDEcoplanar">-</a>
-  
-  qh_WIDEcoplanar
-    n*MAXcoplanar or n*MINvisible for a WIDEfacet 
-    
-    if vertex is further than qh.WIDEfacet from the hyperplane
-    then its ridges are not counted in computing the area, and
-    the facet's centrum is frozen. 
-    
-  notes:
-   qh.WIDEfacet= max(qh.MAXoutside,qh_WIDEcoplanar*qh.MAXcoplanar,
-      qh_WIDEcoplanar * qh.MINvisible);
-*/
-#define qh_WIDEcoplanar 6
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="MAXnarrow">-</a>
-  
-  qh_MAXnarrow
-    max. cosine in initial hull that sets qh.NARROWhull
-       
-  notes:
-    If qh.NARROWhull, the initial partition does not make 
-    coplanar points.  If narrow, a coplanar point can be 
-    coplanar to two facets of opposite orientations and
-    distant from the exact convex hull.
-
-    Conservative estimate.  Don't actually see problems until it is -1.0
-*/
-#define qh_MAXnarrow -0.99999999
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="WARNnarrow">-</a>
-  
-  qh_WARNnarrow
-    max. cosine in initial hull to warn about qh.NARROWhull
-      
-  notes:
-    this is a conservative estimate.  
-    Don't actually see problems until it is -1.0.  See qh-impre.htm
-*/
-#define qh_WARNnarrow -0.999999999999999
-
-/*-<a                             href="qh-user.htm#TOC"
-  >--------------------------------</a><a name="ZEROdelaunay">-</a>
-  
-  qh_ZEROdelaunay
-    a zero Delaunay facet occurs for input sites coplanar with their convex hull
-    the last normal coefficient of a zero Delaunay facet is within
-        qh_ZEROdelaunay * qh.ANGLEround of 0
-      
-  notes:
-    qh_ZEROdelaunay does not allow for joggled input ('QJ').
-
-    You can avoid zero Delaunay facets by surrounding the input with a box.
-
-    Use option 'PDk:-n' to explicitly define zero Delaunay facets
-      k= dimension of input sites (e.g., 3 for 3-d Delaunay triangulation)
-      n= the cutoff for zero Delaunay facets (e.g., 'PD3:-1e-12')
-*/
-#define qh_ZEROdelaunay 2
-
-#endif /* qh_DEFuser */
-
-
-
diff --git a/extern/qhull/make/msvc_7_0/qhull.vcproj b/extern/qhull/make/msvc_7_0/qhull.vcproj
deleted file mode 100644 (file)
index 1b754d8..0000000
+++ /dev/null
@@ -1,677 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="qhull"
-       ProjectGUID="{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}"
-       SccProjectName=""
-       SccLocalPath="">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Blender Release|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\qhull"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\qhull"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-                               StringPooling="TRUE"
-                               RuntimeLibrary="0"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\qhull\qhull.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\qhull\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\qhull\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\qhull\"
-                               WarningLevel="2"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\qhull.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               Description="Copying QHULL files library to lib tree."
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_7\extern\qhull\include
-XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_7\extern\qhull\include
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="Blender Debug|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\qhull\debug"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\qhull\debug"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="1"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\qhull\debug\qhull.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\qhull\debug\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\qhull\debug\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\qhull\debug\"
-                               WarningLevel="2"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="3"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\debug\qhull.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               Description="Copying QHULL files library (debug target) to lib tree."
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_7\extern\qhull\include
-XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_7\extern\qhull\include
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="3D Plugin Release|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-                               StringPooling="TRUE"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\qhull.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\"
-                               WarningLevel="2"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\mtdll\qhull.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               Description="Copying QHULL files library to lib tree."
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_7\extern\qhull\include
-XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_7\extern\qhull\include
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="3D Plugin Debug|Win32"
-                       OutputDirectory="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\debug"
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\debug"
-                       ConfigurationType="4"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\debug\qhull.pch"
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\debug\"
-                               ObjectFile="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\debug\"
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\qhull\mtdll\debug\"
-                               WarningLevel="2"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="3"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLibrarianTool"
-                               OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\mtdll\debug\qhull.lib"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               Description="Copying QHULL files library (debug target) to lib tree."
-                               CommandLine="ECHO Copying header files
-IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_7\extern\qhull\include
-XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_7\extern\qhull\include
-ECHO Done
-"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1033"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-                       <File
-                               RelativePath="..\..\src\geom.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\geom2.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\global.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\io.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\mem.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\merge.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\poly.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\poly2.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\qhull.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\qset.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\stat.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="..\..\src\user.c">
-                               <FileConfiguration
-                                       Name="Blender Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Blender Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Release|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""/>
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="3D Plugin Debug|Win32">
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"/>
-                               </FileConfiguration>
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl">
-                       <File
-                               RelativePath="..\..\src\geom.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\io.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\mem.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\merge.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\poly.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\qhull.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\qhull_a.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\qset.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\stat.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\src\user.h">
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/extern/qhull/make/msvc_9_0/qhull.vcproj b/extern/qhull/make/msvc_9_0/qhull.vcproj
deleted file mode 100644 (file)
index fe5b3e8..0000000
+++ /dev/null
@@ -1,877 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>\r
-<VisualStudioProject\r
-       ProjectType="Visual C++"\r
-       Version="9,00"\r
-       Name="EXT_qhull"\r
-       ProjectGUID="{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}"\r
-       RootNamespace="qhull"\r
-       TargetFrameworkVersion="131072"\r
-       >\r
-       <Platforms>\r
-               <Platform\r
-                       Name="Win32"\r
-               />\r
-       </Platforms>\r
-       <ToolFiles>\r
-       </ToolFiles>\r
-       <Configurations>\r
-               <Configuration\r
-                       Name="Blender Release|Win32"\r
-                       OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull"\r
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull"\r
-                       ConfigurationType="4"\r
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
-                       UseOfMFC="0"\r
-                       ATLMinimizesCRunTimeLibraryUsage="false"\r
-                       CharacterSet="2"\r
-                       >\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXMLDataGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCMIDLTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="2"\r
-                               InlineFunctionExpansion="1"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_LIB"\r
-                               StringPooling="true"\r
-                               RuntimeLibrary="0"\r
-                               EnableFunctionLevelLinking="true"\r
-                               UsePrecompiledHeader="0"\r
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\qhull.pch"\r
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\"\r
-                               ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\"\r
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\"\r
-                               WarningLevel="2"\r
-                               SuppressStartupBanner="true"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManagedResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"\r
-                               PreprocessorDefinitions="NDEBUG"\r
-                               Culture="1033"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCLibrarianTool"\r
-                               OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\qhull.lib"\r
-                               SuppressStartupBanner="true"\r
-                       />\r
-                       <Tool\r
-                               Name="VCALinkTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXDCMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCBscMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCFxCopTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"\r
-                               Description="Copying QHULL files library to lib tree."\r
-                               CommandLine="ECHO Copying header files&#x0D;&#x0A;IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;ECHO Done&#x0D;&#x0A;"\r
-                       />\r
-               </Configuration>\r
-               <Configuration\r
-                       Name="Blender Debug|Win32"\r
-                       OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\debug"\r
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\debug"\r
-                       ConfigurationType="4"\r
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
-                       UseOfMFC="0"\r
-                       ATLMinimizesCRunTimeLibraryUsage="false"\r
-                       CharacterSet="2"\r
-                       >\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXMLDataGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCMIDLTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="0"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_LIB"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="1"\r
-                               UsePrecompiledHeader="0"\r
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\debug\qhull.pch"\r
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\debug\"\r
-                               ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\debug\"\r
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\debug\"\r
-                               WarningLevel="2"\r
-                               SuppressStartupBanner="true"\r
-                               DebugInformationFormat="3"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManagedResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"\r
-                               PreprocessorDefinitions="_DEBUG"\r
-                               Culture="1033"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCLibrarianTool"\r
-                               OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\qhull.lib"\r
-                               SuppressStartupBanner="true"\r
-                       />\r
-                       <Tool\r
-                               Name="VCALinkTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXDCMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCBscMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCFxCopTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"\r
-                               Description="Copying QHULL files library (debug target) to lib tree."\r
-                               CommandLine="ECHO Copying header files&#x0D;&#x0A;IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;ECHO Done&#x0D;&#x0A;"\r
-                       />\r
-               </Configuration>\r
-               <Configuration\r
-                       Name="3D Plugin Release|Win32"\r
-                       OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll"\r
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll"\r
-                       ConfigurationType="4"\r
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
-                       UseOfMFC="0"\r
-                       ATLMinimizesCRunTimeLibraryUsage="false"\r
-                       CharacterSet="2"\r
-                       >\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXMLDataGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCMIDLTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="2"\r
-                               InlineFunctionExpansion="1"\r
-                               PreprocessorDefinitions="WIN32;NDEBUG;_LIB"\r
-                               StringPooling="true"\r
-                               RuntimeLibrary="2"\r
-                               EnableFunctionLevelLinking="true"\r
-                               UsePrecompiledHeader="0"\r
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\qhull.pch"\r
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\"\r
-                               ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\"\r
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\"\r
-                               WarningLevel="2"\r
-                               SuppressStartupBanner="true"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManagedResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"\r
-                               PreprocessorDefinitions="NDEBUG"\r
-                               Culture="1033"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCLibrarianTool"\r
-                               OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\qhull.lib"\r
-                               SuppressStartupBanner="true"\r
-                       />\r
-                       <Tool\r
-                               Name="VCALinkTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXDCMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCBscMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCFxCopTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"\r
-                               Description="Copying QHULL files library to lib tree."\r
-                               CommandLine="ECHO Copying header files&#x0D;&#x0A;IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;ECHO Done&#x0D;&#x0A;"\r
-                       />\r
-               </Configuration>\r
-               <Configuration\r
-                       Name="3D Plugin Debug|Win32"\r
-                       OutputDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug"\r
-                       IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug"\r
-                       ConfigurationType="4"\r
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"\r
-                       UseOfMFC="0"\r
-                       ATLMinimizesCRunTimeLibraryUsage="false"\r
-                       CharacterSet="2"\r
-                       >\r
-                       <Tool\r
-                               Name="VCPreBuildEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCustomBuildTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXMLDataGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCWebServiceProxyGeneratorTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCMIDLTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCCLCompilerTool"\r
-                               Optimization="0"\r
-                               PreprocessorDefinitions="WIN32;_DEBUG;_LIB"\r
-                               BasicRuntimeChecks="3"\r
-                               RuntimeLibrary="3"\r
-                               UsePrecompiledHeader="0"\r
-                               PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\qhull.pch"\r
-                               AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\"\r
-                               ObjectFile="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\"\r
-                               ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\qhull\mtdll\debug\"\r
-                               WarningLevel="2"\r
-                               SuppressStartupBanner="true"\r
-                               DebugInformationFormat="3"\r
-                       />\r
-                       <Tool\r
-                               Name="VCManagedResourceCompilerTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCResourceCompilerTool"\r
-                               PreprocessorDefinitions="_DEBUG"\r
-                               Culture="1033"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPreLinkEventTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCLibrarianTool"\r
-                               OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\qhull.lib"\r
-                               SuppressStartupBanner="true"\r
-                       />\r
-                       <Tool\r
-                               Name="VCALinkTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCXDCMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCBscMakeTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCFxCopTool"\r
-                       />\r
-                       <Tool\r
-                               Name="VCPostBuildEventTool"\r
-                               Description="Copying QHULL files library (debug target) to lib tree."\r
-                               CommandLine="ECHO Copying header files&#x0D;&#x0A;IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\qhull\include MKDIR ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;XCOPY /Y ..\..\include\qhull\*.h ..\..\..\..\..\build\msvc_9\extern\qhull\include&#x0D;&#x0A;ECHO Done&#x0D;&#x0A;"\r
-                       />\r
-               </Configuration>\r
-       </Configurations>\r
-       <References>\r
-       </References>\r
-       <Files>\r
-               <Filter\r
-                       Name="Source Files"\r
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
-                       >\r
-                       <File\r
-                               RelativePath="..\..\src\geom.c"\r
-                               >\r
-                               <FileConfiguration\r
-                                       Name="Blender Release|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="2"\r
-                                               PreprocessorDefinitions=""\r
-                                       />\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="Blender Debug|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="0"\r
-                                               PreprocessorDefinitions=""\r
-                                               BasicRuntimeChecks="3"\r
-                                       />\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="3D Plugin Release|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="2"\r
-                                               PreprocessorDefinitions=""\r
-                                       />\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="3D Plugin Debug|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="0"\r
-                                               PreprocessorDefinitions=""\r
-                                               BasicRuntimeChecks="3"\r
-                                       />\r
-                               </FileConfiguration>\r
-                       </File>\r
-                       <File\r
-                               RelativePath="..\..\src\geom2.c"\r
-                               >\r
-                               <FileConfiguration\r
-                                       Name="Blender Release|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="2"\r
-                                               PreprocessorDefinitions=""\r
-                                       />\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="Blender Debug|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="0"\r
-                                               PreprocessorDefinitions=""\r
-                                               BasicRuntimeChecks="3"\r
-                                       />\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="3D Plugin Release|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="2"\r
-                                               PreprocessorDefinitions=""\r
-                                       />\r
-                               </FileConfiguration>\r
-                               <FileConfiguration\r
-                                       Name="3D Plugin Debug|Win32"\r
-                                       >\r
-                                       <Tool\r
-                                               Name="VCCLCompilerTool"\r
-                                               Optimization="0"\r
-                                               PreprocessorDefinitions=""\r
-                                               BasicRuntimeChecks="3"\r
-