diff --git a/SimDynamics/examples/SimDynamicsViewer/simDynamicsWindow.cpp b/SimDynamics/examples/SimDynamicsViewer/simDynamicsWindow.cpp index 596d53aab225768167fa9a67ad7530a42dd26723..6858a1761b2e474dfeacf68b28ff3d65f3360d8c 100644 --- a/SimDynamics/examples/SimDynamicsViewer/simDynamicsWindow.cpp +++ b/SimDynamics/examples/SimDynamicsViewer/simDynamicsWindow.cpp @@ -364,7 +364,7 @@ void SimDynamicsWindow::updateJointInfo() rn = robotNodes[n]; } SimDynamics::DynamicsObjectPtr dynRN = dynamicsRobot->getDynamicsRobotNode(rn); - SimDynamics::BulletObjectPtr bulletRN = boost::shared_dynamic_cast<SimDynamics::BulletObject>(dynRN); + SimDynamics::BulletObjectPtr bulletRN = boost::dynamic_pointer_cast<SimDynamics::BulletObject>(dynRN); if (bulletRN) { // cout << "FORCE: " << bulletRN->getRigidBody()->getTotalForce()[0] << ", " << bulletRN->getRigidBody()->getTotalForce()[1] << ", " << bulletRN->getRigidBody()->getTotalForce()[2] << endl; @@ -373,7 +373,7 @@ void SimDynamicsWindow::updateJointInfo() // cout << "getAngularVelocity: " << bulletRN->getRigidBody()->getAngularVelocity()[0] << ", " << bulletRN->getRigidBody()->getAngularVelocity()[1] << ", " << bulletRN->getRigidBody()->getAngularVelocity()[2] << endl; } - BulletRobotPtr bulletRobot = boost::shared_dynamic_cast<SimDynamics::BulletRobot>(dynamicsRobot); + BulletRobotPtr bulletRobot = boost::dynamic_pointer_cast<SimDynamics::BulletRobot>(dynamicsRobot); if (rn && bulletRobot && bulletRobot->hasLink(rn)) { BulletRobot::LinkInfo linkInfo = bulletRobot->getLink(rn); diff --git a/VirtualRobot/COLLADA/ColladaIO.h b/VirtualRobot/COLLADA/ColladaIO.h index faa798fbf828138433e056929a78af0835cd8203..9ce8ead73246799691f7f4f4ea289e17fbb1a516 100644 --- a/VirtualRobot/COLLADA/ColladaIO.h +++ b/VirtualRobot/COLLADA/ColladaIO.h @@ -15,10 +15,11 @@ #include <VirtualRobot/Visualization/TriMeshModel.h> #include <Eigen/Core> #include <Eigen/Geometry> +#include "../VirtualRobotImportExport.h" namespace VirtualRobot { -class ColladaIO { + class VIRTUAL_ROBOT_IMPORT_EXPORT ColladaIO { public: EIGEN_MAKE_ALIGNED_OPERATOR_NEW diff --git a/VirtualRobot/COLLADA/ColladaParser.h b/VirtualRobot/COLLADA/ColladaParser.h index 55a7f75c27d8ea751606ac19f10b94b9708354e0..af8abd56b2b9deeedbc909e02268258e6560c629 100644 --- a/VirtualRobot/COLLADA/ColladaParser.h +++ b/VirtualRobot/COLLADA/ColladaParser.h @@ -32,6 +32,7 @@ #include <boost/lambda/lambda.hpp> #include <boost/shared_ptr.hpp> #include <ostream> +#include "../VirtualRobotImportExport.h" namespace VirtualRobot { @@ -41,7 +42,7 @@ * the OpenGRASP robot editor. Once the file is read, the kinematic and visual structure is * stored in a tree shaped data structure for further processing. */ -class ColladaParser { + class VIRTUAL_ROBOT_IMPORT_EXPORT ColladaParser { public: /** @brief Class that represents the visual appearance of a robot node diff --git a/VirtualRobot/examples/ColladaViewer/CMakeLists.txt b/VirtualRobot/examples/ColladaViewer/CMakeLists.txt index e4c986c9095589b57e60b151767d8e193b9573df..d1797203b04c887884386509106acd9140e201bd 100644 --- a/VirtualRobot/examples/ColladaViewer/CMakeLists.txt +++ b/VirtualRobot/examples/ColladaViewer/CMakeLists.txt @@ -4,7 +4,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4) CMAKE_POLICY(VERSION 2.6) -IF(VirtualRobot_USE_COIN_VISUALIZATION AND VirtualRobot_USE_COLLADA) +IF(Simox_USE_COIN_VISUALIZATION AND Simox_USE_COLLADA) GET_FILENAME_COMPONENT (CurrentPath ${CMAKE_CURRENT_LIST_FILE} PATH) @@ -33,34 +33,28 @@ IF(VirtualRobot_USE_COIN_VISUALIZATION AND VirtualRobot_USE_COLLADA) ${PROJECT_SOURCE_DIR}/RobotViewer.ui ) - qt4_wrap_cpp(demo_SRCS ${mocFiles}) - qt4_wrap_ui(UI_HEADER ${uiFiles}) - get_filename_component(UI_HEADER_DIR ${UI_HEADER} PATH) - list(APPEND demo_INCS ${UI_HEADER}) - include_directories(${UI_HEADER_DIR}) + add_definitions( -DDEMO_PATH=\"${PROJECT_SOURCE_DIR}\" ) add_definitions( " -DDOM_DYNAMIC " ) - # create the executable - 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} ${VirtualRobot_EXTERNAL_LIBRARIES}) - - INCLUDE_DIRECTORIES(${VirtualRobot_VISUALIZATION_INCLUDE_PATHS}) - 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}) + # create the executable + VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${mocFiles}" "${uiFiles}") + 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}) ENDIF() diff --git a/config.cmake b/config.cmake index c5d9e07d9afb0ea1d9a8f01f609b8313c9054657..f8d06f5db66d331bc841d48177f05760441737cd 100644 --- a/config.cmake +++ b/config.cmake @@ -306,6 +306,8 @@ IF (NOT Simox_CONFIGURED) SET (Simox_EXTERNAL_INCLUDE_DIRS ${Simox_EXTERNAL_INCLUDE_DIRS} ${COLLADA_DOM_INCLUDE_DIRS}) SET (Simox_EXTERNAL_LIBRARIES ${Simox_EXTERNAL_LIBRARIES} ${COLLADA_LIBRARY}) + + SET (Simox_EXTERNAL_LIBRARY_FLAGS "${Simox_EXTERNAL_LIBRARY_FLAGS} -DDOM_DYNAMIC ") ENDIF() endif()