瀏覽代碼

updated embree, fixed cmakefiles, still some bugs in the tutorial example

Former-commit-id: 17c9429d2642d5fa07dcf3338a63b7ef2cbf1ab8
Daniele Panozzo 10 年之前
父節點
當前提交
583dacc21e
共有 3 個文件被更改,包括 20 次插入18 次删除
  1. 4 4
      include/igl/serialize.cpp
  2. 4 4
      tutorial/701_Statistics/main.cpp
  3. 12 10
      tutorial/cmake/FindEMBREE.cmake

+ 4 - 4
include/igl/serialize.cpp

@@ -78,11 +78,11 @@ namespace igl
     std::vector<char>::iterator it = tmp.begin();
     detail::serialize(obj,tmp,it);
 
-    std::string objectType(typeid(obj).raw_name());
+    std::string objectType(typeid(obj).name());
     size_t newObjectSize = tmp.size();
     size_t newHeaderSize = detail::getByteSize(objectName) + detail::getByteSize(objectType) + sizeof(size_t);
-    size_t oldObjectSize = 0;
-    size_t oldHeaderSize = 0;
+//    size_t oldObjectSize = 0;
+//    size_t oldHeaderSize = 0;
 
     // find object header to replace existing object
     /*std::vector<char>::const_iterator citer = buffer.cbegin();
@@ -210,7 +210,7 @@ namespace igl
       detail::deserialize(type,iter);
       detail::deserialize(size,iter);
 
-      if(name == objectName && type == typeid(obj).raw_name())
+      if(name == objectName && type == typeid(obj).name())
       {
         objectIter = iter;
         //break; // find first suitable object header

+ 4 - 4
tutorial/701_Statistics/main.cpp

@@ -5,7 +5,7 @@
 
 #include <igl/is_irregular_vertex.h>
 #include <igl/doublearea.h>
-#include <igl/internal_angles.h>
+#include <igl/angles.h>
 
 int main(int argc, char *argv[])
 {
@@ -30,7 +30,7 @@ int main(int argc, char *argv[])
   VectorXd area;
   igl::doublearea(V,F,area);
   area = area.array() / 2;
-  
+
   double area_avg   = area.mean();
   double area_min   = area.minCoeff() / area_avg;
   double area_max   = area.maxCoeff() / area_avg;
@@ -42,12 +42,12 @@ int main(int argc, char *argv[])
   MatrixXd angles;
   igl::angles(V,F,angles);
   angles = 360.0 * (angles/(2*M_PI)); // Convert to degrees
-  
+
   double angle_avg   = angles.mean();
   double angle_min   = angles.minCoeff();
   double angle_max   = angles.maxCoeff();
   double angle_sigma = sqrt( (angles.array()-angle_avg).square().mean() );
-  
+
   printf("Angles in degrees (Min/Max) Sigma: \n%.2f/%.2f (%.2f)\n",angle_min,angle_max,angle_sigma);
 
 }

+ 12 - 10
tutorial/cmake/FindEMBREE.cmake

@@ -7,22 +7,24 @@
 # EMBREE_LIBRARIES       - Link these to use EMBREE
 #
 
-FIND_PATH(EMBREE_INCLUDE_DIR embree/include/embree.h
+FIND_PATH(EMBREE_INCLUDE_DIR embree2/rtcore.h
 	  PATHS
-		${PROJECT_SOURCE_DIR}/../../external/embree
-		${PROJECT_SOURCE_DIR}/../external/embree
+		${PROJECT_SOURCE_DIR}/../../external/embree/include
+		${PROJECT_SOURCE_DIR}/../external/embree/include
+		${PROJECT_SOURCE_DIR}/../libigl/external/embree/include
 		NO_DEFAULT_PATH
     )
 
-# message(FATAL_ERROR ${PROJECT_SOURCE_DIR}/../../external/embree)
+#message(FATAL_ERROR ${PROJECT_SOURCE_DIR}/../libigl/external/embree)
+#message(FATAL_ERROR ${EMBREE_INCLUDE_DIR})
 
-SET(SEARCH_PATHS "${EMBREE_INCLUDE_DIR}" "${EMBREE_INCLUDE_DIR}/build" "${EMBREE_INCLUDE_DIR}/lib")
+SET(SEARCH_PATHS "${EMBREE_INCLUDE_DIR}/../" "${EMBREE_INCLUDE_DIR}/../build" "${EMBREE_INCLUDE_DIR}/../lib")
 
-FIND_LIBRARY(EMBREE_CORE_LIBRARY  NAMES embree PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
-FIND_LIBRARY(EMBREE_CORE_LIBRARY2 NAMES device PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY  NAMES embree_sse42 PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY2 NAMES transport PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
 FIND_LIBRARY(EMBREE_CORE_LIBRARY3 NAMES image PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
 FIND_LIBRARY(EMBREE_CORE_LIBRARY4 NAMES lexers PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
-#FIND_LIBRARY(EMBREE_CORE_LIBRARY5 NAMES loaders PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
+FIND_LIBRARY(EMBREE_CORE_LIBRARY5 NAMES embree PATHS ${SEARCH_PATHS} PATH_SUFFIXES dylib a lib)
 FIND_LIBRARY(EMBREE_CORE_LIBRARY6 NAMES sys PATHS ${SEARCH_PATHS} PATH_SUFFIXES a lib)
 
 if(EMBREE_CORE_LIBRARY AND EMBREE_INCLUDE_DIR)
@@ -37,10 +39,10 @@ IF (EMBREE_FOUND)
    "${EMBREE_CORE_LIBRARY2}"
    "${EMBREE_CORE_LIBRARY3}"
    "${EMBREE_CORE_LIBRARY4}"
-   #"${EMBREE_CORE_LIBRARY5}"
+   "${EMBREE_CORE_LIBRARY5}"
    "${EMBREE_CORE_LIBRARY6}"
    )
    SET(EMBREE_INCLUDE_DIRS ${EMBREE_INCLUDE_DIR} ${EMBREE_INCLUDE_DIR}/embree)
 ELSE (EMBREE_FOUND)
-    message(STATUS "could NOT find EMBREE")
+    message(FATAL_ERROR "could NOT find EMBREE")
 ENDIF (EMBREE_FOUND)