From d654e24ee8728b2ad322746ebcb8fc949c22249f Mon Sep 17 00:00:00 2001
From: vahrenkamp <vahrenkamp@042f3d55-54a8-47e9-b7fb-15903f145c44>
Date: Sat, 11 Jan 2014 21:27:00 +0000
Subject: [PATCH] Fixed OSG issues.

git-svn-id: http://svn.code.sf.net/p/simox/code/trunk@469 042f3d55-54a8-47e9-b7fb-15903f145c44
---
 .../GraspPlanner/MATPlanner/MedialSphere.h    |  1 -
 .../GraspPlanner/MATPlanner/MeshConverter.cpp |  7 +-
 .../OSGVisualizationFactory.cpp               |  2 +-
 .../examples/RobotViewerOSG/CMakeLists.txt    | 93 +++++++++++--------
 4 files changed, 61 insertions(+), 42 deletions(-)

diff --git a/GraspPlanning/GraspPlanner/MATPlanner/MedialSphere.h b/GraspPlanning/GraspPlanner/MATPlanner/MedialSphere.h
index 38a1d81b6..0eab31386 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/MedialSphere.h
+++ b/GraspPlanning/GraspPlanner/MATPlanner/MedialSphere.h
@@ -26,7 +26,6 @@
 #include "../../GraspStudio.h"
 #include <vector>
 #include <Eigen/Geometry>
-#include <Inventor/nodes/SoSeparator.h>
 
 #include "StrOutHelpers.h"
 
diff --git a/GraspPlanning/GraspPlanner/MATPlanner/MeshConverter.cpp b/GraspPlanning/GraspPlanner/MATPlanner/MeshConverter.cpp
index aec423353..05373b117 100644
--- a/GraspPlanning/GraspPlanner/MATPlanner/MeshConverter.cpp
+++ b/GraspPlanning/GraspPlanner/MATPlanner/MeshConverter.cpp
@@ -21,8 +21,7 @@
 *
 */
 #include "MeshConverter.h"
-
-#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h>
+#include <VirtualRobot/Visualization/VisualizationFactory.h>
 
 using namespace std;
 using namespace Eigen;
@@ -109,7 +108,9 @@ namespace GraspStudio
 		{
 			checkAndSplitVertex(triMesh2, i, maxDist);
 		}
-		CoinVisualizationFactoryPtr cv(new CoinVisualizationFactory());
+	    VisualizationFactoryPtr cv = VisualizationFactory::first(NULL);
+        if (!cv)
+            return res;
 		Eigen::Matrix4f gp = object->getGlobalPose();
 		VisualizationNodePtr visu = cv->createTriMeshModelVisualization(triMesh2, false, gp);
 		CollisionModelPtr cm(new CollisionModel(visu));
diff --git a/VirtualRobot/Visualization/OSGVisualization/OSGVisualizationFactory.cpp b/VirtualRobot/Visualization/OSGVisualization/OSGVisualizationFactory.cpp
index 0a84554ec..acacc1be1 100644
--- a/VirtualRobot/Visualization/OSGVisualization/OSGVisualizationFactory.cpp
+++ b/VirtualRobot/Visualization/OSGVisualization/OSGVisualizationFactory.cpp
@@ -123,7 +123,7 @@ VisualizationNodePtr OSGVisualizationFactory::createLine(const Eigen::Matrix4f &
 	color->push_back(osg::Vec4(colorR,colorG,colorB,1.0)); 
 	beam->setVertexArray(points.get()); 
 	beam->setColorArray(color.get()); 
-	beam->setColorBinding(osg::Geometry::BIND_PER_PRIMITIVE); 
+	beam->setColorBinding(osg::Geometry::BIND_PER_VERTEX); // BIND_PER_PRIMITIVE
 	beam->addPrimitiveSet(new osg::DrawArrays(GL_LINES,0,2));
 
 
diff --git a/VirtualRobot/examples/RobotViewerOSG/CMakeLists.txt b/VirtualRobot/examples/RobotViewerOSG/CMakeLists.txt
index 6aeaed99b..d99465db2 100644
--- a/VirtualRobot/examples/RobotViewerOSG/CMakeLists.txt
+++ b/VirtualRobot/examples/RobotViewerOSG/CMakeLists.txt
@@ -4,9 +4,9 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)
 
 CMAKE_POLICY(VERSION 2.6)
 
-IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION)
+INCLUDE(${Simox_DIR}/CMakeModules/SimoxMacros.cmake)
 
-    LINK_DIRECTORIES(${VirtualRobot_LIB_DIR})
+IF(Simox_VISUALIZATION AND Simox_USE_OPENSCENEGRAPH_VISUALIZATION)
 
 
 	# the variable "demo_SRCS" contains all .cpp files of this project
@@ -14,39 +14,58 @@ IF(VirtualRobot_VISUALIZATION AND VirtualRobot_USE_OPENSCENEGRAPH_VISUALIZATION)
 	FILE(GLOB demo_INCS ${PROJECT_SOURCE_DIR}/showRobotWindow.h)# osgViewerWidget.h)
 
 
-    ################################## moc'ing ##############################
-    set(GUI_MOC_HDRS
-        ${PROJECT_SOURCE_DIR}/showRobotWindow.h
-
-    )
-#${PROJECT_SOURCE_DIR}/osgViewerWidget.h
-
-    set(GUI_UIS
-        ${PROJECT_SOURCE_DIR}/RobotViewer.ui
-    )
-
-    qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
-    qt4_wrap_ui(UI_HEADER ${GUI_UIS})
-    get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
-    list(APPEND demo_INCS ${UI_HEADER})
-
-    include_directories(${UI_HEADER_DIR})
-
-    ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
-    SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${VirtualRobot_BIN_DIR})
-
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
-    INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
-    INCLUDE_DIRECTORIES(${COLLADA_DOM_INCLUDE_DIRS})
-    INCLUDE(${QT_USE_FILE})
-    ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
-
-    INSTALL(TARGETS ${PROJECT_NAME}
-        DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
-	COMPONENT Applications
-	)
-
-    MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
-    MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
+  ################################## moc'ing ##############################
+  set(GUI_MOC_HDRS
+      ${PROJECT_SOURCE_DIR}/showRobotWindow.h
+
+  )
+  #${PROJECT_SOURCE_DIR}/osgViewerWidget.h
+
+  set(GUI_UIS
+      ${PROJECT_SOURCE_DIR}/RobotViewer.ui
+  )
+  
+  VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
+  
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+  SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+   
+  #######################################################################################
+  ############################ Setup for installation ###################################
+  #######################################################################################
+
+  install(TARGETS ${PROJECT_NAME}
+    # IMPORTANT: Add the library to the "export-set"
+    EXPORT SimoxTargets
+    RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
+    COMPONENT dev)
+
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be placed into " ${Simox_BIN_DIR})
+  MESSAGE( STATUS " ** Simox application ${PROJECT_NAME} will be installed into " ${INSTALL_BIN_DIR})
+
+  #qt4_wrap_cpp(demo_SRCS ${GUI_MOC_HDRS})
+  #qt4_wrap_ui(UI_HEADER ${GUI_UIS})
+  #get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH)
+  #list(APPEND demo_INCS ${UI_HEADER})
+
+  #include_directories(${UI_HEADER_DIR})
+
+ 
+  #ADD_EXECUTABLE(${PROJECT_NAME} ${demo_SRCS} ${demo_INCS})
+  #SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
+  #SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
+
+  #TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${VirtualRobot_VISUALIZATION_LIBS})
+  #INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS})
+  #INCLUDE_DIRECTORIES(${COLLADA_DOM_INCLUDE_DIRS})
+  #INCLUDE(${QT_USE_FILE})
+  #ADD_DEFINITIONS(${VirtualRobot_VISUALIZATION_COMPILE_FLAGS})
+
+  #INSTALL(TARGETS ${PROJECT_NAME}
+  #  DESTINATION ${VirtualRobot_INSTALL_BIN_DIR}
+  #  COMPONENT Applications
+  #)
+
+  #  MESSAGE( STATUS ${PROJECT_NAME} " will be placed into " ${VirtualRobot_BIN_DIR})
+  #  MESSAGE( STATUS ${PROJECT_NAME} " will be installed into " ${VirtualRobot_INSTALL_BIN_DIR})
 ENDIF()
-- 
GitLab