Browse Source

Fixed some windows specific issues

Former-commit-id: 2341af78cad7d594d7c3b1ebe91d8fb52ec19773
schuellc 11 years ago
parent
commit
cdcf34637f

+ 3 - 3
build/Makefile_viewer

@@ -16,7 +16,7 @@ OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
 # include igl headers
 INC+=-I../include/
 
-# EXPECTS THAT CFLAGS IS ALREADY SET APPROPRIATELY 
+# EXPECTS THAT CFLAGS IS ALREADY SET APPROPRIATELY
 
 # Eigen dependency
 EIGEN3_INC=-I$(DEFAULT_PREFIX)/include/eigen3 -I$(DEFAULT_PREFIX)/include/eigen3/unsupported
@@ -35,7 +35,7 @@ endif
 ANTTWEAKBAR_INC=-I$(ANTTWEAKBAR)/include -I$(ANTTWEAKBAR)/src
 INC+=$(ANTTWEAKBAR_INC)
 
-obj: 
+obj:
 	mkdir -p obj
 
 ../lib/libiglviewer.a: $(OBJ_FILES)
@@ -43,7 +43,7 @@ obj:
 	ar cqs $@ $(OBJ_FILES)
 
 obj/%.o: $(SRC_DIR)/%.cpp $(SRC_DIR)/%.h
-	g++ $(AFLAGS) $(CFLAGS) -c -o $@ $< $(INC)
+	$(GG) $(AFLAGS) $(CFLAGS) -c -o $@ $< $(INC)
 
 clean:
 	rm -f obj/*.o

+ 5 - 0
include/igl/viewer/OpenGL_shader.cpp

@@ -8,6 +8,11 @@
 
 #include "OpenGL_shader.h"
 
+#ifndef __APPLE__
+#  define GLEW_STATIC
+#  include <GL/glew.h>
+#endif
+
 #ifdef __APPLE__
 #   include <OpenGL/gl3.h>
 #   define __gl_h_ /* Prevent inclusion of the old gl.h */

+ 11 - 0
include/igl/viewer/OpenGL_shader.h

@@ -13,6 +13,17 @@
 #include <string>
 #include <Eigen/Core>
 
+#ifdef _WIN32
+#  include <windows.h>
+#  undef max
+#  undef min
+#endif
+
+#ifndef __APPLE__
+#  define GLEW_STATIC
+#  include <GL/glew.h>
+#endif
+
 #ifdef __APPLE__
 #   include <OpenGL/gl3.h>
 #   define __gl_h_ /* Prevent inclusion of the old gl.h */

+ 5 - 2
include/igl/viewer/Viewer.cpp

@@ -16,7 +16,9 @@
 #endif
 
 // Todo: windows equivalent for `usleep`
-#include <unistd.h>
+//#include <unistd.h>
+#include <chrono>
+#include <thread>
 
 #ifndef __APPLE__
 #  define GLEW_STATIC
@@ -1053,7 +1055,8 @@ namespace igl
         if(duration<min_duration)
         {
           // TODO: windows equivalent
-          usleep(min_duration-duration);
+          //usleep(min_duration-duration);
+          std::this_thread::sleep_for(std::chrono::microseconds((int)(min_duration-duration)));
         }
       }
       else

+ 1 - 1
include/igl/viewer/ViewerCore.cpp

@@ -159,7 +159,7 @@ IGL_INLINE void igl::ViewerCore::get_scale_and_shift_to_fit_mesh(
   double x_scale = fabs(max_point[0] - min_point[0]);
   double y_scale = fabs(max_point[1] - min_point[1]);
   double z_scale = fabs(max_point[2] - min_point[2]);
-  zoom = 2.0/ std::max(z_scale,std::max(x_scale,y_scale));
+  zoom = 2.0 / std::max(z_scale,std::max(x_scale,y_scale));
 }
 
 IGL_INLINE void igl::ViewerCore::clear_framebuffers()

+ 2 - 1
tutorial/607_LIM/main.cpp

@@ -44,7 +44,8 @@ bool key_down(igl::Viewer& viewer,unsigned char key,int modifier)
         energyType = energy;
     }
     
-    igl::compute_lim(V1,V0,F,C,b,energyType,1e-8,100,true,true,barriersEnabled,true,-1,-1);
+    if(key != '0')
+      igl::compute_lim(V1,V0,F,C,b,energyType,1e-8,100,true,true,barriersEnabled,true,-1,-1);
 
     // set mesh
     viewer.set_vertices(V1);

+ 1 - 1
tutorial/CMakeLists.txt

@@ -53,8 +53,8 @@ add_subdirectory("505_MIQ")
 add_subdirectory("506_FrameField")
 add_subdirectory("507_PolyVectorField")
 add_subdirectory("508_ConjugateField")
-endif(LIBCOMISO_FOUND)
 add_subdirectory("509_Planarization")
+endif(LIBCOMISO_FOUND)
 
 
 # Chapter 6