Merge from CGAL-3.7-branch/Mesh_3.

This commit is contained in:
Stéphane Tayeb 2010-08-05 09:41:38 +00:00
parent 885678e792
commit caa4afd04d
3 changed files with 81 additions and 55 deletions

View File

@ -97,40 +97,57 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
# executable files # executable files
set(LIBRARY_OUTPUT_PATH ${RUNTIME_OUTPUT_PATH}) set(LIBRARY_OUTPUT_PATH ${RUNTIME_OUTPUT_PATH})
# AUXILIARY LIBRARIES # prefix for Mesh_3 libs to avoid conflicts with Polyhedron demo
add_library(viewer SHARED set(MESH_3_LIB_PREFIX "mesh_3_demo_")
${DEMO_SRC_DIR}/Viewer.cpp Viewer_moc.cpp)
target_link_libraries(viewer ${QGLVIEWER_LIBRARIES})
add_library(scene_item SHARED # AUXILIARY LIBRARIES
set(VIEWER_LIB "${MESH_3_LIB_PREFIX}viewer")
add_library(${VIEWER_LIB} SHARED
${DEMO_SRC_DIR}/Viewer.cpp Viewer_moc.cpp)
target_link_libraries(${VIEWER_LIB} ${QGLVIEWER_LIBRARIES})
set_target_properties(${VIEWER_LIB} PROPERTIES DEFINE_SYMBOL viewer_EXPORTS)
set(SCENE_ITEM_LIB "${MESH_3_LIB_PREFIX}scene_item")
add_library(${SCENE_ITEM_LIB} SHARED
${DEMO_SRC_DIR}/Scene_item.cpp ${DEMO_SRC_DIR}/Scene_item.cpp
Scene_item_moc.cpp Scene_item_moc.cpp
${DEMO_SRC_DIR}/Scene_item_with_display_list.cpp ${DEMO_SRC_DIR}/Scene_item_with_display_list.cpp
${DEMO_SRC_DIR}/Plugin_helper.cpp) ${DEMO_SRC_DIR}/Plugin_helper.cpp)
set_target_properties(${SCENE_ITEM_LIB} PROPERTIES DEFINE_SYMBOL scene_item_EXPORTS)
add_library(scene_segmented_image_item SHARED set(SCENE_SEGMENTED_IMAGE_ITEM_LIB "${MESH_3_LIB_PREFIX}scene_segmented_image_item")
add_library(${SCENE_SEGMENTED_IMAGE_ITEM_LIB} SHARED
Scene_segmented_image_item.cpp Scene_segmented_image_item.moc) Scene_segmented_image_item.cpp Scene_segmented_image_item.moc)
target_link_libraries(scene_segmented_image_item scene_item) target_link_libraries(${SCENE_SEGMENTED_IMAGE_ITEM_LIB} ${SCENE_ITEM_LIB})
set_target_properties(${SCENE_SEGMENTED_IMAGE_ITEM_LIB} PROPERTIES DEFINE_SYMBOL scene_segmented_image_item_EXPORTS)
if(GLEW_FOUND) if(GLEW_FOUND)
target_link_libraries(scene_segmented_image_item ${GLEW_LIBRARIES}) target_link_libraries(${SCENE_SEGMENTED_IMAGE_ITEM_LIB} ${GLEW_LIBRARIES})
endif() endif()
add_library(scene_polyhedron_item SHARED set(SCENE_POLYHEDRON_ITEM_LIB "${MESH_3_LIB_PREFIX}scene_polyhedron_item")
add_library(${SCENE_POLYHEDRON_ITEM_LIB} SHARED
Scene_polyhedron_item.cpp Scene_polyhedron_item.moc) Scene_polyhedron_item.cpp Scene_polyhedron_item.moc)
target_link_libraries(scene_polyhedron_item scene_item) target_link_libraries(${SCENE_POLYHEDRON_ITEM_LIB} ${SCENE_ITEM_LIB})
set_target_properties(${SCENE_POLYHEDRON_ITEM_LIB} PROPERTIES DEFINE_SYMBOL scene_polyhedron_item_EXPORTS)
add_library(polygon_soup SHARED set(POLYGON_SOUP_LIB "${MESH_3_LIB_PREFIX}polygon_soup")
add_library(${POLYGON_SOUP_LIB} SHARED
Scene_polygon_soup.cpp Scene_polygon_soup.moc) Scene_polygon_soup.cpp Scene_polygon_soup.moc)
target_link_libraries(polygon_soup scene_item) target_link_libraries(${POLYGON_SOUP_LIB} ${SCENE_ITEM_LIB})
set_target_properties(${POLYGON_SOUP_LIB} PROPERTIES DEFINE_SYMBOL polygon_soup_EXPORTS)
add_library(scene_c3t3_item SHARED set(SCENE_C3T3_ITEM_LIB "${MESH_3_LIB_PREFIX}scene_c3t3_item")
add_library(${SCENE_C3T3_ITEM_LIB} SHARED
Scene_c3t3_item.cpp Scene_c3t3_item.moc) Scene_c3t3_item.cpp Scene_c3t3_item.moc)
target_link_libraries(scene_c3t3_item scene_item ${QGLVIEWER_LIBRARIES} ) target_link_libraries(${SCENE_C3T3_ITEM_LIB} ${SCENE_ITEM_LIB} ${QGLVIEWER_LIBRARIES} )
set_target_properties(${SCENE_C3T3_ITEM_LIB} PROPERTIES DEFINE_SYMBOL scene_c3t3_item_EXPORTS)
add_library(scene_implicit_function_item SHARED set(SCENE_IMPLICIT_FUNCTION_ITEM_LIB "${MESH_3_LIB_PREFIX}scene_implicit_function_item")
add_library(${SCENE_IMPLICIT_FUNCTION_ITEM_LIB} SHARED
Scene_implicit_function_item.cpp Scene_implicit_function_item.moc Color_ramp.cpp) Scene_implicit_function_item.cpp Scene_implicit_function_item.moc Color_ramp.cpp)
target_link_libraries(scene_implicit_function_item scene_item ${QGLVIEWER_LIBRARIES} ) target_link_libraries(${SCENE_IMPLICIT_FUNCTION_ITEM_LIB} ${SCENE_ITEM_LIB} ${QGLVIEWER_LIBRARIES} )
set_target_properties(${SCENE_IMPLICIT_FUNCTION_ITEM_LIB} PROPERTIES DEFINE_SYMBOL scene_implicit_function_item_EXPORTS)
add_definitions(-DUSE_FORWARD_DECL) add_definitions(-DUSE_FORWARD_DECL)
@ -155,7 +172,7 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
# # Link with the scene_item library. # # Link with the scene_item library.
# target_link_libraries( Mesh_3 scene_item ) # target_link_libraries( Mesh_3 scene_item )
target_link_libraries( Mesh_3 viewer ) target_link_libraries( Mesh_3 ${VIEWER_LIB} )
add_to_cached_list( CGAL_EXECUTABLE_TARGETS Mesh_3 ) add_to_cached_list( CGAL_EXECUTABLE_TARGETS Mesh_3 )
@ -183,33 +200,39 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
# Link with Qt # Link with Qt
target_link_libraries( ${plugin_name} ${QT_LIBRARIES} ) target_link_libraries( ${plugin_name} ${QT_LIBRARIES} )
# Link with scene_item # Link with scene_item
target_link_libraries( ${plugin_name} scene_item) target_link_libraries( ${plugin_name} ${SCENE_ITEM_LIB})
# Link with CGAL # Link with CGAL
target_link_libraries( ${plugin_name} ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} ) target_link_libraries( ${plugin_name} ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
endmacro(polyhedron_demo_plugin) endmacro(polyhedron_demo_plugin)
polyhedron_demo_plugin(io_image_plugin Io_image_plugin) set(IO_IMAGE_PLUGIN_LIB "${MESH_3_LIB_PREFIX}io_image_plugin")
target_link_libraries(io_image_plugin scene_segmented_image_item) polyhedron_demo_plugin(${IO_IMAGE_PLUGIN_LIB} Io_image_plugin)
target_link_libraries(${IO_IMAGE_PLUGIN_LIB} ${SCENE_SEGMENTED_IMAGE_ITEM_LIB})
if(GLEW_FOUND) if(GLEW_FOUND)
target_link_libraries(io_image_plugin ${GLEW_LIBRARIES}) target_link_libraries(${IO_IMAGE_PLUGIN_LIB} ${GLEW_LIBRARIES})
endif() endif()
polyhedron_demo_plugin(io_off_plugin Io_off_plugin) set(IO_OFF_PLUGIN_LIB "${MESH_3_LIB_PREFIX}io_off_plugin")
target_link_libraries(io_off_plugin scene_polyhedron_item polygon_soup) polyhedron_demo_plugin(${IO_OFF_PLUGIN_LIB} Io_off_plugin)
target_link_libraries(${IO_OFF_PLUGIN_LIB} ${SCENE_POLYHEDRON_ITEM_LIB} ${POLYGON_SOUP_LIB})
polyhedron_demo_plugin(io_c3t3_plugin Io_c3t3_plugin) set(IO_C3T3_PLUGIN_LIB "${MESH_3_LIB_PREFIX}io_c3t3_plugin")
target_link_libraries(io_c3t3_plugin scene_c3t3_item) polyhedron_demo_plugin(${IO_C3T3_PLUGIN_LIB} Io_c3t3_plugin)
target_link_libraries(${IO_C3T3_PLUGIN_LIB} ${SCENE_C3T3_ITEM_LIB})
if ( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/c3t3_rib_exporter_plugin.cpp" ) if ( EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/c3t3_rib_exporter_plugin.cpp" )
polyhedron_demo_plugin(c3t3_rib_exporter_plugin C3t3_rib_exporter_plugin ${ribUI_FILES}) set(C3T3_RIB_EXPORTER_PLUGIN_LIB "${MESH_3_LIB_PREFIX}c3t3_rib_exporter_plugin")
target_link_libraries(c3t3_rib_exporter_plugin scene_c3t3_item viewer) polyhedron_demo_plugin(${C3T3_RIB_EXPORTER_PLUGIN_LIB} C3t3_rib_exporter_plugin ${ribUI_FILES})
target_link_libraries(${C3T3_RIB_EXPORTER_PLUGIN_LIB} ${SCENE_C3T3_ITEM_LIB} ${VIEWER_LIB})
endif() endif()
polyhedron_demo_plugin(io_implicit_function_plugin Io_implicit_function_plugin ${funcUI_FILES}) set(IO_IMPLICIT_FUNCTION_PLUGIN_LIB "${MESH_3_LIB_PREFIX}io_implicit_function_plugin")
target_link_libraries(io_implicit_function_plugin scene_implicit_function_item) polyhedron_demo_plugin(${IO_IMPLICIT_FUNCTION_PLUGIN_LIB} Io_implicit_function_plugin ${funcUI_FILES})
target_link_libraries(${IO_IMPLICIT_FUNCTION_PLUGIN_LIB} ${SCENE_IMPLICIT_FUNCTION_ITEM_LIB})
polyhedron_demo_plugin(mesh_3_plugin Mesh_3_plugin set(MESH_3_PLUGIN_LIB "${MESH_3_LIB_PREFIX}mesh_3_plugin")
polyhedron_demo_plugin(${MESH_3_PLUGIN_LIB} Mesh_3_plugin
Mesh_3_plugin_polyhedron_cgal_code.cpp Mesh_3_plugin_polyhedron_cgal_code.cpp
Mesh_3_plugin_image_cgal_code.cpp Mesh_3_plugin_image_cgal_code.cpp
Mesh_3_plugin_implicit_function_cgal_code.cpp Mesh_3_plugin_implicit_function_cgal_code.cpp
@ -217,26 +240,27 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
Scene_c3t3_item.moc Scene_c3t3_item.moc
${meshingUI_FILES}) ${meshingUI_FILES})
target_link_libraries(mesh_3_plugin target_link_libraries(${MESH_3_PLUGIN_LIB}
scene_c3t3_item ${SCENE_C3T3_ITEM_LIB}
scene_polyhedron_item ${SCENE_POLYHEDRON_ITEM_LIB}
scene_segmented_image_item ${SCENE_SEGMENTED_IMAGE_ITEM_LIB}
scene_implicit_function_item ${SCENE_IMPLICIT_FUNCTION_ITEM_LIB}
${QGLVIEWER_LIBRARIES} ${QGLVIEWER_LIBRARIES}
${OPENGL_gl_LIBRARY} ${OPENGL_gl_LIBRARY}
${OPENGL_glu_LIBRARY}) ${OPENGL_glu_LIBRARY})
polyhedron_demo_plugin(mesh_3_optimization_plugin Mesh_3_optimization_plugin set(MESH_3_OPTIMIZATION_PLUGIN_LIB "${MESH_3_LIB_PREFIX}mesh_3_optimization_plugin")
polyhedron_demo_plugin(${MESH_3_OPTIMIZATION_PLUGIN_LIB} Mesh_3_optimization_plugin
Mesh_3_optimization_plugin_cgal_code.cpp Mesh_3_optimization_plugin_cgal_code.cpp
Optimizer_thread.cpp Optimizer_thread.cpp
Scene_c3t3_item.moc Scene_c3t3_item.moc
${optimUI_FILES}) ${optimUI_FILES})
target_link_libraries(mesh_3_optimization_plugin target_link_libraries(${MESH_3_OPTIMIZATION_PLUGIN_LIB}
scene_c3t3_item ${SCENE_C3T3_ITEM_LIB}
scene_polyhedron_item ${SCENE_POLYHEDRON_ITEM_LIB}
scene_segmented_image_item ${SCENE_SEGMENTED_IMAGE_ITEM_LIB}
scene_implicit_function_item ${SCENE_IMPLICIT_FUNCTION_ITEM_LIB}
${QGLVIEWER_LIBRARIES} ${QGLVIEWER_LIBRARIES}
${OPENGL_gl_LIBRARY} ${OPENGL_gl_LIBRARY}
${OPENGL_glu_LIBRARY}) ${OPENGL_glu_LIBRARY})

View File

@ -100,28 +100,28 @@ if ${MAKE_CMD} -f Makefile help | grep "Mesh_3$" > /dev/null; then
compile_and_run Mesh_3 compile_and_run Mesh_3
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "mesh_3_optimization_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "mesh_3_demo_mesh_3_optimization_plugin" > /dev/null; then
compile_and_run mesh_3_optimization_plugin compile_and_run mesh_3_demo_mesh_3_optimization_plugin
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "mesh_3_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "mesh_3_demo_mesh_3_plugin" > /dev/null; then
compile_and_run mesh_3_plugin compile_and_run mesh_3_demo_mesh_3_plugin
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "io_c3t3_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "mesh_3_demo_io_c3t3_plugin" > /dev/null; then
compile_and_run io_c3t3_plugin compile_and_run mesh_3_demo_io_c3t3_plugin
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "io_image_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "mesh_3_demo_io_image_plugin" > /dev/null; then
compile_and_run io_image_plugin compile_and_run mesh_3_demo_io_image_plugin
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "io_implicit_function_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "mesh_3_demo_io_implicit_function_plugin" > /dev/null; then
compile_and_run io_implicit_function_plugin compile_and_run mesh_3_demo_io_implicit_function_plugin
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "io_off_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "mesh_3_demo_io_off_plugin" > /dev/null; then
compile_and_run io_off_plugin compile_and_run mesh_3_demo_io_off_plugin
NEED_CLEAN=y NEED_CLEAN=y
fi fi
if ${MAKE_CMD} -f Makefile help | grep "klein_function_plugin" > /dev/null; then if ${MAKE_CMD} -f Makefile help | grep "klein_function_plugin" > /dev/null; then

View File

@ -419,7 +419,9 @@ test_point_conflict_from_superior_impl(const Point& point,
facet_it != zone.internal_facets.end(); facet_it != zone.internal_facets.end();
++facet_it) ++facet_it)
{ {
if( is_facet_encroached(*facet_it, point) ) // surface facets which are internal facets of the conflict zone are
// encroached
if( is_facet_on_surface(*facet_it) )
{ {
// Insert already existing surface facet into refinement queue // Insert already existing surface facet into refinement queue
insert_encroached_facet(*facet_it); insert_encroached_facet(*facet_it);
@ -755,7 +757,7 @@ Refine_facets_3<Tr,Cr,MD,C3T3_,P_,C_>::
is_facet_encroached(const Facet& facet, is_facet_encroached(const Facet& facet,
const Point& point) const const Point& point) const
{ {
if ( r_tr_.is_infinite(facet.first) || ! is_facet_on_surface(facet) ) if ( r_tr_.is_infinite(facet) || ! is_facet_on_surface(facet) )
{ {
return false; return false;
} }