[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42640] trunk/blender/extern/eltopo: Fix compile errors of El Topo on windows.

Daniel Genrich daniel.genrich at gmx.net
Thu Dec 15 11:44:41 CET 2011


Revision: 42640
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42640
Author:   genscher
Date:     2011-12-15 10:44:33 +0000 (Thu, 15 Dec 2011)
Log Message:
-----------
Fix compile errors of El Topo on windows. 

- I'm not quite sure if I substituted all the flpoint functions correctly. But it does not crash and seems to work fine over here :)

Modified Paths:
--------------
    trunk/blender/extern/eltopo/CMakeLists.txt
    trunk/blender/extern/eltopo/common/gluvi.h
    trunk/blender/extern/eltopo/common/predicates.cpp
    trunk/blender/extern/eltopo/common/tunicate/orientation.cpp
    trunk/blender/extern/eltopo/common/tunicate/sos_orientation.cpp
    trunk/blender/extern/eltopo/eltopo3d/dynamicsurface.cpp
    trunk/blender/extern/eltopo/eltopo3d/surftrack.cpp

Modified: trunk/blender/extern/eltopo/CMakeLists.txt
===================================================================
--- trunk/blender/extern/eltopo/CMakeLists.txt	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/CMakeLists.txt	2011-12-15 10:44:33 UTC (rev 42640)
@@ -45,7 +45,6 @@
 	common/cubic_ccd_wrapper.cpp
 	common/fe_ccd_wrapper.cpp
 	common/fileio.cpp
-	common/gluvi.cpp
 	common/levelset.cpp
 	common/makelevelset2.cpp
 	common/makelevelset3.cpp
@@ -82,7 +81,6 @@
 	common/clamped_spline.h
 	common/collisionqueries.h
 	common/fileio.h
-	common/gluvi.h
 	common/grid3.h
 	common/hashtable.h
 	common/lapack_wrapper.h
@@ -122,7 +120,7 @@
 	common/tunicate/tunicate.h
 	)
 
-add_definitions(-DNOGUI)
+add_definitions(-DNO_GUI)
 add_definitions(-DUSE_FORTRAN_BLAS)
 
 blender_add_lib(extern_eltopo "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/extern/eltopo/common/gluvi.h
===================================================================
--- trunk/blender/extern/eltopo/common/gluvi.h	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/common/gluvi.h	2011-12-15 10:44:33 UTC (rev 42640)
@@ -4,11 +4,13 @@
 //#include <iostream>
 //#include <vector>
 
+#ifdef USE_GUI
 #ifdef __APPLE__
 #include <GLUT/glut.h> // why does Apple have to put glut.h here...
 #else
 #include <GL/glut.h> // ...when everyone else puts it here?
 #endif
+#endif
 
 //#include "vec.h"
 
@@ -187,8 +189,10 @@
 void ppm_screenshot(const char *filename_format, ...);
 void sgi_screenshot(const char *filename_format, ...);
 void set_generic_lights(void);
+#ifdef USE_GUI
 void set_generic_material(float r, float g, float b, GLenum face=GL_FRONT_AND_BACK);
 void set_matte_material(float r, float g, float b, GLenum face=GL_FRONT_AND_BACK);
+#endif
 //@@@@@@@ USEFUL FUNCTIONALITY:
 void draw_3d_arrow(const float base[3], const float point[3], float arrow_head_length=0);
 //void draw_2d_arrow(const Vec2f base, const Vec2f point, float arrow_head_length);

Modified: trunk/blender/extern/eltopo/common/predicates.cpp
===================================================================
--- trunk/blender/extern/eltopo/common/predicates.cpp	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/common/predicates.cpp	2011-12-15 10:44:33 UTC (rev 42640)
@@ -1,6 +1,11 @@
 #include <cfloat>
 #include "predicates.h"
 
+#if defined(_WIN32) && !defined(FREE_WINDOWS)
+#define random() rand() // not sure if this define is valid
+#define _Ios_Fmtflags ios::fmtflags
+#endif
+
 static void print_hex( double d )
 {
    std::_Ios_Fmtflags originalFlags = std::cout.flags();

Modified: trunk/blender/extern/eltopo/common/tunicate/orientation.cpp
===================================================================
--- trunk/blender/extern/eltopo/common/tunicate/orientation.cpp	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/common/tunicate/orientation.cpp	2011-12-15 10:44:33 UTC (rev 42640)
@@ -1,7 +1,16 @@
 // Released into the public domain by Robert Bridson, 2009.
 
 #include <cassert>
+#if defined(_WIN32) && !defined(FREE_WINDOWS)
+#include <float.h>
+#pragma fenv_access (on)
+#define FE_UPWARD _RC_UP
+#define FE_DOWNWARD _RC_DOWN
+#define FE_TONEAREST _RC_NEAR
+#define fesetround(r) (_controlfp(r, _MCW_RC))
+#else
 #include <fenv.h>
+#endif
 #include <cmath>
 #include <limits>
 #include "tunicate.h"

Modified: trunk/blender/extern/eltopo/common/tunicate/sos_orientation.cpp
===================================================================
--- trunk/blender/extern/eltopo/common/tunicate/sos_orientation.cpp	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/common/tunicate/sos_orientation.cpp	2011-12-15 10:44:33 UTC (rev 42640)
@@ -2,7 +2,12 @@
 
 #include <algorithm>
 #include <cassert>
+#if defined(_WIN32) && !defined(FREE_WINDOWS)
+#include <float.h>
+#pragma fenv_access (on)
+#else
 #include <fenv.h>
+#endif
 #include <cmath>
 #include <limits>
 #include "tunicate.h"

Modified: trunk/blender/extern/eltopo/eltopo3d/dynamicsurface.cpp
===================================================================
--- trunk/blender/extern/eltopo/eltopo3d/dynamicsurface.cpp	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/eltopo3d/dynamicsurface.cpp	2011-12-15 10:44:33 UTC (rev 42640)
@@ -18,6 +18,7 @@
 #include <deque>
 #include <queue>
 
+#ifdef USE_GUI
 #ifdef __APPLE__
 #include <OpenGL/gl.h>
 #else
@@ -26,6 +27,7 @@
 #endif
 #include <GL/gl.h>
 #endif
+#endif
 
 #include <vec.h>
 #include <mat.h>

Modified: trunk/blender/extern/eltopo/eltopo3d/surftrack.cpp
===================================================================
--- trunk/blender/extern/eltopo/eltopo3d/surftrack.cpp	2011-12-15 08:57:48 UTC (rev 42639)
+++ trunk/blender/extern/eltopo/eltopo3d/surftrack.cpp	2011-12-15 10:44:33 UTC (rev 42640)
@@ -19,6 +19,7 @@
 #include <vector>
 #include <queue>
 
+#ifdef USE_GUI
 #ifdef __APPLE__
 #include <OpenGL/gl.h>
 #include <GLUT/glut.h>
@@ -30,6 +31,7 @@
 #include <GL/gl.h>
 #include <GL/glut.h>
 #endif
+#endif
 
 #include <ccd_wrapper.h>
 #include <cassert>




More information about the Bf-blender-cvs mailing list