-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into avangong-buw
Conflicts: .gitignore avango-core/include/avango/MultiField.h avango-core/include/avango/OutputStream.h avango-core/include/avango/SingleField.h avango-core/include/avango/windows_specific.h avango-core/src/avango/fields/MultiField.cpp avango-core/src/avango/fields/StandardFields.cpp avango-core/src/avango/fields/tests/TestFields.cpp avango-daemon/include/avango/daemon/DeviceActuator.h avango-daemon/include/avango/daemon/DeviceSensor.h avango-daemon/include/avango/daemon/DeviceService.h avango-daemon/include/avango/daemon/Station.h avango-daemon/include/avango/daemon/WacomTablet.h avango-daemon/src/avango/daemon/DTrack.cpp avango-daemon/src/avango/daemon/DeviceSensor.cpp avango-daemon/src/avango/daemon/DeviceService.cpp avango-daemon/src/avango/daemon/Station.cpp avango-daemon/src/avango/daemon/VRPNClient.cpp avango-daemon/src/avango/daemon/WacomTablet.cpp avango-python/include/avango/python/script/Init.h avango-python/include/avango/python/windows_specific_python.h avango-python/src/avango/script/Init.cpp avango-tools/include/avango/tools/Config.h.in avango-tools/python/avango/tools/Selectors.cpp avango-tools/python/avango/tools/_tools.cpp avango-tools/src/avango/tools/ChangeSelector.cpp avango-tools/src/avango/tools/DragTool.cpp avango-tools/src/avango/tools/FieldSelector.cpp avango-tools/src/avango/tools/Init.cpp avango-tools/src/avango/tools/InjectSelector.cpp avango-tools/src/avango/tools/NameSelector.cpp avango-tools/src/avango/tools/ObjectSelector.cpp avango-tools/src/avango/tools/PickSelector.cpp avango-tools/src/avango/tools/ProximitySelector.cpp avango-tools/src/avango/tools/ScaledGrabTool.cpp avango-tools/src/avango/tools/Selector.cpp avango-tools/src/avango/tools/SingleSelector.cpp avango-tools/src/avango/tools/TargetHolder.cpp avango-tools/src/avango/tools/Tool.cpp avango-tools/src/avango/tools/TriggerSelector.cpp avango-tools/src/avango/tools/TypeSelector.cpp avango-tools/src/avango/tools/UnionSelector.cpp avango-unittest/include/avango/UnitTest++/CheckMacros.h avango-unittest/include/avango/UnitTest++/Checks.h avango-unittest/include/avango/UnitTest++/Config.h avango-unittest/include/avango/UnitTest++/Posix/SignalTranslator.h avango-unittest/include/avango/UnitTest++/Test.h avango-unittest/include/avango/UnitTest++/TestList.h avango-unittest/include/avango/UnitTest++/TestMacros.h avango-unittest/include/avango/UnitTest++/TestRunner.h avango-unittest/include/avango/UnitTest++/TimeConstraint.h avango-unittest/include/avango/UnitTest++/UnitTest++.h avango-unittest/include/avango/UnitTest++/Win32/TimeHelpers.h examples/daemon/mouse-app.py examples/daemon/mouse-daemon.py examples/daemon/spacemouse-daemon.py
- Loading branch information
Showing
498 changed files
with
273,622 additions
and
2,697 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,202 @@ | ||
################################################################ | ||
# Avango | ||
################################################################ | ||
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE) | ||
PROJECT(AVANGO CXX) | ||
|
||
# version number | ||
set(AVANGO_MAJOR 1) | ||
set(AVANGO_MINOR 0) | ||
set(AVANGO_PATCH 0) | ||
set(AVANGO_VERSION ${AVANGO_MAJOR}.${AVANGO_MINOR}.${AVANGO_PATCH}) | ||
set(AVANGO_DESCRIPTION "AVANGO") | ||
set(AVANGO_HOMEPAGE "https://github.com/vrsys") | ||
set(AVANGO_EXENAME "AVANGO") | ||
set(AVANGO_PACKAGENAME "AVANGO") | ||
|
||
# We require at least version 2.8.0 | ||
cmake_minimum_required(VERSION 2.8.0) | ||
|
||
if (UNIX) | ||
find_package(PkgConfig) | ||
endif(UNIX) | ||
|
||
# Location where cmake first looks for modules. | ||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) | ||
|
||
################################################################ | ||
# Configure and find libraries | ||
################################################################ | ||
SET(GLOBAL_EXT_DIR ${AVANGO_SOURCE_DIR}/externals) | ||
|
||
if (UNIX) | ||
pkg_check_modules(GL REQUIRED gl) | ||
endif (UNIX) | ||
|
||
include(find_compiler) | ||
include(file_copy_macro) | ||
|
||
include(find_guacamole) | ||
SET(GUACAMOLE_EXT_DIR ${GUACAMOLE_INCLUDE_DIRS}/../externals) | ||
|
||
include(find_assimp) | ||
include(find_boost) | ||
include(find_bullet) | ||
include(find_json) | ||
include(find_python) | ||
include(find_schism) | ||
|
||
if (UNIX) | ||
list(APPEND BOOST_LIBRARIES boost_thread boost_signals boost_python) | ||
endif (UNIX) | ||
|
||
set(LIBRARIES | ||
${BOOST_LIBRARIES} | ||
${GUACAMOLE_LIBRARIES} | ||
${GL_LIBRARIES} | ||
${SCHISM_LIBRARIES} | ||
) | ||
|
||
set(LIB_PATHS | ||
${BOOST_LIBRARY_DIRS} | ||
${GUACAMOLE_LIBRARY_DIRS} | ||
${GL_LIBRARY_DIRS} | ||
${CMAKE_CURRENT_SOURCE_DIR}/lib | ||
) | ||
|
||
set(INCLUDE_PATHS | ||
${CMAKE_CURRENT_SOURCE_DIR}/build | ||
${CMAKE_CURRENT_SOURCE_DIR}/include | ||
${BOOST_INCLUDE_DIRS} | ||
${GUACAMOLE_INCLUDE_DIRS} | ||
${GL_INCLUDE_DIRS} | ||
) | ||
|
||
INCLUDE_DIRECTORIES(ALL | ||
${INCLUDE_PATHS} | ||
) | ||
|
||
if (NOT CMAKE_BUILD_TYPE) | ||
set(CMAKE_BUILD_TYPE "Release") | ||
endif() | ||
|
||
################################################################ | ||
# preprocessor configuration | ||
################################################################ | ||
IF (UNIX) | ||
set(CMAKE_CXX_FLAGS_RELEASE "-s -O4 --std=c++0x") | ||
set(CMAKE_CXX_FLAGS_DEBUG "-g -Wall --std=c++0x") | ||
ELSEIF(MSVC) | ||
set(CMAKE_CXX_FLAGS_RELEASE "-D NDEBUG -D _SECURE_SCL=0 -D _SCL_SECURE_NO_WARNINGS -D _CRT_SECURE_NO_DEPRECATE /MD /MP") | ||
set(CMAKE_CXX_FLAGS_DEBUG "-D_DEBUG /MDd /Zi") | ||
add_definitions(-D AV_INSTANTIATE_FIELD_TEMPLATES -D NOMINMAX) | ||
ENDIF(UNIX) | ||
|
||
################################################################ | ||
# Avango Configuration | ||
################################################################ | ||
SET (AVANGO_VERSION_MAJOR "1" CACHE STRING "Major version of AvangoNG.") | ||
SET (AVANGO_VERSION_MINOR "90" CACHE STRING "Minor version of AvangoNG.") | ||
SET (AVANGO_VERSION_MAINT "0" CACHE STRING "Maintenance version of AvangoNG.") | ||
|
||
SET (AVANGO_DAEMON_VRPN_SUPPORT "false" CACHE BOOL "Enable using VRPN.") | ||
SET (AVANGO_DAEMON_DEBUG "false" CACHE BOOL "Enable Daemon debugging") | ||
SET (AVANGO_DISTRIBUTION_SUPPORT "false" CACHE BOOL "Set to enable distribution support.") | ||
SET (AVANGO_ZMQ_DISTRIBUTION_SUPPORT "false" CACHE BOOL "Set to use ZMQ for distribution.") | ||
SET (AVANGO_PCL_SUPPORT "false" CACHE BOOL "Use PCL.") | ||
SET (AVANGO_LOG_LEVEL "WARN" CACHE STRING "Set AvangoNG log level: FATAL, ERROR, WARN, INFO, DEBUG, TRACE") | ||
SET (AVANGO_UNITTESTS "false" CACHE BOOL "Compile Unittests for Avango.") | ||
SET (AVANGO_INSTALL_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib CACHE PATH "Install path for avango.") | ||
|
||
SET (AVANGO_OCULUS_RIFT_SUPPORT "false" CACHE BOOL "Compile Oculus Rift module for Avango.") | ||
|
||
################################################################ | ||
# Create build flags | ||
################################################################ | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_DAEMON_DEBUG=${AVANGO_DAEMON_DEBUG}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_DAEMON_DEBUG=${AVANGO_DAEMON_DEBUG}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_DAEMON_VRPN_SUPPORT=${AVANGO_DAEMON_VRPN_SUPPORT}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_DISTRIBUTION_SUPPORT=${AVANGO_DISTRIBUTION_SUPPORT}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_ZMQ_DISTRIBUTION_SUPPORT=${AVANGO_ZMQ_DISTRIBUTION_SUPPORT}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_PCL_SUPPORT=${AVANGO_PCL_SUPPORT}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_LOG_LEVEL=${AVANGO_LOG_LEVEL}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_VERSION_MAJOR=${AVANGO_VERSION_MAJOR}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_VERSION_MINOR=${AVANGO_VERSION_MINOR}") | ||
SET (BUILD_FLAGS "${BUILD_FLAGS} -D _AVANGO_VERSION_MAINT=${AVANGO_VERSION_MAINT}") | ||
|
||
################################################################ | ||
# Create libraries | ||
################################################################ | ||
FILE(MAKE_DIRECTORY ${AVANGO_INSTALL_DIRECTORY}) | ||
FILE(MAKE_DIRECTORY ${AVANGO_INSTALL_DIRECTORY}/python2.7) | ||
|
||
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib) | ||
|
||
ADD_SUBDIRECTORY(avango-unittest) | ||
ADD_SUBDIRECTORY(avango-core) | ||
ADD_SUBDIRECTORY(avango-python) | ||
ADD_SUBDIRECTORY(avango-gua) | ||
ADD_SUBDIRECTORY(avango-daemon) | ||
ADD_SUBDIRECTORY(avango-tools) | ||
|
||
IF (AVANGO_OCULUS_RIFT_SUPPORT) | ||
ADD_SUBDIRECTORY(avango-oculus) | ||
ENDIF(AVANGO_OCULUS_RIFT_SUPPORT) | ||
|
||
################################################################ | ||
# Summary | ||
################################################################ | ||
|
||
message(STATUS "" ) | ||
message(STATUS "Summary:" ) | ||
message(STATUS " build type: ${CMAKE_BUILD_TYPE}" ) | ||
message(STATUS "" ) | ||
message(STATUS " boost:" ) | ||
message(STATUS " library: ${BOOST_LIBRARIES}" ) | ||
message(STATUS " library path: ${BOOST_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${BOOST_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
message(STATUS " guacamole:" ) | ||
message(STATUS " library: ${GUACAMOLE_LIBRARIES}" ) | ||
message(STATUS " library path: ${GUACAMOLE_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${GUACAMOLE_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
|
||
IF ( AVANGO_OCULUS_RIFT_SUPPORT ) | ||
message(STATUS " guacamole-oculus:" ) | ||
message(STATUS " library: ${GUACAMOLE_OCULUS_LIBRARIES}" ) | ||
message(STATUS " library path: ${GUACAMOLE_OCULUS_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${GUACAMOLE_OCULUS_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
ENDIF ( AVANGO_OCULUS_RIFT_SUPPORT ) | ||
|
||
message(STATUS " schism:" ) | ||
message(STATUS " library: ${SCHISM_LIBRARIES}" ) | ||
message(STATUS " library path: ${SCHISM_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${SCHISM_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
message(STATUS " python:" ) | ||
message(STATUS " library: ${PYTHON_LIBRARIES}" ) | ||
message(STATUS " library path: ${PYTHON_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${PYTHON_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
message(STATUS " gl:" ) | ||
message(STATUS " library: ${GL_LIBRARIES}" ) | ||
message(STATUS " include: ${GL_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
message(STATUS " bullet:" ) | ||
message(STATUS " library: ${BULLET_LIBRARIES}" ) | ||
message(STATUS " library path: ${BULLET_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${BULLET_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
message(STATUS " json:" ) | ||
message(STATUS " library: ${JSON_LIBRARIES}" ) | ||
message(STATUS " library path: ${JSON_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${JSON_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
message(STATUS " assimp:" ) | ||
message(STATUS " library: ${ASSIMP_LIBRARIES}" ) | ||
message(STATUS " library path: ${ASSIMP_LIBRARY_DIRS}" ) | ||
message(STATUS " include: ${ASSIMP_INCLUDE_DIRS}" ) | ||
message(STATUS "" ) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
avango | ||
====== | ||
|
||
AVANGO is a free software framework designed for interactive, distributed applications. It supports a large range of displays from standard desktop applications to large-scale immersive Virtual Reality installations. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# read replacement text from file | ||
FILE(READ include/avango/Config.h.in AVANGO_CONFIG_IN) | ||
|
||
############################################################################### | ||
# write Config.h | ||
############################################################################### | ||
SET(AVANGO_CONFIG_OUT ${AVANGO_CONFIG_IN}) | ||
|
||
STRING(REGEX MATCHALL "%\\([^\\)]+\\)s" AVANGO_CONFIG_VARIABLES ${AVANGO_CONFIG_IN}) | ||
|
||
FOREACH(_CUR_VARIABLE ${AVANGO_CONFIG_VARIABLES}) | ||
SET(_STRIPPED_VARIABLE "") | ||
STRING(REGEX REPLACE "%\\(" "" _STRIPPED_VARIABLE ${_CUR_VARIABLE}) | ||
STRING(REGEX REPLACE "\\)s" "" _STRIPPED_VARIABLE ${_STRIPPED_VARIABLE}) | ||
STRING(REPLACE ${_CUR_VARIABLE} _${_STRIPPED_VARIABLE} AVANGO_CONFIG_OUT ${AVANGO_CONFIG_OUT}) | ||
ENDFOREACH(_CUR_VARIABLE) | ||
|
||
STRING(REPLACE "av::logging::_AVANGO_LOG_LEVEL" "av::logging::${AVANGO_LOG_LEVEL}" AVANGO_CONFIG_OUT ${AVANGO_CONFIG_OUT}) | ||
|
||
FILE(WRITE include/avango/Config.h ${AVANGO_CONFIG_OUT}) | ||
|
||
############################################################################### | ||
# determine source and header files | ||
############################################################################### | ||
file(GLOB AVANGO_CORE_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | ||
src/avango/*.cpp | ||
src/avango/actions/*.cpp | ||
src/avango/fields/*.cpp | ||
src/avango/interface/*.cpp | ||
src/avango/logging/*.cpp | ||
src/avango/nodes/*.cpp | ||
src/avango/streams/*.cpp | ||
src/avango/support/*.cpp | ||
src/avango/types/*.cpp | ||
include/avango/*.h | ||
include/avango/logging/*.h | ||
) | ||
|
||
############################################################################### | ||
# optional sources for distribution support | ||
############################################################################### | ||
IF (${AVANGO_DISTRIBUTION_SUPPORT}) | ||
file(GLOB AVANGO_CORE_DISTRIBUTION_SRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} | ||
src/avango/network/*.cpp | ||
src/avango/network/*.h | ||
) | ||
IF (NOT ${AVANGO_ZMQ_DISTRIBUTION_SUPPORT}) | ||
list (REMOVE_ITEM AVANGO_CORE_DISTRIBUTION_SRC | ||
src/avango/network/NetNodeClient.cpp | ||
src/avango/network/NetNodeClient.h | ||
src/avango/network/NetNodeServer.cpp | ||
src/avango/network/NetNodeServer.h | ||
) | ||
ENDIF (NOT ${AVANGO_ZMQ_DISTRIBUTION_SUPPORT}) | ||
ENDIF (${AVANGO_DISTRIBUTION_SUPPORT}) | ||
|
||
LINK_DIRECTORIES(${LIB_PATHS}) | ||
|
||
ADD_LIBRARY( avango SHARED | ||
${AVANGO_CORE_SRC} | ||
) | ||
|
||
INCLUDE_DIRECTORIES( ${INCLUDE_PATHS} include) | ||
|
||
############################################################################### | ||
# set preprocessor configuration | ||
############################################################################### | ||
SET (AVANGO_BUILD_FLAGS ${BUILD_FLAGS}) | ||
|
||
IF (MSVC) | ||
SET(AVANGO_BUILD_FLAGS "${AVANGO_BUILD_FLAGS} -D AV_LIBRARY") | ||
ENDIF (MSVC) | ||
|
||
set_target_properties( avango PROPERTIES COMPILE_FLAGS ${AVANGO_BUILD_FLAGS}) | ||
set_target_properties( avango PROPERTIES COMPILE_DEFINITIONS_DEBUG "_AVANGO_DEBUG=1") | ||
|
||
TARGET_LINK_LIBRARIES( avango debug ${LIBRARIES} optimized ${LIBRARIES} ) | ||
|
||
############################################################################### | ||
# targets for unittesting | ||
############################################################################### | ||
IF (AVANGO_UNITTESTS) | ||
add_subdirectory(src/avango/nodes/tests) | ||
add_subdirectory(src/avango/interface/tests) | ||
add_subdirectory(src/avango/types/tests) | ||
add_subdirectory(src/avango/fields/tests) | ||
add_subdirectory(src/avango/network/tests) | ||
add_subdirectory(src/avango/logging/tests) | ||
ENDIF (AVANGO_UNITTESTS) | ||
|
||
############################################################################### | ||
# rename libaries in windows | ||
############################################################################### | ||
IF (MSVC) | ||
post_build_install_target(avango ${AVANGO_INSTALL_DIRECTORY}/avango/avango.dll) | ||
ELSEIF (UNIX) | ||
post_build_install_target(avango ${AVANGO_INSTALL_DIRECTORY}/avango/libavango.so) | ||
ENDIF (MSVC) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
// -*- Mode:C++ -*- | ||
|
||
/************************************************************************\ | ||
* * | ||
* This file is part of AVANGO. * | ||
* * | ||
* Copyright 1997 - 2010 Fraunhofer-Gesellschaft zur Foerderung der * | ||
* angewandten Forschung (FhG), Munich, Germany. * | ||
* * | ||
* AVANGO is free software: you can redistribute it and/or modify * | ||
* it under the terms of the GNU Lesser General Public License as * | ||
* published by the Free Software Foundation, version 3. * | ||
* * | ||
* AVANGO is distributed in the hope that it will be useful, * | ||
* but WITHOUT ANY WARRANTY without even the implied warranty of * | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | ||
* GNU General Public License for more details. * | ||
* * | ||
* You should have received a copy of the GNU Lesser General Public * | ||
* License along with AVANGO. If not, see <http://www.gnu.org/licenses/>. * | ||
* * | ||
\************************************************************************/ | ||
|
||
#if !defined(AVANGO_CONFIG_H) | ||
#define AVANGO_CONFIG_H | ||
|
||
/** | ||
* \file | ||
* \ingroup av | ||
*/ | ||
|
||
#if _AVANGO_DEBUG | ||
#define AVANGO_DEBUG 1 | ||
#else | ||
#undef AVANGO_DEBUG | ||
#endif | ||
|
||
#define AVANGO_LOG_LEVEL av::logging::WARN | ||
|
||
#if _AVANGO_DISTRIBUTION_SUPPORT | ||
#define AVANGO_DISTRIBUTION_SUPPORT 1 | ||
#else | ||
#undef AVANGO_DISTRIBUTION_SUPPORT | ||
#endif | ||
|
||
#if _AVANGO_ZMQ_DISTRIBUTION_SUPPORT | ||
#define ZMQ_DISTRIBUTION_SUPPORT 1 | ||
#else | ||
#undef ZMQ_DISTRIBUTION_SUPPORT | ||
#endif | ||
|
||
#if _AVANGO_PCL_SUPPORT | ||
#define PCL_SUPPORT 1 | ||
#else | ||
#undef PCL_SUPPORT | ||
#endif | ||
|
||
#define AVANGO_VERSION_MAJOR _AVANGO_VERSION_MAJOR | ||
#define AVANGO_VERSION_MINOR _AVANGO_VERSION_MINOR | ||
#define AVANGO_VERSION_MAINT _AVANGO_VERSION_MAINT | ||
|
||
#endif // #if !defined(AVANGO_CONFIG_H) | ||
|
Oops, something went wrong.