You can subscribe to this list here.
2002 |
Jan
(24) |
Feb
(187) |
Mar
(196) |
Apr
(36) |
May
(82) |
Jun
(73) |
Jul
(23) |
Aug
(16) |
Sep
(13) |
Oct
(6) |
Nov
(17) |
Dec
(7) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(12) |
Feb
(48) |
Mar
(50) |
Apr
(25) |
May
(22) |
Jun
(4) |
Jul
(3) |
Aug
(32) |
Sep
(23) |
Oct
(5) |
Nov
|
Dec
(1) |
2004 |
Jan
(1) |
Feb
(4) |
Mar
(1) |
Apr
(11) |
May
(9) |
Jun
|
Jul
(15) |
Aug
(8) |
Sep
(32) |
Oct
(18) |
Nov
(10) |
Dec
(1) |
2005 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(12) |
Jun
(66) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
|
Nov
(2) |
Dec
(4) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
(9) |
May
(1) |
Jun
(28) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(11) |
Dec
(2) |
2007 |
Jan
(6) |
Feb
|
Mar
(2) |
Apr
(2) |
May
(5) |
Jun
(29) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
2010 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(1) |
Nov
(3) |
Dec
|
2011 |
Jan
(1) |
Feb
|
Mar
(9) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(2) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
From: <pat...@us...> - 2013-10-13 20:10:52
|
Revision: 1288 http://sourceforge.net/p/ggt/code/1288 Author: patrickh Date: 2013-10-13 20:10:49 +0000 (Sun, 13 Oct 2013) Log Message: ----------- >From the submission: Prevent .svn files and directories from being installed. Correct how the pc file is installed. The pc file creation is copied from the SCons build process. Submitted by: Doug McCorkle Modified Paths: -------------- trunk/CMakeLists.txt Modified: trunk/CMakeLists.txt =================================================================== --- trunk/CMakeLists.txt 2013-09-16 14:28:37 UTC (rev 1287) +++ trunk/CMakeLists.txt 2013-10-13 20:10:49 UTC (rev 1288) @@ -40,7 +40,8 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/${PROJECT_NAME} DESTINATION ${gmtl_INSTALL_INCDIR} - FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE) ############################################################ @@ -105,9 +106,10 @@ DESTINATION "share/flagpoll" COMPONENT development) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmtl.pc" +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmtl.fpc" DESTINATION "lib/pkgconfig" - COMPONENT development) + COMPONENT development + RENAME gmtl.pc) install(FILES gmtl-config DESTINATION ${gmtl_INSTALL_BINDIR} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2013-09-16 14:28:41
|
Revision: 1287 http://sourceforge.net/p/ggt/code/1287 Author: patrickh Date: 2013-09-16 14:28:37 +0000 (Mon, 16 Sep 2013) Log Message: ----------- Remove unimplemented squad() and meanTangent() methods. Modified Paths: -------------- trunk/gmtl/QuatOps.h Modified: trunk/gmtl/QuatOps.h =================================================================== --- trunk/gmtl/QuatOps.h 2013-08-17 12:58:27 UTC (rev 1286) +++ trunk/gmtl/QuatOps.h 2013-09-16 14:28:37 UTC (rev 1287) @@ -469,23 +469,7 @@ result[Zelt] = result[Zelt] * length; return result; } - - /** WARNING: not implemented (do not use) */ - template <typename DATA_TYPE> - void squad( Quat<DATA_TYPE>& result, DATA_TYPE t, const Quat<DATA_TYPE>& q1, const Quat<DATA_TYPE>& q2, const Quat<DATA_TYPE>& a, const Quat<DATA_TYPE>& b ) - { - gmtlASSERT( false ); - } - /** WARNING: not implemented (do not use) */ - template <typename DATA_TYPE> - void meanTangent( Quat<DATA_TYPE>& result, const Quat<DATA_TYPE>& q1, const Quat<DATA_TYPE>& q2, const Quat<DATA_TYPE>& q3 ) - { - gmtlASSERT( false ); - } - - - /** @} */ /** @ingroup Interp Quat This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2013-08-17 12:58:29
|
Revision: 1286 http://sourceforge.net/p/ggt/code/1286 Author: patrickh Date: 2013-08-17 12:58:27 +0000 (Sat, 17 Aug 2013) Log Message: ----------- Follow-up to r1284: include modifying the plane offsets by the unnormalized lenghts. Submitted by: Paul Martz Revision Links: -------------- http://sourceforge.net/p/ggt/code/1284 Modified Paths: -------------- trunk/gmtl/Frustum.h Modified: trunk/gmtl/Frustum.h =================================================================== --- trunk/gmtl/Frustum.h 2013-07-29 20:26:20 UTC (rev 1285) +++ trunk/gmtl/Frustum.h 2013-08-17 12:58:27 UTC (rev 1286) @@ -114,48 +114,49 @@ const gmtl::Matrix<DATA_TYPE, 4, 4>& m = projMatrix; gmtl::Vec<DATA_TYPE, 3> n; + DATA_TYPE len; //left n = (gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[0][0], m[3][1] + m[0][1], m[3][2] + m[0][2])); - normalize( n ); + len = normalize( n ); mPlanes[PLANE_LEFT].setNormal( n ); - mPlanes[PLANE_LEFT].setOffset(m[3][3] + m[0][3]); + mPlanes[PLANE_LEFT].setOffset( (m[3][3] + m[0][3]) / len ); //right n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[0][0], m[3][1] - m[0][1], m[3][2] - m[0][2]); - normalize( n ); + len = normalize( n ); mPlanes[PLANE_RIGHT].setNormal( n ); - mPlanes[PLANE_RIGHT].setOffset(m[3][3] - m[0][3]); + mPlanes[PLANE_RIGHT].setOffset( (m[3][3] - m[0][3]) / len ); //bottom n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[1][0], m[3][1] + m[1][1], m[3][2] + m[1][2]); - normalize( n ); + len = normalize( n ); mPlanes[PLANE_BOTTOM].setNormal( n ); - mPlanes[PLANE_BOTTOM].setOffset(m[3][3] + m[1][3]); + mPlanes[PLANE_BOTTOM].setOffset( (m[3][3] + m[1][3]) / len ); //top n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[1][0], m[3][1] - m[1][1], m[3][2] - m[1][2]); - normalize( n ); + len = normalize( n ); mPlanes[PLANE_TOP].setNormal( n ); - mPlanes[PLANE_TOP].setOffset(m[3][3] - m[1][3]); + mPlanes[PLANE_TOP].setOffset( (m[3][3] - m[1][3]) / len ); //near n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[2][0], m[3][1] + m[2][1], m[3][2] + m[2][2]); - normalize( n ); + len = normalize( n ); mPlanes[PLANE_NEAR].setNormal( n ); - mPlanes[PLANE_NEAR].setOffset(m[2][3] + m[3][3]); + mPlanes[PLANE_NEAR].setOffset( (m[2][3] + m[3][3]) / len ); //far n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[2][0], m[3][1] - m[2][1], m[3][2] - m[2][2]); - normalize( n ); + len = normalize( n ); mPlanes[PLANE_FAR].setNormal( n ); - mPlanes[PLANE_FAR].setOffset(m[3][3] - m[2][3]); + mPlanes[PLANE_FAR].setOffset( (m[3][3] - m[2][3]) / len ); } gmtl::Plane<DATA_TYPE> mPlanes[6]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2013-07-29 20:26:22
|
Revision: 1285 http://sourceforge.net/p/ggt/code/1285 Author: patrickh Date: 2013-07-29 20:26:20 +0000 (Mon, 29 Jul 2013) Log Message: ----------- Add a CMake build for installing GMTL. Submitted by: Doug McCorkle Added Paths: ----------- trunk/CMakeLists.txt trunk/Findpackage.cmake.in trunk/Usepackage.cmake.in trunk/packageBuildTreeSettings.cmake.in trunk/packageConfig.cmake.in trunk/packageConfigVersion.cmake.in Added: trunk/CMakeLists.txt =================================================================== --- trunk/CMakeLists.txt (rev 0) +++ trunk/CMakeLists.txt 2013-07-29 20:26:20 UTC (rev 1285) @@ -0,0 +1,114 @@ +cmake_minimum_required (VERSION 2.8.8) + +project( gmtl ) + +set(gmtl_MAJOR_VERSION 0) +set(gmtl_MINOR_VERSION 7) +set(gmtl_SUB_VERSION 0) +set(gmtl_VERSION ${gmtl_MAJOR_VERSION}.${gmtl_MINOR_VERSION}.${gmtl_SUB_VERSION}) +set(gmtl_PACKAGE_VERSION ${gmtl_VERSION}) + +#Set the include directory so that gmtl can be used as a sub project +if( NOT(${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME}) ) + set(gmtl_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" PARENT_SCOPE) +endif() + +#option(BUILD_EXAMPLE "Build example?" ON) + +set(gmtl_INSTALL_BINDIR bin) + +if(WIN32) + set(gmtl_INSTALL_INCDIR include) +else() + set(gmtl_INSTALL_INCDIR include/gmtl-${gmtl_PACKAGE_VERSION}) +endif() + +include_directories( ${PROJECT_SOURCE_DIR} ) + +############################################################ +# Compile the gmtl header + +file( GLOB_RECURSE gmtl_hdrs "gmtl/*" ) + +source_group( "Header Files" FILES ${gmtl_hdrs}) + +add_custom_target( HEADER_ONLY_TARGET SOURCES ${gmtl_hdrs} ) + +set_target_properties( HEADER_ONLY_TARGET PROPERTIES PROJECT_LABEL "GMTL Headers" ) + +set_target_properties( HEADER_ONLY_TARGET PROPERTIES LINKER_LANGUAGE CXX) + +install(DIRECTORY ${PROJECT_SOURCE_DIR}/${PROJECT_NAME} + DESTINATION ${gmtl_INSTALL_INCDIR} + FILES_MATCHING PATTERN "*.h") + +############################################################ + +############################################################ + +# +# Create and install all of the auto find tools +# ============================================= + +# Export the package for use from the build-tree +# (this registers the build-tree with a global CMake-registry) +export(PACKAGE ${PROJECT_NAME}) + +# Create a gmtlBuildTreeSettings.cmake file for the use from the build tree +configure_file(${PROJECT_SOURCE_DIR}/packageBuildTreeSettings.cmake.in + "${PROJECT_BINARY_DIR}/share/${PROJECT_NAME}/${PROJECT_NAME}BuildTreeSettings.cmake" @ONLY) +configure_file(${PROJECT_SOURCE_DIR}/packageConfigVersion.cmake.in + "${PROJECT_BINARY_DIR}/share/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake" @ONLY) +configure_file(${PROJECT_SOURCE_DIR}/Usepackage.cmake.in + "${PROJECT_BINARY_DIR}/share/${PROJECT_NAME}/Use${PROJECT_NAME}.cmake" @ONLY) + +include(CMakePackageConfigHelpers) +# Create the gmtlConfig.cmake and gmtlConfigVersion files +configure_package_config_file( + ${PROJECT_SOURCE_DIR}/packageConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION share/${PROJECT_NAME} + PATH_VARS gmtl_INSTALL_INCDIR) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/share/${PROJECT_NAME}/Use${PROJECT_NAME}.cmake + DESTINATION share/${PROJECT_NAME} + COMPONENT development) + +# Install the CMake find script for gmtl +configure_file(${PROJECT_SOURCE_DIR}/Findpackage.cmake.in + "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake" @ONLY) +install(FILES "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake" + DESTINATION "share/${PROJECT_NAME}/extra" + COMPONENT development) + +# Create flagpoll file +set(provides "${PROJECT_NAME}") +set(arch "noarch") +set(version "${gmtl_VERSION}") +set(prefix "\${fp_file_cwd}/../..") +set(exec_prefix "\${prefix}") +set(includedir "\${fp_file_cwd}/../../${gmtl_INSTALL_INCDIR}") + +if(CMAKE_COMPILER_IS_GNUCXX OR ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) ) + set(gmtl_cxxflags "") + set(include_path_flag "-I") +elseif(MSVC) + set(include_path_flag "/I") +else() + message(FATAL_ERROR "Compiler not recognized - can't generate values for Flagpoll file") +endif() + +configure_file(gmtl.fpc.in "${CMAKE_CURRENT_BINARY_DIR}/gmtl.fpc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmtl.fpc" + DESTINATION "share/flagpoll" + COMPONENT development) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gmtl.pc" + DESTINATION "lib/pkgconfig" + COMPONENT development) + +install(FILES gmtl-config + DESTINATION ${gmtl_INSTALL_BINDIR} + COMPONENT development) Property changes on: trunk/CMakeLists.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/Findpackage.cmake.in =================================================================== --- trunk/Findpackage.cmake.in (rev 0) +++ trunk/Findpackage.cmake.in 2013-07-29 20:26:20 UTC (rev 1285) @@ -0,0 +1,45 @@ +# - Find a @PROJECT_NAME@ installation or build tree. +# The following variables are set if @PROJECT_NAME@ is found. If @PROJECT_NAME@ is not +# found, @PROJECT_NAME@_FOUND is set to false. +# @PROJECT_NAME@_FOUND - Set to true when @PROJECT_NAME@ is found. +# @PROJECT_NAME@_USE_FILE - CMake file to use @PROJECT_NAME@. +# @PROJECT_NAME@_MAJOR_VERSION - The @PROJECT_NAME@ major version number. +# @PROJECT_NAME@_MINOR_VERSION - The @PROJECT_NAME@ minor version number +# (odd non-release). +# @PROJECT_NAME@_BUILD_VERSION - The @PROJECT_NAME@ patch level +# (meaningless for odd minor). +# @PROJECT_NAME@_INCLUDE_DIRS - Include directories for @PROJECT_NAME@ +# @PROJECT_NAME@_LIBRARY_DIRS - Link directories for @PROJECT_NAME@ libraries + +# The following cache entries must be set by the user to locate @PROJECT_NAME@: +# @PROJECT_NAME@_DIR - The directory containing @PRO...@Co...ake. +# This is either the root of the build tree, +# or the lib directory. This is the +# only cache entry. + + +# Assume not found. +SET(@PROJECT_NAME@_FOUND 0) + +# Construct consitent error messages for use below. +SET(@PROJECT_NAME@_DIR_DESCRIPTION "directory containing @PRO...@Co...ake. This is either the root of the build tree, or PREFIX/lib for an installation.") +SET(@PROJECT_NAME@_DIR_MESSAGE "@PROJECT_NAME@ not found. Set the @PROJECT_NAME@_DIR cmake cache entry to the ${@PROJECT_NAME@_DIR_DESCRIPTION}") + +# Use the Config mode of the find_package() command to find @PROJECT_NAME@Config. +# If this succeeds (possibly because @PROJECT_NAME@_DIR is already set), the +# command will have already loaded @PRO...@Co...ake and set @PROJECT_NAME@_FOUND. +IF(NOT @PROJECT_NAME@_FOUND) + FIND_PACKAGE(@PROJECT_NAME@ QUIET NO_MODULE) +ENDIF(NOT @PROJECT_NAME@_FOUND) + +#----------------------------------------------------------------------------- +IF(NOT @PROJECT_NAME@_FOUND) + # @PROJECT_NAME@ not found, explain to the user how to specify its location. + IF(@PROJECT_NAME@_FIND_REQUIRED) + MESSAGE(FATAL_ERROR ${@PROJECT_NAME@_DIR_MESSAGE}) + ELSE(@PROJECT_NAME@_FIND_REQUIRED) + IF(NOT @PROJECT_NAME@_FIND_QUIETLY) + MESSAGE(STATUS ${@PROJECT_NAME@_DIR_MESSAGE}) + ENDIF(NOT @PROJECT_NAME@_FIND_QUIETLY) + ENDIF(@PROJECT_NAME@_FIND_REQUIRED) +ENDIF(NOT @PROJECT_NAME@_FOUND) Property changes on: trunk/Findpackage.cmake.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/Usepackage.cmake.in =================================================================== --- trunk/Usepackage.cmake.in (rev 0) +++ trunk/Usepackage.cmake.in 2013-07-29 20:26:20 UTC (rev 1285) @@ -0,0 +1,25 @@ +# +# This module is provided as @PROJECT_NAME@_USE_FILE by @PRO...@Co...ake. It can +# be INCLUDEd in a project to load the needed compiler and linker +# settings to use @PROJECT_NAME@. +# + +IF(NOT @PROJECT_NAME@_USE_FILE_INCLUDED) + SET(@PROJECT_NAME@_USE_FILE_INCLUDED 1) + + # Update CMAKE_MODULE_PATH so includes work. + #SET (CMAKE_MODULE_PATH + # ${CMAKE_MODULE_PATH} + # ${@PROJECT_NAME@_CMAKE_DIR}) + + # Add compiler flags needed to use @PROJECT_NAME@. + #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${@PROJECT_NAME@_REQUIRED_C_FLAGS}") + #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${@PROJECT_NAME@_REQUIRED_CXX_FLAGS}") + #SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${@PROJECT_NAME@_REQUIRED_EXE_LINKER_FLAGS}") + #SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${@PROJECT_NAME@_REQUIRED_SHARED_LINKER_FLAGS}") + #SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${@PROJECT_NAME@_REQUIRED_MODULE_LINKER_FLAGS}") + + # Add include directories needed to use @PROJECT_NAME@. + INCLUDE_DIRECTORIES(${@PROJECT_NAME@_INCLUDE_DIRS}) + +ENDIF(NOT @PROJECT_NAME@_USE_FILE_INCLUDED) Property changes on: trunk/Usepackage.cmake.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/packageBuildTreeSettings.cmake.in =================================================================== --- trunk/packageBuildTreeSettings.cmake.in (rev 0) +++ trunk/packageBuildTreeSettings.cmake.in 2013-07-29 20:26:20 UTC (rev 1285) @@ -0,0 +1,3 @@ +set(@PROJECT_NAME@_INCLUDE_DIRS + "@PROJECT_SOURCE_DIR@" + "@PROJECT_BINARY_DIR@") Property changes on: trunk/packageBuildTreeSettings.cmake.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/packageConfig.cmake.in =================================================================== --- trunk/packageConfig.cmake.in (rev 0) +++ trunk/packageConfig.cmake.in 2013-07-29 20:26:20 UTC (rev 1285) @@ -0,0 +1,23 @@ +# - Config file for the @PROJECT_NAME@ package +# It defines the following variables +# @PROJECT_NAME@_INCLUDE_DIRS - include directories for @PROJECT_NAME@ +# @PROJECT_NAME@_LIBRARIES - libraries to link against +# @PROJECT_NAME@_EXECUTABLE - the bar executable + +@PACKAGE_INIT@ + +# These are IMPORTED targets created by @PRO...@Li...ake +#set(@PROJECT_NAME@_LIBRARIES "@VES_EXPORT_LIBRARY_TARGETS@" ) +#set(@PROJECT_NAME@_EXECUTABLE test) + +# Compute paths +# get_filename_component(@PROJECT_NAME@_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +if(EXISTS "${PACKAGE_PREFIX_DIR}/CMakeCache.txt") + # In build tree + include("${PACKAGE_PREFIX_DIR}/share/gmtl/@PRO...@Bu...ake") +else() + set_and_check(@PROJECT_NAME@_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/@gmtl_INSTALL_INCDIR@") +endif() + +# The location of the Use@PROJECT_NAME@.cmake file. +set(@PROJECT_NAME@_USE_FILE "${PACKAGE_PREFIX_DIR}/share/gmtl/Use@PROJECT_NAME@.cmake") Property changes on: trunk/packageConfig.cmake.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/packageConfigVersion.cmake.in =================================================================== --- trunk/packageConfigVersion.cmake.in (rev 0) +++ trunk/packageConfigVersion.cmake.in 2013-07-29 20:26:20 UTC (rev 1285) @@ -0,0 +1,11 @@ +set(PACKAGE_VERSION "@gmtl_PACKAGE_VERSION@") + +# Check whether the requested PACKAGE_FIND_VERSION is compatible +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() Property changes on: trunk/packageConfigVersion.cmake.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2013-07-05 21:12:00
|
Revision: 1284 http://sourceforge.net/p/ggt/code/1284 Author: patrickh Date: 2013-07-05 21:11:58 +0000 (Fri, 05 Jul 2013) Log Message: ----------- Normalize the frustum normal. >From the patch submission: Regarding ggt-devel discussion thread "Should Frustum::mPlanes[].mNorm be normalized?", the attached patch shows my proposed fix, should we all decide that having normalized plane normals will not break any other code. Note that without normalized plane normals, the isInVolume(Frustum,...) functions produce incorrect results. So, we either need to normalize here (the logical, most efficient place), or in the isInVolume() functions (much less efficient), or we need to keep a second (normalized) copy of each plane's normal. Submitted by: Paul Martz Modified Paths: -------------- trunk/gmtl/Frustum.h Modified: trunk/gmtl/Frustum.h =================================================================== --- trunk/gmtl/Frustum.h 2013-07-05 20:59:14 UTC (rev 1283) +++ trunk/gmtl/Frustum.h 2013-07-05 21:11:58 UTC (rev 1284) @@ -113,35 +113,48 @@ { const gmtl::Matrix<DATA_TYPE, 4, 4>& m = projMatrix; + gmtl::Vec<DATA_TYPE, 3> n; //left - mPlanes[PLANE_LEFT].setNormal(gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[0][0], - m[3][1] + m[0][1], - m[3][2] + m[0][2])); + n = (gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[0][0], + m[3][1] + m[0][1], + m[3][2] + m[0][2])); + normalize( n ); + mPlanes[PLANE_LEFT].setNormal( n ); mPlanes[PLANE_LEFT].setOffset(m[3][3] + m[0][3]); //right - mPlanes[PLANE_RIGHT].setNormal(gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[0][0], - m[3][1] - m[0][1], - m[3][2] - m[0][2])); + n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[0][0], + m[3][1] - m[0][1], + m[3][2] - m[0][2]); + normalize( n ); + mPlanes[PLANE_RIGHT].setNormal( n ); mPlanes[PLANE_RIGHT].setOffset(m[3][3] - m[0][3]); //bottom - mPlanes[PLANE_BOTTOM].setNormal(gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[1][0], - m[3][1] + m[1][1], - m[3][2] + m[1][2])); + n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[1][0], + m[3][1] + m[1][1], + m[3][2] + m[1][2]); + normalize( n ); + mPlanes[PLANE_BOTTOM].setNormal( n ); mPlanes[PLANE_BOTTOM].setOffset(m[3][3] + m[1][3]); //top - mPlanes[PLANE_TOP].setNormal(gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[1][0], - m[3][1] - m[1][1], - m[3][2] - m[1][2])); + n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[1][0], + m[3][1] - m[1][1], + m[3][2] - m[1][2]); + normalize( n ); + mPlanes[PLANE_TOP].setNormal( n ); mPlanes[PLANE_TOP].setOffset(m[3][3] - m[1][3]); //near - mPlanes[PLANE_NEAR].setNormal(gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[2][0], - m[3][1] + m[2][1], - m[3][2] + m[2][2])); + n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] + m[2][0], + m[3][1] + m[2][1], + m[3][2] + m[2][2]); + normalize( n ); + mPlanes[PLANE_NEAR].setNormal( n ); mPlanes[PLANE_NEAR].setOffset(m[2][3] + m[3][3]); //far - mPlanes[PLANE_FAR].setNormal(gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[2][0], - m[3][1] - m[2][1], - m[3][2] - m[2][2])); + n = gmtl::Vec<DATA_TYPE, 3>(m[3][0] - m[2][0], + m[3][1] - m[2][1], + m[3][2] - m[2][2]); + normalize( n ); + mPlanes[PLANE_FAR].setNormal( n ); mPlanes[PLANE_FAR].setOffset(m[3][3] - m[2][3]); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2013-07-05 20:59:17
|
Revision: 1283 http://sourceforge.net/p/ggt/code/1283 Author: patrickh Date: 2013-07-05 20:59:14 +0000 (Fri, 05 Jul 2013) Log Message: ----------- >From the patch submission: This patch fixes an issue with extending a base sphere around a second sphere, in the specific case where the second sphere already completely contains the base sphere. The fix trivially sets the base sphere to the second sphere and returns. In fact, the code without this fix is broken. Consider an initialized base sphere with radious 0.0, and a second sphere with radius R, with both spheres having the same center. The unmodified code will incorrectly set the base sphere radius to R/2.0, which doesn't enclose the second sphere (obviously). The attached patch fixes this issue so that the base sphere will have the correct radius. Submitted by: Paul Martz Modified Paths: -------------- trunk/gmtl/Containment.h Modified: trunk/gmtl/Containment.h =================================================================== --- trunk/gmtl/Containment.h 2012-10-26 21:30:13 UTC (rev 1282) +++ trunk/gmtl/Containment.h 2013-07-05 20:59:14 UTC (rev 1283) @@ -135,6 +135,11 @@ { return; } + if ( isInVolume( sphere, container ) ) + { + container = sphere; + return; + } // make a vector pointing from the center of container to sphere. this is the // direction in which we need to move container's center This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2012-10-26 21:30:20
|
Revision: 1282 http://ggt.svn.sourceforge.net/ggt/?rev=1282&view=rev Author: patrickh Date: 2012-10-26 21:30:13 +0000 (Fri, 26 Oct 2012) Log Message: ----------- Speed up isInVolume() for the Sphere/Point case. Submitted by Paul Martz. Modified Paths: -------------- trunk/gmtl/Containment.h Modified: trunk/gmtl/Containment.h =================================================================== --- trunk/gmtl/Containment.h 2012-10-26 21:24:52 UTC (rev 1281) +++ trunk/gmtl/Containment.h 2012-10-26 21:30:13 UTC (rev 1282) @@ -45,7 +45,8 @@ // the sphere to the point has a magnitude less than or equal to the radius // of the sphere. // |pt - center| <= radius - return ( length(gmtl::Vec<DATA_TYPE,3>(pt - container.mCenter)) <= container.mRadius ); + // Compare squares to avoid sqrt() call. + return ( lengthSquared(gmtl::Vec<DATA_TYPE,3>(pt - container.mCenter)) <= ( container.mRadius * container.mRadius ) ); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2012-10-26 21:24:58
|
Revision: 1281 http://ggt.svn.sourceforge.net/ggt/?rev=1281&view=rev Author: patrickh Date: 2012-10-26 21:24:52 +0000 (Fri, 26 Oct 2012) Log Message: ----------- 1. Change mEmpty to mUninitialized in Box, and add mUninitialized to Sphere. Add an isInitialized() function to both Sphere and Box, but also keep isEmpty(). This give us a better name and also maintains backwards compatibility. 2. For the extendVolume() variants that extend a Sphere by a single Point or a single other volume, add the initialization checks to make Sphere work like box. Submitted by Paul Martz. Modified Paths: -------------- trunk/gmtl/AABox.h trunk/gmtl/Containment.h trunk/gmtl/Sphere.h Modified: trunk/gmtl/AABox.h =================================================================== --- trunk/gmtl/AABox.h 2012-09-21 13:56:48 UTC (rev 1280) +++ trunk/gmtl/AABox.h 2012-10-26 21:24:52 UTC (rev 1281) @@ -34,10 +34,10 @@ public: /** - * Creates a new empty box. + * Creates a new uninitialized box. */ AABox() - : mMin(0,0,0), mMax(0,0,0), mEmpty(true) + : mMin(0,0,0), mMax(0,0,0), mInitialized(false) {} /** @@ -50,7 +50,7 @@ * @pre bot min and max are not zero */ AABox(const Point<DATA_TYPE, 3>& min, const Point<DATA_TYPE, 3>& max) - : mMin(min), mMax(max), mEmpty(false) + : mMin(min), mMax(max), mInitialized(true) {} /** @@ -59,7 +59,7 @@ * @param box the box the make a copy of */ AABox(const AABox<DATA_TYPE>& box) - : mMin(box.mMin), mMax(box.mMax), mEmpty(box.mEmpty) + : mMin(box.mMin), mMax(box.mMax), mInitialized(box.mInitialized) {} /** @@ -84,15 +84,28 @@ /** * Tests if this box occupies no space. + * This method is deprecated. Use isInitialized() instead. + * \deprecated * - * @return true if the box is empty, false otherwise + * @return true if the box is empty/uninitialized, false otherwise */ bool isEmpty() const { - return mEmpty; + return !mInitialized; } /** + * Tests if this box is initialized. An initialized box could have + * zero volume but would contain one point. + * + * @return true if the box is initialized, false otherwise + */ + bool isInitialized() const + { + return mInitialized; + } + + /** * Sets the minimum point of the box. * * @param min the min point @@ -114,14 +127,27 @@ /** * Sets the empty flag on this box. + * This method is deprecated. Use setInitialized() instead. + * \deprecated * * @param empty true to make the box empty, false otherwise */ void setEmpty(bool empty) { - mEmpty = empty; + mInitialized = !empty; } + /** + * Marks a box as initialized. Boxes that are initialized (isInitialized()==true) + * but have zero volume (mMax==mMin) contain exactly one point. + * + * @param initialized true to mark the box as initialized, false otherwise + */ + void setInitialized(bool initialized=true) + { + mInitialized = initialized; + } + public: /** * The minimum point of the box. @@ -134,9 +160,9 @@ Point<DATA_TYPE, 3> mMax; /** - * Flag for empty box. True if the box is empty. + * Initialization flag. False initially, true if the box is initialized. */ - bool mEmpty; + bool mInitialized; }; // --- helper types --- // Modified: trunk/gmtl/Containment.h =================================================================== --- trunk/gmtl/Containment.h 2012-09-21 13:56:48 UTC (rev 1280) +++ trunk/gmtl/Containment.h 2012-10-26 21:24:52 UTC (rev 1281) @@ -79,27 +79,36 @@ void extendVolume( Sphere<DATA_TYPE>& container, const Point<DATA_TYPE, 3>& pt ) { - // check if we already contain the point - if ( isInVolume( container, pt ) ) + if (container.isInitialized()) { - return; - } + // check if we already contain the point + if ( isInVolume( container, pt ) ) + { + return; + } - // make a vector pointing from the center of the sphere to pt. this is the - // direction in which we need to move the sphere's center - Vec<DATA_TYPE, 3> dir = pt - container.mCenter; - DATA_TYPE len = normalize( dir ); + // make a vector pointing from the center of the sphere to pt. this is the + // direction in which we need to move the sphere's center + Vec<DATA_TYPE, 3> dir = pt - container.mCenter; + DATA_TYPE len = normalize( dir ); - // compute what the new radius should be - DATA_TYPE newRadius = (len + container.mRadius) * static_cast<DATA_TYPE>(0.5); + // compute what the new radius should be + DATA_TYPE newRadius = (len + container.mRadius) * static_cast<DATA_TYPE>(0.5); - // compute the new center for the sphere - Point<DATA_TYPE, 3> newCenter = container.mCenter + + // compute the new center for the sphere + Point<DATA_TYPE, 3> newCenter = container.mCenter + (dir * (newRadius - container.mRadius)); - // modify container to its new values - container.mCenter = newCenter; - container.mRadius = newRadius; + // modify container to its new values + container.mCenter = newCenter; + container.mRadius = newRadius; + } + else + { + container.mCenter = pt; + container.mRadius = (DATA_TYPE)0.0; + container.mInitialized = true; + } } /** @@ -112,28 +121,43 @@ void extendVolume( Sphere<DATA_TYPE>& container, const Sphere<DATA_TYPE>& sphere ) { - // check if we already contain the sphere - if ( isInVolume( container, sphere ) ) + // Can't extend by an empty sphere + if (! sphere.isInitialized()) { return; } - // make a vector pointing from the center of container to sphere. this is the - // direction in which we need to move container's center - Vec<DATA_TYPE, 3> dir = sphere.mCenter - container.mCenter; - DATA_TYPE len = normalize( dir ); + if (container.isInitialized()) + { + // check if we already contain the sphere + if ( isInVolume( container, sphere ) ) + { + return; + } - // compute what the new radius should be - DATA_TYPE newRadius = (len + sphere.mRadius + container.mRadius) * + // make a vector pointing from the center of container to sphere. this is the + // direction in which we need to move container's center + Vec<DATA_TYPE, 3> dir = sphere.mCenter - container.mCenter; + DATA_TYPE len = normalize( dir ); + + // compute what the new radius should be + DATA_TYPE newRadius = (len + sphere.mRadius + container.mRadius) * static_cast<DATA_TYPE>(0.5); - // compute the new center for container - Point<DATA_TYPE, 3> newCenter = container.mCenter + + // compute the new center for container + Point<DATA_TYPE, 3> newCenter = container.mCenter + (dir * (newRadius - container.mRadius)); - // modify container to its new values - container.mCenter = newCenter; - container.mRadius = newRadius; + // modify container to its new values + container.mCenter = newCenter; + container.mRadius = newRadius; + } + else + { + container.mCenter = sphere.mCenter; + container.mRadius = sphere.mRadius; + container.mInitialized = true; + } } /** @@ -305,7 +329,7 @@ bool isInVolume(const AABox<DATA_TYPE>& container, const Point<DATA_TYPE, 3>& pt) { - if (! container.isEmpty()) + if (container.isInitialized()) { return ( pt[0] >= container.mMin[0] && pt[1] >= container.mMin[1] && @@ -334,7 +358,7 @@ bool isInVolumeExclusive(const AABox<DATA_TYPE>& container, const Point<DATA_TYPE, 3>& pt) { - if (! container.isEmpty()) + if (container.isInitialized()) { return ( pt[0] > container.mMin[0] && pt[1] > container.mMin[1] && @@ -366,7 +390,7 @@ const AABox<DATA_TYPE>& box) { // Empty boxes don't overlap - if (container.isEmpty() || box.isEmpty()) + if (!container.isInitialized() || !box.isInitialized()) { return false; } @@ -393,7 +417,7 @@ void extendVolume(AABox<DATA_TYPE>& container, const Point<DATA_TYPE, 3>& pt) { - if (! container.isEmpty()) + if (container.isInitialized()) { // X coord if (pt[0] > container.mMax[0]) @@ -445,13 +469,13 @@ const AABox<DATA_TYPE>& box) { // Can't extend by an empty box - if (box.isEmpty()) + if (! box.isInitialized()) { return; } // An empty container is extended to be the box - if (container.isEmpty()) + if (! container.isInitialized()) { container = box; } Modified: trunk/gmtl/Sphere.h =================================================================== --- trunk/gmtl/Sphere.h 2012-09-21 13:56:48 UTC (rev 1280) +++ trunk/gmtl/Sphere.h 2012-10-26 21:24:52 UTC (rev 1281) @@ -28,7 +28,7 @@ * Constructs a sphere centered at the origin with a radius of 0. */ Sphere() - : mRadius( 0 ) + : mRadius( 0 ), mInitialized( false ) {} /** @@ -38,7 +38,7 @@ * @param radius the radius of the sphere */ Sphere( const Point<DATA_TYPE, 3>& center, const DATA_TYPE& radius ) - : mCenter( center ), mRadius( radius ) + : mCenter( center ), mRadius( radius ), mInitialized( true ) {} /** @@ -47,7 +47,7 @@ * @param sphere the sphere to make a copy of */ Sphere( const Sphere<DATA_TYPE>& sphere ) - : mCenter( sphere.mCenter ), mRadius( sphere.mRadius ) + : mCenter( sphere.mCenter ), mRadius( sphere.mRadius ), mInitialized( sphere.mInitialized ) {} /** @@ -71,6 +71,17 @@ } /** + * Tests if this sphere is initialized. An initialized sphere could have + * zero volume but would contain one point. + * + * @return true if the sphere is initialized, false otherwise + */ + bool isInitialized() const + { + return mInitialized; + } + + /** * Sets the center point of the sphere. * * @param center the new point at which to center the sphere @@ -90,6 +101,18 @@ mRadius = radius; } + + /** + * Marks a sphere as initialized. Spheres that are initialized (isInitialized()==true) + * but have zero volume (getRadius()==0.0) contain exactly one point. + * + * @param initialized true to mark the sphere as initialized, false otherwise + */ + void setInitialized(bool initialized=true) + { + mInitialized = initialized; + } + public: /** * The center of the sphere. @@ -100,6 +123,11 @@ * The radius of the sphere. */ DATA_TYPE mRadius; + + /** + * Initialization flag. False initially, true if the sphere is initialized. + */ + bool mInitialized; }; // --- helper types --- // This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2012-09-21 13:56:59
|
Revision: 1280 http://ggt.svn.sourceforge.net/ggt/?rev=1280&view=rev Author: patrickh Date: 2012-09-21 13:56:48 +0000 (Fri, 21 Sep 2012) Log Message: ----------- Add typedefs for GMTL types to make them closer to OpenGL uniforms. Submitted by Paul Martz. Modified Paths: -------------- trunk/gmtl/Matrix.h trunk/gmtl/Point.h Modified: trunk/gmtl/Matrix.h =================================================================== --- trunk/gmtl/Matrix.h 2012-09-21 13:54:26 UTC (rev 1279) +++ trunk/gmtl/Matrix.h 2012-09-21 13:56:48 UTC (rev 1280) @@ -501,10 +501,18 @@ typedef Matrix<double, 2, 2> Matrix22d; typedef Matrix<float, 2, 3> Matrix23f; typedef Matrix<double, 2, 3> Matrix23d; +typedef Matrix<float, 2, 4> Matrix24f; +typedef Matrix<double, 2, 4> Matrix24d; +typedef Matrix<float, 3, 2> Matrix32f; +typedef Matrix<double, 3, 2> Matrix32d; typedef Matrix<float, 3, 3> Matrix33f; typedef Matrix<double, 3, 3> Matrix33d; typedef Matrix<float, 3, 4> Matrix34f; typedef Matrix<double, 3, 4> Matrix34d; +typedef Matrix<float, 4, 2> Matrix42f; +typedef Matrix<double, 4, 2> Matrix42d; +typedef Matrix<float, 4, 3> Matrix43f; +typedef Matrix<double, 4, 3> Matrix43d; typedef Matrix<float, 4, 4> Matrix44f; typedef Matrix<double, 4, 4> Matrix44d; @@ -514,12 +522,24 @@ /** 64bit floating point 2x2 identity matrix */ const Matrix22d MAT_IDENTITY22D = Matrix22d(); -/** 32bit floating point 2x2 identity matrix */ +/** 32bit floating point 2x3 identity matrix */ const Matrix23f MAT_IDENTITY23F = Matrix23f(); -/** 64bit floating point 2x2 identity matrix */ +/** 64bit floating point 2x3 identity matrix */ const Matrix23d MAT_IDENTITY23D = Matrix23d(); +/** 32bit floating point 2x4 identity matrix */ +const Matrix24f MAT_IDENTITY24F = Matrix24f(); + +/** 64bit floating point 2x4 identity matrix */ +const Matrix24d MAT_IDENTITY24D = Matrix24d(); + +/** 32bit floating point 3x2 identity matrix */ +const Matrix32f MAT_IDENTITY32F = Matrix32f(); + +/** 64bit floating point 3x2 identity matrix */ +const Matrix32d MAT_IDENTITY32D = Matrix32d(); + /** 32bit floating point 3x3 identity matrix */ const Matrix33f MAT_IDENTITY33F = Matrix33f(); @@ -532,6 +552,18 @@ /** 64bit floating point 3x4 identity matrix */ const Matrix34d MAT_IDENTITY34D = Matrix34d(); +/** 32bit floating point 4x2 identity matrix */ +const Matrix42f MAT_IDENTITY42F = Matrix42f(); + +/** 64bit floating point 4x2 identity matrix */ +const Matrix42d MAT_IDENTITY42D = Matrix42d(); + +/** 32bit floating point 4x3 identity matrix */ +const Matrix43f MAT_IDENTITY43F = Matrix43f(); + +/** 64bit floating point 4x3 identity matrix */ +const Matrix43d MAT_IDENTITY43D = Matrix43d(); + /** 32bit floating point 4x4 identity matrix */ const Matrix44f MAT_IDENTITY44F = Matrix44f(); Modified: trunk/gmtl/Point.h =================================================================== --- trunk/gmtl/Point.h 2012-09-21 13:54:26 UTC (rev 1279) +++ trunk/gmtl/Point.h 2012-09-21 13:56:48 UTC (rev 1280) @@ -121,12 +121,15 @@ // --- helper types --- // typedef Point<int,2> Point2i; +typedef Point<unsigned int,2> Point2ui; typedef Point<float,2> Point2f; typedef Point<double,2> Point2d; typedef Point<int, 3> Point3i; +typedef Point<unsigned int, 3> Point3ui; typedef Point<float,3> Point3f; typedef Point<double,3> Point3d; typedef Point<int, 4> Point4i; +typedef Point<unsigned int, 4> Point4ui; typedef Point<float,4> Point4f; typedef Point<double,4> Point4d; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2012-09-21 13:54:37
|
Revision: 1279 http://ggt.svn.sourceforge.net/ggt/?rev=1279&view=rev Author: patrickh Date: 2012-09-21 13:54:26 +0000 (Fri, 21 Sep 2012) Log Message: ----------- Move makeTrans() to be defined before it is used. Submitted by Kevin Godby. Modified Paths: -------------- trunk/gmtl/Generate.h Modified: trunk/gmtl/Generate.h =================================================================== --- trunk/gmtl/Generate.h 2012-08-03 22:12:41 UTC (rev 1278) +++ trunk/gmtl/Generate.h 2012-09-21 13:54:26 UTC (rev 1279) @@ -715,6 +715,30 @@ return setFrustum( result, -right, top, right, -top, nr, fr ); } + /** + * Make a translation datatype from another translation datatype. + * Typically this is from Matrix to Vec or Vec to Matrix. + * This function reads only translation information from the src datatype. + * + * @param arg the matrix to extract the translation from + * + * @pre if making an n x n matrix, then for + * - <b>vector is homogeneous:</b> SIZE of vector needs to equal number of Matrix ROWS - 1 + * - <b>vector has scale component:</b> SIZE of vector needs to equal number of Matrix ROWS + * <br>if making an n x n+1 matrix, then for + * - <b>vector is homogeneous:</b> SIZE of vector needs to equal number of Matrix ROWS + * - <b>vector has scale component:</b> SIZE of vector needs to equal number of Matrix ROWS + 1 + * @post if preconditions are not met, then function is undefined (will not compile) + */ + template<typename TRANS_TYPE, typename SRC_TYPE > + inline TRANS_TYPE makeTrans( const SRC_TYPE& arg, + Type2Type< TRANS_TYPE > t = Type2Type< TRANS_TYPE >()) + { + gmtl::ignore_unused_variable_warning(t); + TRANS_TYPE temporary; + return setTrans( temporary, arg ); + } + /** Configure a matrix from view parameters. * * Functionally equivalent to gluLookAt(), this function configures @@ -1370,30 +1394,6 @@ return setDirCos( temporary, xDestAxis, yDestAxis, zDestAxis, xSrcAxis, ySrcAxis, zSrcAxis ); } - /** - * Make a translation datatype from another translation datatype. - * Typically this is from Matrix to Vec or Vec to Matrix. - * This function reads only translation information from the src datatype. - * - * @param arg the matrix to extract the translation from - * - * @pre if making an n x n matrix, then for - * - <b>vector is homogeneous:</b> SIZE of vector needs to equal number of Matrix ROWS - 1 - * - <b>vector has scale component:</b> SIZE of vector needs to equal number of Matrix ROWS - * <br>if making an n x n+1 matrix, then for - * - <b>vector is homogeneous:</b> SIZE of vector needs to equal number of Matrix ROWS - * - <b>vector has scale component:</b> SIZE of vector needs to equal number of Matrix ROWS + 1 - * @post if preconditions are not met, then function is undefined (will not compile) - */ - template<typename TRANS_TYPE, typename SRC_TYPE > - inline TRANS_TYPE makeTrans( const SRC_TYPE& arg, - Type2Type< TRANS_TYPE > t = Type2Type< TRANS_TYPE >()) - { - gmtl::ignore_unused_variable_warning(t); - TRANS_TYPE temporary; - return setTrans( temporary, arg ); - } - /** Create a rotation datatype that will xform first vector to the second. * @pre each vec needs to be normalized. * @post This function returns a temporary object. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2012-08-03 22:12:47
|
Revision: 1278 http://ggt.svn.sourceforge.net/ggt/?rev=1278&view=rev Author: patrickh Date: 2012-08-03 22:12:41 +0000 (Fri, 03 Aug 2012) Log Message: ----------- >From the submission, this adds the following: * a new setLookAt() function in Generate.h (implements gluLookAt()) * a new binary operator^() for Vec3 cross product in VecOps.h Submitted by: Paul Martz Modified Paths: -------------- trunk/gmtl/Generate.h trunk/gmtl/VecOps.h Modified: trunk/gmtl/Generate.h =================================================================== --- trunk/gmtl/Generate.h 2011-04-23 22:05:31 UTC (rev 1277) +++ trunk/gmtl/Generate.h 2012-08-03 22:12:41 UTC (rev 1278) @@ -715,7 +715,46 @@ return setFrustum( result, -right, top, right, -top, nr, fr ); } + /** Configure a matrix from view parameters. + * + * Functionally equivalent to gluLookAt(), this function configures + * @c result as a view matrix with the viewer positioned at @c eye, + * looking towards @c center, with the specified @c up orientation. + * Results are undefined if (center-eye) == 0 or (center-eye) is + * coincident with +/-up. @c result can be used to transform point + * data from world to OpenGL eye coordinates. @c result.mData can + * be passed to an OpenGL GLSL shader as uniform mat4 data. + * + * @pre (center-eye) has non-zero length + * @pre (center-eye) not coincident with +/-up + * + * @param result the matrix to be configured as a view matrix. + * @param eye the position of the viewer. + * @param center a target location to look at. The view direction is + * computed as @c center - @c eye. + * @param up the viewer's up orientation. + * @return a reference to @c result for convenience. + */ + template <typename T> + inline Matrix<T, 4,4>& setLookAt( Matrix<T, 4,4>& result, + const Point<T, 3>& eye, const Point<T, 3>& center, const Vec<T, 3>& up ) + { + Vec<T, 3> f( center-eye ); normalize( f ); + Vec<T, 3> s( f ^ up ); normalize( s ); + Vec<T, 3> u( s ^ f ); normalize( u ); + Matrix<T, 4,4> orient; + zero( orient ); + orient(0,0) = s[0]; orient(1,0) = u[0]; orient(2,0) = -f[0]; + orient(0,1) = s[1]; orient(1,1) = u[1]; orient(2,1) = -f[1]; + orient(0,2) = s[2]; orient(1,2) = u[2]; orient(2,2) = -f[2]; + orient(3,3) = T(1.); + + result = orient * makeTrans< Matrix<T, 4,4> >( -eye ); + result.mState = Matrix<T, 4,4>::AFFINE; + return( result ); + } + /* template< typename DATA_TYPE, unsigned ROWS, unsigned COLS, unsigned SIZE, typename REP > inline Matrix<DATA_TYPE, ROWS, COLS>& setTrans( Matrix<DATA_TYPE, ROWS, COLS>& result, Modified: trunk/gmtl/VecOps.h =================================================================== --- trunk/gmtl/VecOps.h 2011-04-23 22:05:31 UTC (rev 1277) +++ trunk/gmtl/VecOps.h 2012-08-03 22:12:41 UTC (rev 1278) @@ -467,6 +467,42 @@ } /** + * Compute the cross product between v1 and v2 and return the result + * implemented as a binary ^ operator. Use this to initialize a new + * Vec with the cross product of two Vecs, for example, or to increase + * code readability in implementations of algebraic formulae. Note + * this operation applies only to 3-dimensional vectors. + * + * Example: + * @code + * Vec3f b(1.,0.,0.), c(0.,1.,0.); + * Vec3f a( b ^ c ); + * @endcode + * This is equivalent to: + * @code + * Vec3f b(1.,0.,0.), c(0.,1.,0.); + * Vec3f a; + * cross( a, b, c ); + * @endcode + * + * @pre v1 and v2 are 3-D vectors + * + * @param v1 the first vector + * @param v2 the second vector + * + * @return the cross product ( v1 ^ v2 ) as a new Vec. + */ +template<class DATA_TYPE> +inline Vec<DATA_TYPE, 3> operator^( const Vec<DATA_TYPE, 3>& v1, + const Vec<DATA_TYPE, 3>& v2 ) +{ + Vec<DATA_TYPE, 3> result; + cross( result, v1, v2 ); + return( result ); +} + + +/** * Reflect a vector about a normal. * * This method reflects the given vector around the normal vector given. It is similar to if the normal vector was This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-04-23 22:05:37
|
Revision: 1277 http://ggt.svn.sourceforge.net/ggt/?rev=1277&view=rev Author: patrickh Date: 2011-04-23 22:05:31 +0000 (Sat, 23 Apr 2011) Log Message: ----------- Updated the build to require SCons 2.0 or newer. Submitted by: Doug McCorkle Modified Paths: -------------- trunk/ChangeLog trunk/SConstruct Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-04-23 22:02:40 UTC (rev 1276) +++ trunk/ChangeLog 2011-04-23 22:05:31 UTC (rev 1277) @@ -1,5 +1,10 @@ DATE AUTHOR CHANGE ---------- ------------ ------------------------------------------------------- +2011-04-23 patrickh SCons 2.0 is now the minimum required version. + Submitted by Doug McCorkle. +2011-04-23 patrickh GMTL installations can now be found using the CMake + find_package command. + Submitted by Johannes Zarl. 2011-03-27 patrickh Added an overload of gmtl::findClosestPt() for use with gmtl::Tri<T> and gmtl::Point<T, 3>. Submitted by Sebastian Messerschmidt Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2011-04-23 22:02:40 UTC (rev 1276) +++ trunk/SConstruct 2011-04-23 22:05:31 UTC (rev 1277) @@ -1,6 +1,6 @@ #!python -EnsureSConsVersion(0,96) +EnsureSConsVersion(2,0) SConsignFile() import os, string, sys @@ -223,10 +223,10 @@ def BuildWin32Environment(): global optimize, compiler_major_ver - if ARGUMENTS.has_key("MSVS_VERSION"): + if ARGUMENTS.has_key("MSVC_VERSION"): # Python extension modules can only be built using Visual C++ 7.1 or # 9.0. - msvs_ver = ARGUMENTS["MSVS_VERSION"] + msvs_ver = ARGUMENTS["MSVC_VERSION"] if msvs_ver not in ("7.1", "9.0"): print "Cannot build Python extensions using MSVS version %s" % \ msvs_ver @@ -236,17 +236,18 @@ if msvs_ver == "7.1" and python_ver not in ("2.4", "2.5"): print "Python 2.4 or 2.5 must be used with Visual C++ 7.1" sys.exit(1) - elif msvs_ver == "9.0" and python_ver not in ("2.6"): + elif msvs_ver == "9.0" and python_ver < ("2.6"): print "Python 2.6 must be used with Visual C++ 9.0" sys.exit(1) - env = Environment(MSVS_VERSION = msvs_ver) + env = Environment(MSVC_VERSION = msvs_ver) # Use the following line instead of the preceding when building with # Visual C++ 9.0. SCons does not know how to find the VC++ 9.0 paths. #env = Environment(MSVS_VERSION = msvs_ver, ENV = os.environ) else: env = Environment(ENV = os.environ) + env["MSVS"] = {"VERSION" : env["MSVC_VERSION"]} print "Using MSVS version:", env["MSVS"]["VERSION"] compiler_major_ver = env["MSVS"]["VERSION"] @@ -636,7 +637,7 @@ Export('baseEnv') options_cache = 'options.cache.' + distutils.util.get_platform() -opts = Options(options_cache) +opts = Variables(options_cache) AddCppUnitOptions(opts) AddPythonOptions(opts) AddBoostOptions(opts) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-04-23 22:02:46
|
Revision: 1276 http://ggt.svn.sourceforge.net/ggt/?rev=1276&view=rev Author: patrickh Date: 2011-04-23 22:02:40 +0000 (Sat, 23 Apr 2011) Log Message: ----------- An installed version of GMTL can now be found using the CMake find_package command. Submitted by: Johannes Zarl Modified Paths: -------------- trunk/SConstruct Added Paths: ----------- trunk/gmtl-config-version.cmake.in trunk/gmtl-config.cmake.in Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2011-04-23 21:59:01 UTC (rev 1275) +++ trunk/SConstruct 2011-04-23 22:02:40 UTC (rev 1276) @@ -676,6 +676,8 @@ ChangeLog COPYING gmtl-config + gmtl-config.cmake.in + gmtl-config-version.cmake.in gmtl.fpc.in SConstruct docs/Makefile @@ -710,6 +712,7 @@ base_inst_paths['share'] = pj(base_inst_paths['base'], 'share') base_inst_paths['flagpoll'] = pj(base_inst_paths['share'], 'flagpoll') base_inst_paths['pkgconfig'] = pj(base_inst_paths['lib'], 'pkgconfig') + base_inst_paths['cmake'] = pj(base_inst_paths['share'], 'cmake/gmtl') base_inst_paths['bin'] = pj(base_inst_paths['base'], 'bin') include_dir = pj(base_inst_paths['base'], 'include') base_inst_paths['include'] = pj(base_inst_paths['base'], 'include') @@ -773,10 +776,21 @@ 'gmtl.fpc.in', submap = submap) env.AddPostAction(gmtl_pc, Chmod('$TARGET', 0644)) env.Depends(gmtl_pc, 'gmtl/Version.h') + # setup builder for cmake find_package support: + gmtl_cmake = env.SubstBuilder(pj(base_inst_paths['cmake'], "gmtl-config.cmake"), + 'gmtl-config.cmake.in', submap = submap) + env.AddPostAction(gmtl_cmake, Chmod('$TARGET', 0644)) + env.Depends(gmtl_cmake, 'gmtl/Version.h') + gmtl_cmakeversion = env.SubstBuilder(pj(base_inst_paths['cmake'], "gmtl-config-version.cmake"), + 'gmtl-config-version.cmake.in', submap = submap) + env.AddPostAction(gmtl_cmakeversion, Chmod('$TARGET', 0644)) + env.Depends(gmtl_cmakeversion, 'gmtl/Version.h') installed_targets += env.Install(base_inst_paths['bin'], 'gmtl-config') installed_targets += gmtl_fpc installed_targets += gmtl_pc + installed_targets += gmtl_cmake + installed_targets += gmtl_cmakeversion pkg.build() installed_targets += pkg.getInstalledTargets() Added: trunk/gmtl-config-version.cmake.in =================================================================== --- trunk/gmtl-config-version.cmake.in (rev 0) +++ trunk/gmtl-config-version.cmake.in 2011-04-23 22:02:40 UTC (rev 1276) @@ -0,0 +1,12 @@ +# gmtl version file for CMake. + +# The full GMTL version number. +SET(PACKAGE_VERSION "@version@") + +# This version is compatible with equal or lesser versions. +IF("${PACKAGE_VERSION}" VERSION_GREATER "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}") + SET(PACKAGE_VERSION_COMPATIBLE 1) +ENDIF() +IF("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}.${PACKAGE_FIND_VERSION_PATCH}") + SET(PACKAGE_VERSION_EXACT 1) +ENDIF() Property changes on: trunk/gmtl-config-version.cmake.in ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/gmtl-config.cmake.in =================================================================== --- trunk/gmtl-config.cmake.in (rev 0) +++ trunk/gmtl-config.cmake.in 2011-04-23 22:02:40 UTC (rev 1276) @@ -0,0 +1,10 @@ +# gmtl-config.cmake - GMTL CMake configuration file for external projects. +# to use the definitions in this file, add "find_package(GMTL)" to your CMakeLists.txt + +# Compute the installation prefix from GMTL_DIR. +SET(GMTL_INSTALL_PREFIX "@prefix@") + +# The GMTL include file directories. +SET(GMTL_INCLUDE_DIRS "@includedir@") + +# GMTL_VERSION* is set by CMake after reading gmtl-config-version.cmake Property changes on: trunk/gmtl-config.cmake.in ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-04-23 21:59:07
|
Revision: 1275 http://ggt.svn.sourceforge.net/ggt/?rev=1275&view=rev Author: patrickh Date: 2011-04-23 21:59:01 +0000 (Sat, 23 Apr 2011) Log Message: ----------- Fixed the URL for the patched CppUnit Subversion repository. Submitted by: Christian Henz Modified Paths: -------------- trunk/README Modified: trunk/README =================================================================== --- trunk/README 2011-03-27 20:32:02 UTC (rev 1274) +++ trunk/README 2011-04-23 21:59:01 UTC (rev 1275) @@ -31,7 +31,7 @@ GMTL uses a patched version of CppUnit, the most recent version of which is available from teh VR Juggler Subversion respository: - http://code.google.com/p/vrjuggler/source/browse/#svn%2Fvendor%2Fcppunit%2F1.12.0 + http://vrjuggler.googlecode.com/svn/cppunit/trunk/ o------------------------------------------------------------------------------o This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 20:32:08
|
Revision: 1274 http://ggt.svn.sourceforge.net/ggt/?rev=1274&view=rev Author: patrickh Date: 2011-03-27 20:32:02 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Minor formatting adjustments. No functional changes. Modified Paths: -------------- trunk/gmtl/Intersection.h Modified: trunk/gmtl/Intersection.h =================================================================== --- trunk/gmtl/Intersection.h 2011-03-27 18:22:39 UTC (rev 1273) +++ trunk/gmtl/Intersection.h 2011-03-27 20:32:02 UTC (rev 1274) @@ -132,22 +132,22 @@ } // Find the possible first and last times of overlap along each axis - for (int i=0; i<3; ++i) + for (int i = 0; i < 3; ++i) { - if ((box1.getMax()[i] < box2.getMin()[i]) && (path[i] < DATA_TYPE(0))) + if (box1.getMax()[i] < box2.getMin()[i] && path[i] < DATA_TYPE(0)) { overlap1[i] = (box1.getMax()[i] - box2.getMin()[i]) / path[i]; } - else if ((box2.getMax()[i] < box1.getMin()[i]) && (path[i] > DATA_TYPE(0))) + else if (box2.getMax()[i] < box1.getMin()[i] && path[i] > DATA_TYPE(0)) { overlap1[i] = (box1.getMin()[i] - box2.getMax()[i]) / path[i]; } - if ((box2.getMax()[i] > box1.getMin()[i]) && (path[i] < DATA_TYPE(0))) + if (box2.getMax()[i] > box1.getMin()[i] && path[i] < DATA_TYPE(0)) { overlap2[i] = (box1.getMin()[i] - box2.getMax()[i]) / path[i]; } - else if ((box1.getMax()[i] > box2.getMin()[i]) && (path[i] > DATA_TYPE(0))) + else if (box1.getMax()[i] > box2.getMin()[i] && path[i] > DATA_TYPE(0)) { overlap2[i] = (box1.getMax()[i] - box2.getMin()[i]) / path[i]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 18:22:46
|
Revision: 1273 http://ggt.svn.sourceforge.net/ggt/?rev=1273&view=rev Author: patrickh Date: 2011-03-27 18:22:39 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Updated a bunch of old-style casts to be static_cast instead. There is still a huge amount of work left to do on this task. Modified Paths: -------------- trunk/gmtl/AxisAngle.h trunk/gmtl/Generate.h trunk/gmtl/Intersection.h trunk/gmtl/Matrix.h trunk/gmtl/MatrixOps.h trunk/gmtl/Point.h trunk/gmtl/Quat.h trunk/gmtl/QuatOps.h trunk/gmtl/Vec.h trunk/gmtl/VecOps.h trunk/gmtl/Xforms.h Modified: trunk/gmtl/AxisAngle.h =================================================================== --- trunk/gmtl/AxisAngle.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/AxisAngle.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -39,8 +39,10 @@ /** default constructor. initializes to identity rotation (no rotation). */ AxisAngle() : - VecBase<DATA_TYPE, 4>( (DATA_TYPE)0.0, (DATA_TYPE)1.0, - (DATA_TYPE)0.0, (DATA_TYPE)0.0 ) + VecBase<DATA_TYPE, 4>(static_cast<DATA_TYPE>(0.0), + static_cast<DATA_TYPE>(1.0), + static_cast<DATA_TYPE>(0.0), + static_cast<DATA_TYPE>(0.0)) { } Modified: trunk/gmtl/Generate.h =================================================================== --- trunk/gmtl/Generate.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Generate.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -186,7 +186,7 @@ gmtlASSERT( (Math::isEqual( lengthSquared( axisAngle.getAxis() ), (DATA_TYPE)1.0, (DATA_TYPE)0.0001 )) && "you must pass in a normalized vector to setRot( quat, rad, vec )" ); - DATA_TYPE half_angle = axisAngle.getAngle() * (DATA_TYPE)0.5; + DATA_TYPE half_angle = axisAngle.getAngle() * static_cast<DATA_TYPE>(0.5); DATA_TYPE sin_half_angle = Math::sin( half_angle ); result[Welt] = Math::cos( half_angle ); @@ -224,25 +224,25 @@ Quat<DATA_TYPE> qx, qy, qz; // precompute half angles - DATA_TYPE xOver2 = xRot * (DATA_TYPE)0.5; - DATA_TYPE yOver2 = yRot * (DATA_TYPE)0.5; - DATA_TYPE zOver2 = zRot * (DATA_TYPE)0.5; + DATA_TYPE xOver2 = xRot * static_cast<DATA_TYPE>(0.5); + DATA_TYPE yOver2 = yRot * static_cast<DATA_TYPE>(0.5); + DATA_TYPE zOver2 = zRot * static_cast<DATA_TYPE>(0.5); // set the pitch quat qx[Xelt] = Math::sin( xOver2 ); - qx[Yelt] = (DATA_TYPE)0.0; - qx[Zelt] = (DATA_TYPE)0.0; + qx[Yelt] = static_cast<DATA_TYPE>(0.0); + qx[Zelt] = static_cast<DATA_TYPE>(0.0); qx[Welt] = Math::cos( xOver2 ); // set the yaw quat - qy[Xelt] = (DATA_TYPE)0.0; + qy[Xelt] = static_cast<DATA_TYPE>(0.0); qy[Yelt] = Math::sin( yOver2 ); - qy[Zelt] = (DATA_TYPE)0.0; + qy[Zelt] = static_cast<DATA_TYPE>(0.0); qy[Welt] = Math::cos( yOver2 ); // set the roll quat - qz[Xelt] = (DATA_TYPE)0.0; - qz[Yelt] = (DATA_TYPE)0.0; + qz[Xelt] = static_cast<DATA_TYPE>(0.0); + qz[Yelt] = static_cast<DATA_TYPE>(0.0); qz[Zelt] = Math::sin( zOver2 ); qz[Welt] = Math::cos( zOver2 ); @@ -287,10 +287,10 @@ DATA_TYPE tr( mat( 0, 0 ) + mat( 1, 1 ) + mat( 2, 2 ) ), s( 0.0f ); // If diagonal is positive - if (tr > (DATA_TYPE)0.0) + if (tr > static_cast<DATA_TYPE>(0.0)) { - s = Math::sqrt( tr + (DATA_TYPE)1.0 ); - quat[Welt] = s * (DATA_TYPE)0.5; + s = Math::sqrt(tr + static_cast<DATA_TYPE>(1.0)); + quat[Welt] = s * static_cast<DATA_TYPE>(0.5); s = DATA_TYPE(0.5) / s; quat[Xelt] = (mat( 2, 1 ) - mat( 1, 2 )) * s; @@ -305,21 +305,27 @@ unsigned int i( Xelt ), j, k; if (mat( 1, 1 ) > mat( 0, 0 )) + { i = 1; + } if (mat( 2, 2 ) > mat( i, i )) + { i = 2; + } j = nxt[i]; k = nxt[j]; - s = Math::sqrt( (mat( i, i )-(mat( j, j )+mat( k, k ))) + (DATA_TYPE)1.0 ); + s = Math::sqrt((mat(i, i) - (mat(j, j) + mat( k, k ))) + static_cast<DATA_TYPE>(1.0)); DATA_TYPE q[4]; - q[i] = s * (DATA_TYPE)0.5; + q[i] = s * static_cast<DATA_TYPE>(0.5); - if (s != (DATA_TYPE)0.0) + if (s != static_cast<DATA_TYPE>(0.0)) + { s = DATA_TYPE(0.5) / s; + } q[3] = (mat( k, j ) - mat( j, k )) * s; q[j] = (mat( j, i ) + mat( i, j )) * s; @@ -360,24 +366,27 @@ * @post axisAngle = quat; */ template <typename DATA_TYPE> - inline AxisAngle<DATA_TYPE>& set( AxisAngle<DATA_TYPE>& axisAngle, Quat<DATA_TYPE> quat ) + inline AxisAngle<DATA_TYPE>& set(AxisAngle<DATA_TYPE>& axisAngle, + Quat<DATA_TYPE> quat) { // set sure we don't get a NaN result from acos... - if (Math::abs( quat[Welt] ) > (DATA_TYPE)1.0) + if (Math::abs(quat[Welt]) > static_cast<DATA_TYPE>(1.0)) { - gmtl::normalize( quat ); + gmtl::normalize(quat); } - gmtlASSERT( Math::abs( quat[Welt] ) <= (DATA_TYPE)1.0 && "acos returns NaN when quat[Welt] > 1, try normalizing your quat." ); + gmtlASSERT(Math::abs(quat[Welt]) <= static_cast<DATA_TYPE>(1.0) && + "acos returns NaN when quat[Welt] > 1, try normalizing your quat." ); + // [acos( w ) * 2.0, v / (asin( w ) * 2.0)] // set the angle - aCos is mathematically defined to be between 0 and PI - DATA_TYPE rad = Math::aCos( quat[Welt] ) * (DATA_TYPE)2.0; - axisAngle.setAngle( rad ); + DATA_TYPE rad = Math::aCos(quat[Welt]) * static_cast<DATA_TYPE>(2.0); + axisAngle.setAngle(rad); // set the axis: (use sin(rad) instead of asin(w)) - DATA_TYPE sin_half_angle = Math::sin( rad * (DATA_TYPE)0.5 ); - if (sin_half_angle >= (DATA_TYPE)0.0001) // because (PI >= rad >= 0) + DATA_TYPE sin_half_angle = Math::sin( rad * static_cast<DATA_TYPE>(0.5)); + if (sin_half_angle >= static_cast<DATA_TYPE>(0.0001)) // because (PI >= rad >= 0) { DATA_TYPE sin_half_angle_inv = DATA_TYPE(1.0) / sin_half_angle; Vec<DATA_TYPE, 3> axis( quat[Xelt] * sin_half_angle_inv, @@ -393,10 +402,13 @@ // one of the terms should be a 1, // so we can maintain unit-ness // in case w is 0 (which here w is 0) - axisAngle.setAxis( gmtl::Vec<DATA_TYPE, 3>( - DATA_TYPE( 1.0 ) /*- gmtl::Math::abs( quat[Welt] )*/, - (DATA_TYPE)0.0, - (DATA_TYPE)0.0 ) ); + axisAngle.setAxis( + gmtl::Vec<DATA_TYPE, 3>( + static_cast<DATA_TYPE>(1.0) /*- gmtl::Math::abs( quat[Welt] )*/, + static_cast<DATA_TYPE>(0.0), + static_cast<DATA_TYPE>(0.0) + ) + ); } return axisAngle; } @@ -1364,29 +1376,33 @@ inline DEST_TYPE& setRot( DEST_TYPE& result, const Vec<DATA_TYPE, 3>& from, const Vec<DATA_TYPE, 3>& to ) { // @todo should assert that DEST_TYPE::DataType == DATA_TYPE - const DATA_TYPE epsilon = (DATA_TYPE)0.00001; + const DATA_TYPE epsilon = static_cast<DATA_TYPE>(0.00001); - gmtlASSERT( gmtl::Math::isEqual( gmtl::length( from ), (DATA_TYPE)1.0, epsilon ) && - gmtl::Math::isEqual( gmtl::length( to ), (DATA_TYPE)1.0, epsilon ) /* && - "input params not normalized" */); + gmtlASSERT( + gmtl::Math::isEqual(gmtl::length(from), static_cast<DATA_TYPE>(1.0), epsilon) && + gmtl::Math::isEqual(gmtl::length(to), static_cast<DATA_TYPE>(1.0), epsilon ) /* && + "input params not normalized" */); - DATA_TYPE cosangle = dot( from, to ); + DATA_TYPE cosangle = dot(from, to); // if cosangle is close to 1, so the vectors are close to being coincident // Need to generate an angle of zero with any vector we like // We'll choose identity (no rotation) - if ( Math::isEqual( cosangle, (DATA_TYPE)1.0, epsilon ) ) + if (Math::isEqual(cosangle, static_cast<DATA_TYPE>(1.0), epsilon)) { return result = DEST_TYPE(); } // vectors are close to being opposite, so rotate one a little... - else if ( Math::isEqual( cosangle, (DATA_TYPE)-1.0, epsilon ) ) + else if (Math::isEqual(cosangle, static_cast<DATA_TYPE>(-1.0), epsilon)) { - Vec<DATA_TYPE, 3> to_rot( to[0] + (DATA_TYPE)0.3, to[1] - (DATA_TYPE)0.15, to[2] - (DATA_TYPE)0.15 ), axis; - normalize( cross( axis, from, to_rot ) ); // setRot requires normalized vec - DATA_TYPE angle = Math::aCos( cosangle ); - return setRot( result, gmtl::AxisAngle<DATA_TYPE>( angle, axis ) ); + Vec<DATA_TYPE, 3> to_rot(to[0] + static_cast<DATA_TYPE>(0.3), + to[1] - static_cast<DATA_TYPE>(0.15), + to[2] - static_cast<DATA_TYPE>(0.15)); + Vec<DATA_TYPE, 3> axis; + normalize(cross(axis, from, to_rot)); // setRot requires normalized vec + DATA_TYPE angle = Math::aCos(cosangle); + return setRot(result, gmtl::AxisAngle<DATA_TYPE>(angle, axis)); } // This is the usual situation - take a cross-product of vec1 and vec2 @@ -1394,9 +1410,9 @@ else { Vec<DATA_TYPE, 3> axis; - normalize( cross( axis, from, to ) ); // setRot requires normalized vec - DATA_TYPE angle = Math::aCos( cosangle ); - return setRot( result, gmtl::AxisAngle<DATA_TYPE>( angle, axis ) ); + normalize(cross(axis, from, to)); // setRot requires normalized vec + DATA_TYPE angle = Math::aCos(cosangle); + return setRot(result, gmtl::AxisAngle<DATA_TYPE>(angle, axis)); } } Modified: trunk/gmtl/Intersection.h =================================================================== --- trunk/gmtl/Intersection.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Intersection.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -696,9 +696,10 @@ * @return numhits, t0, t1 are undefined if return value is false */ template<typename T> - inline bool intersectVolume( const Sphere<T>& sphere, const Ray<T>& ray, int& numhits, T& t0, T& t1 ) + inline bool intersectVolume(const Sphere<T>& sphere, const Ray<T>& ray, + int& numhits, T& t0, T& t1) { - bool result = intersect( sphere, ray, numhits, t0, t1 ); + bool result = intersect(sphere, ray, numhits, t0, t1); if (result && numhits == 2) { return true; @@ -707,7 +708,7 @@ { const T rsq = sphere.getRadius() * sphere.getRadius(); const Vec<T, 3> dist = ray.getOrigin() - sphere.getCenter(); - const T a = lengthSquared( dist ) - rsq; + const T a = lengthSquared(dist) - rsq; bool inside = a <= T( 0 ); @@ -735,24 +736,29 @@ * @note If ray is parallel to plane: t=0, ret:true -> on plane, ret:false -> No hit */ template<class DATA_TYPE> - bool intersect( const Plane<DATA_TYPE>& plane, const Ray<DATA_TYPE>& ray, DATA_TYPE& t ) + bool intersect(const Plane<DATA_TYPE>& plane, const Ray<DATA_TYPE>& ray, + DATA_TYPE& t) { - const DATA_TYPE eps(0.00001f); + const DATA_TYPE eps(static_cast<DATA_TYPE>(0.00001)); // t = -(n\xB7P + d) - Vec<DATA_TYPE, 3> N( plane.getNormal() ); - DATA_TYPE denom( dot(N,ray.getDir()) ); - if(gmtl::Math::abs(denom) < eps) // Ray parallel to plane + Vec<DATA_TYPE, 3> N(plane.getNormal()); + DATA_TYPE denom(dot(N,ray.getDir())); + if (gmtl::Math::abs(denom) < eps) // Ray parallel to plane { t = 0; - if(distance(plane, ray.mOrigin) < eps) // Test for ray on plane - { return true; } + if (distance(plane, ray.mOrigin) < eps) // Test for ray on plane + { + return true; + } else - { return false; } + { + return false; + } } t = dot( N, Vec<DATA_TYPE,3>(N * plane.getOffset() - ray.getOrigin()) ) / denom; - return (DATA_TYPE)0 <= t; + return static_cast<DATA_TYPE>(0) <= t; } /** @@ -766,10 +772,11 @@ * @return true if the lineseg intersects the plane. */ template<class DATA_TYPE> - bool intersect( const Plane<DATA_TYPE>& plane, const LineSeg<DATA_TYPE>& seg, DATA_TYPE& t ) + bool intersect(const Plane<DATA_TYPE>& plane, + const LineSeg<DATA_TYPE>& seg, DATA_TYPE& t ) { bool res(intersect(plane, static_cast<Ray<DATA_TYPE> >(seg), t)); - return res && t <= (DATA_TYPE)1.0; + return res && t <= static_cast<DATA_TYPE>(1.0); } /** @@ -785,10 +792,10 @@ * @see from http://www.acm.org/jgt/papers/MollerTrumbore97/code.html */ template<class DATA_TYPE> - bool intersect( const Tri<DATA_TYPE>& tri, const Ray<DATA_TYPE>& ray, - float& u, float& v, float& t ) + bool intersect(const Tri<DATA_TYPE>& tri, const Ray<DATA_TYPE>& ray, + float& u, float& v, float& t) { - const float EPSILON = (DATA_TYPE)0.00001f; + const float EPSILON = static_cast<DATA_TYPE>(0.00001); Vec<DATA_TYPE, 3> edge1, edge2, tvec, pvec, qvec; float det,inv_det; @@ -800,36 +807,42 @@ gmtl::cross( pvec, ray.getDir(), edge2 ); /* if determinant is near zero, ray lies in plane of triangle */ - det = gmtl::dot( edge1, pvec ); + det = gmtl::dot(edge1, pvec); if (det < EPSILON) + { return false; + } /* calculate distance from vert0 to ray origin */ tvec = ray.getOrigin() - tri[0]; /* calculate U parameter and test bounds */ - u = gmtl::dot( tvec, pvec ); + u = gmtl::dot(tvec, pvec); if (u < 0.0 || u > det) + { return false; + } /* prepare to test V parameter */ - gmtl::cross( qvec, tvec, edge1 ); + gmtl::cross(qvec, tvec, edge1); /* calculate V parameter and test bounds */ v = gmtl::dot( ray.getDir(), qvec ); if (v < 0.0 || u + v > det) + { return false; + } /* calculate t, scale parameters, ray intersects triangle */ t = gmtl::dot( edge2, qvec ); - inv_det = ((DATA_TYPE)1.0) / det; + inv_det = static_cast<DATA_TYPE>(1.0) / det; t *= inv_det; u *= inv_det; v *= inv_det; // test if t is within the ray boundary (when t >= 0) - return t >= (DATA_TYPE)0; + return t >= static_cast<DATA_TYPE>(0); } /** @@ -849,10 +862,11 @@ * @see from http://www.acm.org/jgt/papers/MollerTrumbore97/code.html */ template<class DATA_TYPE> - bool intersectDoubleSided(const Tri<DATA_TYPE>& tri, const Ray<DATA_TYPE>& ray, + bool intersectDoubleSided(const Tri<DATA_TYPE>& tri, + const Ray<DATA_TYPE>& ray, DATA_TYPE& u, DATA_TYPE& v, DATA_TYPE& t) { - const DATA_TYPE EPSILON = (DATA_TYPE)0.00001f; + const DATA_TYPE EPSILON = static_cast<DATA_TYPE>(0.00001); Vec<DATA_TYPE, 3> edge1, edge2, tvec, pvec, qvec; DATA_TYPE det, inv_det; @@ -875,7 +889,7 @@ tvec = ray.getOrigin() - tri[0]; // Calc inverse deteriminant. - inv_det = ((DATA_TYPE)1.0) / det; + inv_det = static_cast<DATA_TYPE>(1.0) / det; // Calculate U parameter and test bounds. u = inv_det * gmtl::dot(tvec, pvec); @@ -898,7 +912,7 @@ t = inv_det * gmtl::dot(edge2, qvec); // Test if t is within the ray boundary (when t >= 0). - return t >= (DATA_TYPE)0; + return t >= static_cast<DATA_TYPE>(0); } /** @@ -917,16 +931,19 @@ bool intersect( const Tri<DATA_TYPE>& tri, const LineSeg<DATA_TYPE>& lineseg, DATA_TYPE& u, DATA_TYPE& v, DATA_TYPE& t ) { - const DATA_TYPE eps = (DATA_TYPE)0.0001010101; - DATA_TYPE l = length( lineseg.getDir() ); + const DATA_TYPE eps = static_cast<DATA_TYPE>(0.0001010101); + const DATA_TYPE l = length(lineseg.getDir()); + if (eps < l) { - Ray<DATA_TYPE> temp( lineseg.getOrigin(), lineseg.getDir() ); - bool result = intersect( tri, temp, u, v, t ); - return result && t <= (DATA_TYPE)1.0; + Ray<DATA_TYPE> temp(lineseg.getOrigin(), lineseg.getDir()); + const bool result = intersect(tri, temp, u, v, t); + return result && t <= static_cast<DATA_TYPE>(1.0); } else - { return false; } + { + return false; + } } /** Modified: trunk/gmtl/Matrix.h =================================================================== --- trunk/gmtl/Matrix.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Matrix.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -216,12 +216,16 @@ for (unsigned int r = 0; r < ROWS; ++r) { for (unsigned int c = 0; c < COLS; ++c) - { this->operator()( r, c ) = (DATA_TYPE)0.0; } + { + this->operator()(r, c) = static_cast<DATA_TYPE>(0.0); + } } /** @todo mp */ - for (unsigned int x = 0; x < Math::Min( COLS, ROWS ); ++x) - { this->operator()( x, x ) = (DATA_TYPE)1.0; } + for (unsigned int x = 0; x < Math::Min(COLS, ROWS); ++x) + { + this->operator()(x, x) = static_cast<DATA_TYPE>(1.0); + } /** @todo Set initial state to IDENTITY and test other stuff */ mState = IDENTITY; @@ -458,7 +462,10 @@ /** Gets a DATA_TYPE pointer to the matrix data. * @return Returns a pointer to the head of the matrix data. */ - const DATA_TYPE* getData() const { return (DATA_TYPE*)mData; } + const DATA_TYPE* getData() const + { + return mData; + } bool isError() { @@ -469,8 +476,10 @@ mState |= XFORM_ERROR; } - void setState(int state) - { mState = state; } + void setState(const int state) + { + mState = state; + } public: /** Column major. In other words {Column1, Column2, Column3, Column4} in memory Modified: trunk/gmtl/MatrixOps.h =================================================================== --- trunk/gmtl/MatrixOps.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/MatrixOps.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -21,22 +21,32 @@ * @{ */ - /** Make identity matrix out the matrix. - * @post Every element is 0 except the matrix's diagonal, whose elements are 1. + /** + * Makes identity matrix out the matrix. + * + * @post Every element is 0 except the matrix's diagonal, whose elements + * are 1. */ template <typename DATA_TYPE, unsigned ROWS, unsigned COLS> - inline Matrix<DATA_TYPE, ROWS, COLS>& identity( Matrix<DATA_TYPE, ROWS, COLS>& result ) + inline Matrix<DATA_TYPE, ROWS, COLS>& + identity(Matrix<DATA_TYPE, ROWS, COLS>& result) { if(result.mState != Matrix<DATA_TYPE, ROWS, COLS>::IDENTITY) // if not already ident { // TODO: mp for (unsigned int r = 0; r < ROWS; ++r) - for (unsigned int c = 0; c < COLS; ++c) - result( r, c ) = (DATA_TYPE)0.0; + { + for (unsigned int c = 0; c < COLS; ++c) + { + result(r, c) = static_cast<DATA_TYPE>(0.0); + } + } // TODO: mp - for (unsigned int x = 0; x < Math::Min( COLS, ROWS ); ++x) - result( x, x ) = (DATA_TYPE)1.0; + for (unsigned int x = 0; x < Math::Min(COLS, ROWS); ++x) + { + result(x, x) = static_cast<DATA_TYPE>(1.0); + } result.mState = Matrix<DATA_TYPE, ROWS, COLS>::IDENTITY; // result.mState = Matrix<DATA_TYPE, ROWS, COLS>::FULL; @@ -45,25 +55,27 @@ return result; } - - /** zero out the matrix. + /** + * Zero out the matrix. + * * @post every element is 0. */ template <typename DATA_TYPE, unsigned ROWS, unsigned COLS> - inline Matrix<DATA_TYPE, ROWS, COLS>& zero( Matrix<DATA_TYPE, ROWS, COLS>& result ) + inline Matrix<DATA_TYPE, ROWS, COLS>& + zero(Matrix<DATA_TYPE, ROWS, COLS>& result) { if (result.mState == Matrix<DATA_TYPE, ROWS, COLS>::IDENTITY) { - for (unsigned int x = 0; x < Math::Min( ROWS, COLS ); ++x) + for (unsigned int x = 0; x < Math::Min(ROWS, COLS); ++x) { - result( x, x ) = (DATA_TYPE)0; + result(x, x) = static_cast<DATA_TYPE>(0); } } else { - for (unsigned int x = 0; x < ROWS*COLS; ++x) + for (unsigned int x = 0; x < ROWS * COLS; ++x) { - result.mData[x] = (DATA_TYPE)0; + result.mData[x] = static_cast<DATA_TYPE>(0); } } result.mState = Matrix<DATA_TYPE, ROWS, COLS>::ORTHOGONAL; @@ -543,7 +555,8 @@ for ( j = 0; j < n; j++ ) { m[ i][ j] = a[ i * n + j]; - m[ i][ j + n] = ( i == j ) ? (DATA_TYPE)1.0 : (DATA_TYPE)0.0 ; + m[ i][ j + n] = ( i == j ) ? static_cast<DATA_TYPE>(1.0) + : static_cast<DATA_TYPE>(0.0); } } @@ -580,38 +593,56 @@ } /* Normalization */ - for ( j = 0; j < 2*n; j++ ) + for (j = 0; j < 2 * n; ++j) { - if ( j == c[ k] ) - m[ r[ k]][ j] = (DATA_TYPE)1.0; + if (j == c[k]) + { + m[r[k]][j] = static_cast<DATA_TYPE>(1.0); + } else - m[ r[ k]][ j] /= pivot; + { + m[r[k]][j] /= pivot; + } } /* Reduction */ - for ( i = 0; i < n; i++ ) + for (i = 0; i < n; ++i) { - if ( i == r[ k] ) + if (i == r[k]) + { continue; + } - for ( j=0, fac = m[ i][ c[k]]; j < 2*n; j++ ) + for (j = 0, fac = m[i][c[k]]; j < 2 * n; ++j) { - if ( j == c[ k] ) - m[ i][ j] = (DATA_TYPE)0.0; + if (j == c[k]) + { + m[i][j] = static_cast<DATA_TYPE>(0.0); + } else - m[ i][ j] -= fac * m[ r[k]][ j]; + { + m[i][j] -= fac * m[r[k]][j]; + } } } } /* Assign inverse to a matrix */ - for ( i = 0; i < n; i++ ) - for ( j = 0; j < n; j++ ) - row[ i] = ( c[ j] == i ) ? r[ j] : row[ i]; + for (i = 0; i < n; ++i) + { + for (j = 0; j < n; ++j) + { + row[i] = (c[j] == i) ? r[j] : row[i]; + } + } - for ( i = 0; i < n; i++ ) - for ( j = 0; j < n; j++ ) - b[ i * n + j] = m[ row[ i]][ j + n]; + for (i = 0; i < n; ++i) + { + for (j = 0; j < n; ++j) + { + b[i * n + j] = m[row[i]][j + n]; + } + } // It worked result.mState = src.mState; @@ -677,16 +708,22 @@ * @{ */ - /** Tests 2 matrices for equality - * @param lhs The first matrix - * @param rhs The second matrix - * @pre Both matrices must be of the same size. - * @return true if the matrices have the same element values; false otherwise + /** + * Tests 2 matrices for equality. + * + * @pre Both matrices must be of the same size. + * + * @param lhs The first matrix. + * @param rhs The second matrix. + * + * @return true if the matrices have the same element values; false + * otherwise. */ template <typename DATA_TYPE, unsigned ROWS, unsigned COLS> - inline bool operator==( const Matrix<DATA_TYPE, ROWS, COLS>& lhs, const Matrix<DATA_TYPE, ROWS, COLS>& rhs ) + inline bool operator==(const Matrix<DATA_TYPE, ROWS, COLS>& lhs, + const Matrix<DATA_TYPE, ROWS, COLS>& rhs) { - for (unsigned int i = 0; i < ROWS*COLS; ++i) + for (unsigned int i = 0; i < ROWS * COLS; ++i) { if (lhs.mData[i] != rhs.mData[i]) { @@ -703,16 +740,21 @@ */ } - /** Tests 2 matrices for inequality - * @param lhs The first matrix - * @param rhs The second matrix - * @pre Both matrices must be of the same size. - * @return false if the matrices differ on any element value; true otherwise + /** + * Tests 2 matrices for inequality. + * + * @pre Both matrices must be of the same size. + * + * @param lhs The first matrix. + * @param rhs The second matrix. + * + * @return false if the matrices differ on any element value; true otherwise. */ template <typename DATA_TYPE, unsigned ROWS, unsigned COLS> - inline bool operator!=( const Matrix<DATA_TYPE, ROWS, COLS>& lhs, const Matrix<DATA_TYPE, ROWS, COLS>& rhs ) + inline bool operator!=(const Matrix<DATA_TYPE, ROWS, COLS>& lhs, + const Matrix<DATA_TYPE, ROWS, COLS>& rhs) { - return bool( !(lhs == rhs) ); + return ! (lhs == rhs); } /** Tests 2 matrices for equality within a tolerance Modified: trunk/gmtl/Point.h =================================================================== --- trunk/gmtl/Point.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Point.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -42,8 +42,10 @@ */ Point() { - for (unsigned i = 0; i < SIZE; ++i) - this->mData[i] = (DATA_TYPE)0; + for (unsigned int i = 0; i < SIZE; ++i) + { + this->mData[i] = static_cast<DATA_TYPE>(0); + } } /** @name Value constructors Modified: trunk/gmtl/Quat.h =================================================================== --- trunk/gmtl/Quat.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Quat.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -58,7 +58,8 @@ * NOTE: the addition identity is [0,0,0,0] */ Quat() - : mData( (DATA_TYPE)0.0, (DATA_TYPE)0.0, (DATA_TYPE)0.0, (DATA_TYPE)1.0 ) + : mData(static_cast<DATA_TYPE>(0.0), static_cast<DATA_TYPE>(0.0), + static_cast<DATA_TYPE>(0.0), static_cast<DATA_TYPE>(1.0)) { } @@ -138,7 +139,10 @@ /** Get a DATA_TYPE pointer to the quat internal data. * @post Returns a ptr to the head of the quat data */ - const DATA_TYPE* getData() const { return (DATA_TYPE*)mData.getData();} + const DATA_TYPE* getData() const + { + return mData.getData(); + } public: // Order x, y, z, w Modified: trunk/gmtl/QuatOps.h =================================================================== --- trunk/gmtl/QuatOps.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/QuatOps.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -334,15 +334,17 @@ * @see Quat */ template <typename DATA_TYPE> - Quat<DATA_TYPE>& normalize( Quat<DATA_TYPE>& result ) + Quat<DATA_TYPE>& normalize(Quat<DATA_TYPE>& result) { - DATA_TYPE l = length( result ); + DATA_TYPE l = length(result); // return if no magnitude (already as normalized as possible) - if (l < (DATA_TYPE)0.0001) + if (l < static_cast<DATA_TYPE>(0.0001)) + { return result; + } - DATA_TYPE l_inv = ((DATA_TYPE)1.0) / l; + DATA_TYPE l_inv = static_cast<DATA_TYPE>(1.0) / l; result[Xelt] *= l_inv; result[Yelt] *= l_inv; result[Zelt] *= l_inv; @@ -361,9 +363,9 @@ * @return true if the quaternion is normalized, false otherwise */ template< typename DATA_TYPE > - bool isNormalized( const Quat<DATA_TYPE>& q1, const DATA_TYPE eps = 0.0001f ) + bool isNormalized(const Quat<DATA_TYPE>& q1, const DATA_TYPE eps = 0.0001f) { - return Math::isEqual( lengthSquared( q1 ), DATA_TYPE(1), eps ); + return Math::isEqual(lengthSquared(q1), DATA_TYPE(1), eps); } /** quaternion complex conjugate. @@ -387,18 +389,20 @@ * @see Quat */ template <typename DATA_TYPE> - Quat<DATA_TYPE>& invert( Quat<DATA_TYPE>& result ) + Quat<DATA_TYPE>& invert(Quat<DATA_TYPE>& result) { // from game programming gems p198 // do result = conj( q ) / norm( q ) - conj( result ); + conj(result); // return if norm() is near 0 (divide by 0 would result in NaN) - DATA_TYPE l = lengthSquared( result ); - if (l < (DATA_TYPE)0.0001) + DATA_TYPE l = lengthSquared(result); + if (l < static_cast<DATA_TYPE>(0.0001)) + { return result; + } - DATA_TYPE l_inv = ((DATA_TYPE)1.0) / l; + DATA_TYPE l_inv = static_cast<DATA_TYPE>(1.0) / l; result[Xelt] *= l_inv; result[Yelt] *= l_inv; result[Zelt] *= l_inv; @@ -412,17 +416,21 @@ * @see Quat */ template <typename DATA_TYPE> - Quat<DATA_TYPE>& exp( Quat<DATA_TYPE>& result ) + Quat<DATA_TYPE>& exp(Quat<DATA_TYPE>& result) { DATA_TYPE len1, len2; - len1 = Math::sqrt( result[Xelt] * result[Xelt] + - result[Yelt] * result[Yelt] + - result[Zelt] * result[Zelt] ); - if (len1 > (DATA_TYPE)0.0) - len2 = Math::sin( len1 ) / len1; + len1 = Math::sqrt(result[Xelt] * result[Xelt] + + result[Yelt] * result[Yelt] + + result[Zelt] * result[Zelt]); + if (len1 > static_cast<DATA_TYPE>(0.0)) + { + len2 = Math::sin(len1) / len1; + } else - len2 = (DATA_TYPE)1.0; + { + len2 = static_cast<DATA_TYPE>(1.0); + } result[Xelt] = result[Xelt] * len2; result[Yelt] = result[Yelt] * len2; @@ -446,12 +454,16 @@ result[Zelt] * result[Zelt] ); // avoid divide by 0 - if (Math::isEqual( result[Welt], (DATA_TYPE)0.0, (DATA_TYPE)0.00001 ) == false) - length = Math::aTan( length / result[Welt] ); + if (Math::isEqual(result[Welt], static_cast<DATA_TYPE>(0.0), static_cast<DATA_TYPE>(0.00001)) == false) + { + length = Math::aTan(length / result[Welt]); + } else + { length = Math::PI_OVER_2; + } - result[Welt] = (DATA_TYPE)0.0; + result[Welt] = static_cast<DATA_TYPE>(0.0); result[Xelt] = result[Xelt] * length; result[Yelt] = result[Yelt] * length; result[Zelt] = result[Zelt] * length; @@ -494,7 +506,10 @@ * @see Quat */ template <typename DATA_TYPE> - Quat<DATA_TYPE>& slerp( Quat<DATA_TYPE>& result, const DATA_TYPE t, const Quat<DATA_TYPE>& from, const Quat<DATA_TYPE>& to, bool adjustSign=true) + Quat<DATA_TYPE>& slerp(Quat<DATA_TYPE>& result, const DATA_TYPE t, + const Quat<DATA_TYPE>& from, + const Quat<DATA_TYPE>& to, + const bool adjustSign = true) { const Quat<DATA_TYPE>& p = from; // just an alias to match q @@ -503,7 +518,7 @@ // adjust signs (if necessary) Quat<DATA_TYPE> q; - if (adjustSign && (cosom < (DATA_TYPE)0.0)) + if (adjustSign && (cosom < static_cast<DATA_TYPE>(0.0))) { cosom = -cosom; q[0] = -to[0]; // Reverse all signs @@ -518,19 +533,19 @@ // Calculate coefficients DATA_TYPE sclp, sclq; - if (((DATA_TYPE)1.0 - cosom) > (DATA_TYPE)0.0001) // 0.0001 -> some epsillon + if ((static_cast<DATA_TYPE>(1.0) - cosom) > static_cast<DATA_TYPE>(0.0001)) // 0.0001 -> some epsillo)n { // Standard case (slerp) DATA_TYPE omega, sinom; - omega = gmtl::Math::aCos( cosom ); // extract theta from dot product's cos theta - sinom = gmtl::Math::sin( omega ); - sclp = gmtl::Math::sin( ((DATA_TYPE)1.0 - t) * omega ) / sinom; - sclq = gmtl::Math::sin( t * omega ) / sinom; + omega = Math::aCos(cosom); // extract theta from dot product's cos theta + sinom = Math::sin(omega ); + sclp = Math::sin((static_cast<DATA_TYPE>(1.0) - t) * omega ) / sinom; + sclq = Math::sin(t * omega ) / sinom; } else { // Very close, do linear interp (because it's faster) - sclp = (DATA_TYPE)1.0 - t; + sclp = static_cast<DATA_TYPE>(1.0) - t; sclq = t; } @@ -551,7 +566,9 @@ * @see Quat */ template <typename DATA_TYPE> - Quat<DATA_TYPE>& lerp( Quat<DATA_TYPE>& result, const DATA_TYPE t, const Quat<DATA_TYPE>& from, const Quat<DATA_TYPE>& to) + Quat<DATA_TYPE>& lerp(Quat<DATA_TYPE>& result, const DATA_TYPE t, + const Quat<DATA_TYPE>& from, + const Quat<DATA_TYPE>& to) { // just an alias to match q const Quat<DATA_TYPE>& p = from; @@ -561,7 +578,7 @@ // adjust signs (if necessary) Quat<DATA_TYPE> q; - if (cosom < (DATA_TYPE)0.0) + if (cosom < static_cast<DATA_TYPE>(0.0)) { q[0] = -to[0]; // Reverse all signs q[1] = -to[1]; @@ -575,7 +592,7 @@ // do linear interp DATA_TYPE sclp, sclq; - sclp = (DATA_TYPE)1.0 - t; + sclp = static_cast<DATA_TYPE>(1.0) - t; sclq = t; result[Xelt] = sclp * p[Xelt] + sclq * q[Xelt]; Modified: trunk/gmtl/Vec.h =================================================================== --- trunk/gmtl/Vec.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Vec.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -50,8 +50,10 @@ */ Vec() { - for (unsigned i = 0; i < SIZE; ++i) - this->mData[i] = (DATA_TYPE)0; + for (unsigned int i = 0; i < SIZE; ++i) + { + this->mData[i] = static_cast<DATA_TYPE>(0); + } } /// @name Value constructors Modified: trunk/gmtl/VecOps.h =================================================================== --- trunk/gmtl/VecOps.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/VecOps.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -182,9 +182,9 @@ VecBase<DATA_TYPE, SIZE>& operator *=(VecBase<DATA_TYPE, SIZE>& v1, const SCALAR_TYPE& scalar) { - for(unsigned i=0;i<SIZE;++i) + for (unsigned int i = 0; i < SIZE; ++i) { - v1[i] *= (DATA_TYPE)scalar; + v1[i] *= static_cast<DATA_TYPE>(scalar); } return v1; @@ -435,10 +435,10 @@ * @return true if the vector is normalized, false otherwise */ template< class DATA_TYPE, unsigned SIZE > -bool isNormalized( const Vec<DATA_TYPE, SIZE>& v1, - const DATA_TYPE eps = (DATA_TYPE) 0.0001f ) +bool isNormalized(const Vec<DATA_TYPE, SIZE>& v1, + const DATA_TYPE eps = static_cast<DATA_TYPE>(0.0001)) { - return Math::isEqual( lengthSquared( v1 ), DATA_TYPE(1.0), eps ); + return Math::isEqual(lengthSquared(v1), DATA_TYPE(1.0), eps); } /** @@ -492,7 +492,7 @@ VecBase<DATA_TYPE, SIZE>& vec, const Vec<DATA_TYPE, SIZE>& normal ) { - result = vec - (DATA_TYPE( 2.0 ) * (dot( (Vec<DATA_TYPE, SIZE>)vec, normal ) * normal)); + result = vec - (DATA_TYPE(2.0) * (dot(static_cast<Vec<DATA_TYPE, SIZE> >(vec), normal) * normal)); return result; } Modified: trunk/gmtl/Xforms.h =================================================================== --- trunk/gmtl/Xforms.h 2011-03-27 18:11:00 UTC (rev 1272) +++ trunk/gmtl/Xforms.h 2011-03-27 18:22:39 UTC (rev 1273) @@ -37,10 +37,12 @@ * then this might not give the correct result, since conj and invert is only equiv when normalized... */ template <typename DATA_TYPE> - inline VecBase<DATA_TYPE, 3>& xform( VecBase<DATA_TYPE, 3>& result, const Quat<DATA_TYPE>& rot, const VecBase<DATA_TYPE, 3>& vector ) + inline VecBase<DATA_TYPE, 3>& xform(VecBase<DATA_TYPE, 3>& result, + const Quat<DATA_TYPE>& rot, + const VecBase<DATA_TYPE, 3>& vector) { // check preconditions... - gmtlASSERT( Math::isEqual( length( rot ), (DATA_TYPE)1.0, (DATA_TYPE)0.0001 ) && "must pass a rotation quaternion to xform(result,quat,vec) - by definition, a rotation quaternion is normalized). if you need non-rotation quaternion support, let us know." ); + gmtlASSERT(Math::isEqual(length(rot), static_cast<DATA_TYPE>(1.0), static_cast<DATA_TYPE>(0.0001)) && "must pass a rotation quaternion to xform(result,quat,vec) - by definition, a rotation quaternion is normalized). if you need non-rotation quaternion support, let us know."); // easiest to write and understand (slowest too) //return result_vec = makeVec( rot * makePure( vector ) * makeConj( rot ) ); @@ -48,18 +50,21 @@ // completely hand expanded // (faster by 28% in gcc 2.96 debug mode.) // (faster by 35% in gcc 2.96 opt3 mode (78% for doubles)) - Quat<DATA_TYPE> rot_conj( -rot[Xelt], -rot[Yelt], -rot[Zelt], rot[Welt] ); - Quat<DATA_TYPE> pure( vector[0], vector[1], vector[2], (DATA_TYPE)0.0 ); + Quat<DATA_TYPE> rot_conj(-rot[Xelt], -rot[Yelt], -rot[Zelt], rot[Welt]); + Quat<DATA_TYPE> pure(vector[0], vector[1], vector[2], + static_cast<DATA_TYPE>(0.0)); Quat<DATA_TYPE> temp( pure[Welt]*rot_conj[Xelt] + pure[Xelt]*rot_conj[Welt] + pure[Yelt]*rot_conj[Zelt] - pure[Zelt]*rot_conj[Yelt], pure[Welt]*rot_conj[Yelt] + pure[Yelt]*rot_conj[Welt] + pure[Zelt]*rot_conj[Xelt] - pure[Xelt]*rot_conj[Zelt], pure[Welt]*rot_conj[Zelt] + pure[Zelt]*rot_conj[Welt] + pure[Xelt]*rot_conj[Yelt] - pure[Yelt]*rot_conj[Xelt], - pure[Welt]*rot_conj[Welt] - pure[Xelt]*rot_conj[Xelt] - pure[Yelt]*rot_conj[Yelt] - pure[Zelt]*rot_conj[Zelt] ); + pure[Welt]*rot_conj[Welt] - pure[Xelt]*rot_conj[Xelt] - pure[Yelt]*rot_conj[Yelt] - pure[Zelt]*rot_conj[Zelt] + ); result.set( rot[Welt]*temp[Xelt] + rot[Xelt]*temp[Welt] + rot[Yelt]*temp[Zelt] - rot[Zelt]*temp[Yelt], rot[Welt]*temp[Yelt] + rot[Yelt]*temp[Welt] + rot[Zelt]*temp[Xelt] - rot[Xelt]*temp[Zelt], - rot[Welt]*temp[Zelt] + rot[Zelt]*temp[Welt] + rot[Xelt]*temp[Yelt] - rot[Yelt]*temp[Xelt] ); + rot[Welt]*temp[Zelt] + rot[Zelt]*temp[Welt] + rot[Xelt]*temp[Yelt] - rot[Yelt]*temp[Xelt] + ); return result; } @@ -162,26 +167,35 @@ // copy the point to the correct size. Vec<DATA_TYPE, COLS> temp_vector, temp_result; - for (unsigned x = 0; x < VEC_SIZE; ++x) + for (unsigned int x = 0; x < VEC_SIZE; ++x) + { temp_vector[x] = vector[x]; - temp_vector[COLS-1] = (DATA_TYPE)0.0; // by definition of a vector, set the last unspecified elt to 0.0 + } + // by definition of a vector, set the last unspecified elt to 0.0 + temp_vector[COLS-1] = static_cast<DATA_TYPE>(0.0); + // transform it. xform<DATA_TYPE, ROWS, COLS>( temp_result, matrix, temp_vector ); // convert result back to vec<DATA_TYPE, VEC_SIZE> - // some matrices will make the W param large even if this is a true vector, - // we'll need to redistribute it to the other elts if W param is non-zero - if (Math::isEqual( temp_result[VEC_SIZE], (DATA_TYPE)0, (DATA_TYPE)0.0001 ) == false) + // some matrices will make the W param large even if this is a true + // vector, we'll need to redistribute it to the other elts if W param is + // non-zero + if (Math::isEqual(temp_result[VEC_SIZE], static_cast<DATA_TYPE>(0), static_cast<DATA_TYPE>(0.0001)) == false) { - DATA_TYPE w_coord_div = DATA_TYPE( 1.0 ) / temp_result[VEC_SIZE]; - for (unsigned x = 0; x < VEC_SIZE; ++x) + DATA_TYPE w_coord_div = DATA_TYPE(1.0) / temp_result[VEC_SIZE]; + for (unsigned int x = 0; x < VEC_SIZE; ++x) + { result[x] = temp_result[x] * w_coord_div; + } } else { - for (unsigned x = 0; x < VEC_SIZE; ++x) + for (unsigned int x = 0; x < VEC_SIZE; ++x) + { result[x] = temp_result[x]; + } } return result; @@ -267,27 +281,35 @@ GMTL_STATIC_ASSERT( PNT_SIZE == COLS-1, Point_not_of_size_mat_col_minus_1_as_required_for_xform); // copy the point to the correct size. - Point<DATA_TYPE, PNT_SIZE+1> temp_point, temp_result; - for (unsigned x = 0; x < PNT_SIZE; ++x) + Point<DATA_TYPE, PNT_SIZE + 1> temp_point, temp_result; + for (unsigned int x = 0; x < PNT_SIZE; ++x) + { temp_point[x] = point[x]; - temp_point[PNT_SIZE] = (DATA_TYPE)1.0; // by definition of a point, set the last unspecified elt to 1.0 + } + // by definition of a point, set the last unspecified elt to 1.0 + temp_point[PNT_SIZE] = static_cast<DATA_TYPE>(1.0); // transform it. xform<DATA_TYPE, ROWS, COLS>( temp_result, matrix, temp_point ); // convert result back to pnt<DATA_TYPE, PNT_SIZE> - // some matrices will make the W param large even if this is a true vector, - // we'll need to redistribute it to the other elts if W param is non-zero - if (Math::isEqual( temp_result[PNT_SIZE], (DATA_TYPE)0, (DATA_TYPE)0.0001 ) == false) + // some matrices will make the W param large even if this is a true + // vector, we'll need to redistribute it to the other elts if W param is + // non-zero + if (Math::isEqual(temp_result[PNT_SIZE], static_cast<DATA_TYPE>(0), static_cast<DATA_TYPE>(0.0001)) == false) { - DATA_TYPE w_coord_div = DATA_TYPE( 1.0 ) / temp_result[PNT_SIZE]; - for (unsigned x = 0; x < PNT_SIZE; ++x) + DATA_TYPE w_coord_div = DATA_TYPE(1.0) / temp_result[PNT_SIZE]; + for (unsigned int x = 0; x < PNT_SIZE; ++x) + { result[x] = temp_result[x] * w_coord_div; + } } else { - for (unsigned x = 0; x < PNT_SIZE; ++x) + for (unsigned int x = 0; x < PNT_SIZE; ++x) + { result[x] = temp_result[x]; + } } return result; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 18:11:06
|
Revision: 1272 http://ggt.svn.sourceforge.net/ggt/?rev=1272&view=rev Author: patrickh Date: 2011-03-27 18:11:00 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Added an overload of gmtl::findClosestPt() for use with gmtl::Tri<T> and gmtl::Point<T, 3>. Submitted by: Sebastian Messerschmidt Modified Paths: -------------- trunk/ChangeLog trunk/gmtl/TriOps.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-03-27 17:31:11 UTC (rev 1271) +++ trunk/ChangeLog 2011-03-27 18:11:00 UTC (rev 1272) @@ -1,5 +1,8 @@ DATE AUTHOR CHANGE ---------- ------------ ------------------------------------------------------- +2011-03-27 patrickh Added an overload of gmtl::findClosestPt() for use with + gmtl::Tri<T> and gmtl::Point<T, 3>. + Submitted by Sebastian Messerschmidt 2011-03-27 patrickh Added an overload of gmtl::intersectDoubleSided() for Tri/LineSeg intersection that ignores the triangle winding. Modified: trunk/gmtl/TriOps.h =================================================================== --- trunk/gmtl/TriOps.h 2011-03-27 17:31:11 UTC (rev 1271) +++ trunk/gmtl/TriOps.h 2011-03-27 18:11:00 UTC (rev 1272) @@ -18,6 +18,83 @@ */ /** + * Finds the closest point on the triangle to a given point. + * + * @param tri The triangle to test. + * @param pt The point which to test against triangle. + * + * @return the point on the line segment closest to pt. + * + * @since 0.7.0 + */ +template< class DATA_TYPE > +Point<DATA_TYPE, 3> findNearestPt(const Tri<DATA_TYPE>& tri, + const Point<DATA_TYPE, 3>& pt) +{ + // inspired by Real Time Collision Detection 1st Edition p. 144 ff + Vec<DATA_TYPE, 3> ab = tri.edge(0,1); + Vec<DATA_TYPE, 3> ac = tri.edge(0,2); + Vec<DATA_TYPE, 3> ap = pt - tri.mVerts[0]; // p - a + + // check if P in vertex region outside a + DATA_TYPE d1 = dot(ab, ap); + DATA_TYPE d2 = dot(ac, ap); + if (d1 <= 0.0 && d2 <= 0.0) + { + return tri.mVerts[0]; + } + +// check if P in vertex region outside b + Vec<DATA_TYPE, 3> bp = pt - tri.mVerts[1]; // p -b + DATA_TYPE d3 = dot(ab, bp); + DATA_TYPE d4 = dot(ac, bp); + + if (d3 >= 0 && d4 <= d3) + { + return tri.mVerts[1]; + } + + // check if p in edge region of AB, if true return projection of P onto AB + DATA_TYPE vc = d1*d4 - d3*d2; + if (vc <= 0.0 && d1 >= 0.0 && d3 <= 0.0) + { + DATA_TYPE v = d1 / (d1 - d3); + return tri.mVerts[0] + v * ab; + } + + // check if P in vertex region outside c + Vec<DATA_TYPE, 3> cp = pt - tri.mVerts[2]; // p - c + DATA_TYPE d5 = dot(ab, cp); + DATA_TYPE d6 = dot(ac, cp); + if (d6 >= 0.0 && d5 <= d6) + { + return tri.mVerts[2]; + } + + // check if p in edge region of AC, if true return projection of P onto AC + DATA_TYPE vb = (d5 * d2) - (d1 * d6); + if (vb <= 0.0 && d2 >= 0.0 && d6 <= 0.0) + { + DATA_TYPE w = d2 / (d2 - d6); + return tri.mVerts[0] + w * ac; + } + + // check if p in edge region of BC, if true return projection of P onto BC + DATA_TYPE va = (d3 * d6) - (d5 * d4); + if (va <= 0.0 && (d4 -d3) >= 0.0 && (d5 - d6) >= 0.0) + { + DATA_TYPE w = (d4 -d3) / ((d4 - d3) + (d5 -d6)); + return tri.mVerts[1] + w * (tri.edge(1,2)); + } + + // P inside face region Compute Q trough barycentric coordinates + DATA_TYPE denom = 1.0 / (va + vb + vc); + DATA_TYPE v = vb * denom; + DATA_TYPE w = vc * denom; + return (tri.mVerts[0] + (ab * v) + (ac * w)); +} + +/** * Computes the point at the center of the given triangle. * * @param tri the triangle to find the center of This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 17:31:17
|
Revision: 1271 http://ggt.svn.sourceforge.net/ggt/?rev=1271&view=rev Author: patrickh Date: 2011-03-27 17:31:11 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Added an overload of gmtl::intersectDoubleSided() for Tri/LineSeg intersection that ignores the triangle winding. Submitted by: Sebastian Messerschmidt Modified Paths: -------------- trunk/ChangeLog trunk/gmtl/Intersection.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-03-27 17:26:29 UTC (rev 1270) +++ trunk/ChangeLog 2011-03-27 17:31:11 UTC (rev 1271) @@ -1,5 +1,9 @@ DATE AUTHOR CHANGE ---------- ------------ ------------------------------------------------------- +2011-03-27 patrickh Added an overload of gmtl::intersectDoubleSided() for + Tri/LineSeg intersection that ignores the triangle + winding. + Submitted by Sebastian Messerschmidt 2011-03-27 patrickh Added a new Sphere/Sphere intersection function. Submitted by Sebastian Messerschmidt 2010-11-21 patrickh gmtl.pc is once again generated for pkg-config usage. Modified: trunk/gmtl/Intersection.h =================================================================== --- trunk/gmtl/Intersection.h 2011-03-27 17:26:29 UTC (rev 1270) +++ trunk/gmtl/Intersection.h 2011-03-27 17:31:11 UTC (rev 1271) @@ -928,6 +928,45 @@ else { return false; } } + + /** + * Tests if the given triangle intersects with the given ray, from both + * sides. + * + * @param tri The triangle (ccw ordering). + * @param lineseg The line segment + * @param u Tangent space u-coordinate of the intersection. + * @param v Tangent space v-coordinate of the intersection. + * @param t An indicator of the intersection location. + * + * @post \p t gives you the intersection point: + * \code sect = lineseg.getDir() * t + lineseg.getOrigin() \endcode + * + * @return true if the lineseg intersects the triangle. + * + * @see from http://www.acm.org/jgt/papers/MollerTrumbore97/code.html + * + * @since 0.7.0 + */ + template<class DATA_TYPE> + bool intersectDoubleSided(const Tri<DATA_TYPE>& tri, + const LineSeg<DATA_TYPE>& lineseg, + DATA_TYPE& u, DATA_TYPE& v, DATA_TYPE& t) + { + const DATA_TYPE eps = static_cast<DATA_TYPE>(0.0001010101); + const DATA_TYPE l = length(lineseg.getDir()); + + if (eps < l) + { + Ray<DATA_TYPE> temp(lineseg.getOrigin(), lineseg.getDir()); + const bool result = intersectDoubleSided(tri, temp, u, v, t); + return result && t <= static_cast<DATA_TYPE>(1.0); + } + else + { + return false; + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 17:26:35
|
Revision: 1270 http://ggt.svn.sourceforge.net/ggt/?rev=1270&view=rev Author: patrickh Date: 2011-03-27 17:26:29 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Added a new Sphere/Sphere intersection function. Submitted by: Sebastian Messerschmidt Modified Paths: -------------- trunk/ChangeLog trunk/gmtl/Intersection.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2011-03-27 17:24:47 UTC (rev 1269) +++ trunk/ChangeLog 2011-03-27 17:26:29 UTC (rev 1270) @@ -1,5 +1,7 @@ DATE AUTHOR CHANGE ---------- ------------ ------------------------------------------------------- +2011-03-27 patrickh Added a new Sphere/Sphere intersection function. + Submitted by Sebastian Messerschmidt 2010-11-21 patrickh gmtl.pc is once again generated for pkg-config usage. [0.6.1 released - 5.20.2010]=================================================== Modified: trunk/gmtl/Intersection.h =================================================================== --- trunk/gmtl/Intersection.h 2011-03-27 17:24:47 UTC (rev 1269) +++ trunk/gmtl/Intersection.h 2011-03-27 17:26:29 UTC (rev 1270) @@ -48,6 +48,25 @@ } /** + * Tests if the given spheres intersect or touch. + * + * @param sphere1 first sphere + * @param sphere2 second sphere + * + * @return true if the spheres intersect or touch + * + * @since 0.7.0 + */ + template <class DATA_TYPE> + bool intersect(const Sphere<DATA_TYPE>& sphere1, + const Sphere<DATA_TYPE>& sphere2) + { + Vec<DATA_TYPE, 3> relativePosition(sphere1.mCenter - sphere2.mCenter); + DATA_TYPE distance = lengthSquared(relativePosition); + return distance <= (sphere1.mRadius + sphere2.mRadius) * (sphere1.mRadius + sphere2.mRadius); + } + + /** * Tests if the given AABox and point intersect with each other. On an edge IS * considered intersection by this algorithm. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 17:24:53
|
Revision: 1269 http://ggt.svn.sourceforge.net/ggt/?rev=1269&view=rev Author: patrickh Date: 2011-03-27 17:24:47 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Begin preparing for GMTL 0.7.0. Modified Paths: -------------- trunk/docs/version.mk.doxy trunk/gmtl/Version.h Modified: trunk/docs/version.mk.doxy =================================================================== --- trunk/docs/version.mk.doxy 2011-03-27 17:21:45 UTC (rev 1268) +++ trunk/docs/version.mk.doxy 2011-03-27 17:24:47 UTC (rev 1269) @@ -1,4 +1,4 @@ # This file can be included by a Doxygen configuration file to set the # project version number and by makefiles to accomplish the same. -PROJECT_NUMBER = 0.6.2 +PROJECT_NUMBER = 0.7.0 Modified: trunk/gmtl/Version.h =================================================================== --- trunk/gmtl/Version.h 2011-03-27 17:21:45 UTC (rev 1268) +++ trunk/gmtl/Version.h 2011-03-27 17:24:47 UTC (rev 1269) @@ -21,8 +21,8 @@ */ // The major/minor/patch version (up to 3 digits each). #define GMTL_VERSION_MAJOR 0 -#define GMTL_VERSION_MINOR 6 -#define GMTL_VERSION_PATCH 2 +#define GMTL_VERSION_MINOR 7 +#define GMTL_VERSION_PATCH 0 //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 17:21:52
|
Revision: 1268 http://ggt.svn.sourceforge.net/ggt/?rev=1268&view=rev Author: patrickh Date: 2011-03-27 17:21:45 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Added a note about where to get a version of CppUnit with the necessary patches required by the GMTL test suite. Modified Paths: -------------- trunk/README Modified: trunk/README =================================================================== --- trunk/README 2011-03-27 17:20:05 UTC (rev 1267) +++ trunk/README 2011-03-27 17:21:45 UTC (rev 1268) @@ -27,10 +27,11 @@ * A standards comformant C++ compiler with good template support * SCons 0.96 - If you wish to compile and use the tests in GMTL, you will also need the - following: + If you wish to compile and use the tests in GMTL, you will also need CppUnit. + GMTL uses a patched version of CppUnit, the most recent version of which is + available from teh VR Juggler Subversion respository: - * CppUnit 1.9.11 + http://code.google.com/p/vrjuggler/source/browse/#svn%2Fvendor%2Fcppunit%2F1.12.0 o------------------------------------------------------------------------------o This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-27 17:20:12
|
Revision: 1267 http://ggt.svn.sourceforge.net/ggt/?rev=1267&view=rev Author: patrickh Date: 2011-03-27 17:20:05 +0000 (Sun, 27 Mar 2011) Log Message: ----------- Silence API deprecation warnings from SCons. Modified Paths: -------------- trunk/SConstruct trunk/Test/TestSuite/SConscript trunk/python/SConscript trunk/tools/build/AutoDist.py Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2011-03-12 13:56:01 UTC (rev 1266) +++ trunk/SConstruct 2011-03-27 17:20:05 UTC (rev 1267) @@ -736,7 +736,7 @@ subdirs.append('Test') SConscript(dirs = subdirs) - env = baseEnv.Copy() + env = baseEnv.Clone() # Build up the provides vars for the .fpc files provides = "gmtl" Modified: trunk/Test/TestSuite/SConscript =================================================================== --- trunk/Test/TestSuite/SConscript 2011-03-12 13:56:01 UTC (rev 1266) +++ trunk/Test/TestSuite/SConscript 2011-03-27 17:20:05 UTC (rev 1267) @@ -14,7 +14,7 @@ sources.extend(testcases_sources) # Setup the runtests executable target -env = baseEnv.Copy() +env = baseEnv.Clone() ApplyCppUnitOptions(env) env.Append(CPPPATH = Split('#Test/TestSuite #')) Modified: trunk/python/SConscript =================================================================== --- trunk/python/SConscript 2011-03-12 13:56:01 UTC (rev 1266) +++ trunk/python/SConscript 2011-03-27 17:20:05 UTC (rev 1267) @@ -20,7 +20,7 @@ # Define the Python module -env = baseEnv.Copy() +env = baseEnv.Clone() # If using GCC, deal with ld O(n^2) algorithm. if env['CXX'][:3] == 'g++' and WhereIs('objcopy'): Modified: trunk/tools/build/AutoDist.py =================================================================== --- trunk/tools/build/AutoDist.py 2011-03-12 13:56:01 UTC (rev 1266) +++ trunk/tools/build/AutoDist.py 2011-03-27 17:20:05 UTC (rev 1267) @@ -109,7 +109,7 @@ # Clone the base environment if we have one if baseEnv: - self.data['env'] = baseEnv.Copy() + self.data['env'] = baseEnv.Clone() else: self.data['env'] = Environment() @@ -378,7 +378,7 @@ """ # Clone the base environment if we have one if baseEnv: - env = baseEnv.Copy() + env = baseEnv.Clone() else: env = Environment() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-03-12 13:56:08
|
Revision: 1266 http://ggt.svn.sourceforge.net/ggt/?rev=1266&view=rev Author: patrickh Date: 2011-03-12 13:56:01 +0000 (Sat, 12 Mar 2011) Log Message: ----------- Fixed the build of PyGMTL on Mac OS X when Python is not installed as a framework. Submitted by: Ryan Pavlik Modified Paths: -------------- trunk/SConstruct Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2011-01-03 01:54:22 UTC (rev 1265) +++ trunk/SConstruct 2011-03-12 13:56:01 UTC (rev 1266) @@ -126,7 +126,9 @@ exp = re.compile('^(.*)\/Python\.framework.*$') m = exp.search(distutils.sysconfig.get_config_var('prefix')) - framework_opt = '-F' + m.group(1) + framework_opt = None + if m: + framework_opt = '-F' + m.group(1) CXX = os.environ.get("CXX", WhereIs('g++')) @@ -138,8 +140,11 @@ LINK = CXX CXXFLAGS = ['-ftemplate-depth-256', '-DBOOST_PYTHON_DYNAMIC_LIB', - '-Wall', framework_opt, '-pipe'] + '-Wall', '-pipe'] + if framework_opt is not None: + CXXFLAGS.append(framework_opt) + compiler_ver = match_obj.group(1) compiler_major_ver = int(match_obj.group(2)) compiler_minor_ver = int(match_obj.group(3)) @@ -152,7 +157,10 @@ CXXFLAGS += ['-Wno-long-double', '-no-cpp-precomp'] SHLIBSUFFIX = distutils.sysconfig.get_config_var('SO') - SHLINKFLAGS = ['-bundle', framework_opt, '-framework', 'Python'] + SHLINKFLAGS = ['-bundle'] + + if framework_opt is not None: + SHLINKFLAGS.extend([framework_opt, '-framework', 'Python']) LINKFLAGS = [] # Enable profiling? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2011-01-03 01:54:33
|
Revision: 1265 http://ggt.svn.sourceforge.net/ggt/?rev=1265&view=rev Author: patrickh Date: 2011-01-03 01:54:22 +0000 (Mon, 03 Jan 2011) Log Message: ----------- Copyright update. Modified Paths: -------------- trunk/Test/TestSuite/Suites.h trunk/Test/TestSuite/TestCases/AABoxContainTest.cpp trunk/Test/TestSuite/TestCases/AABoxContainTest.h trunk/Test/TestSuite/TestCases/AABoxOpsTest.cpp trunk/Test/TestSuite/TestCases/AABoxOpsTest.h trunk/Test/TestSuite/TestCases/AABoxTest.cpp trunk/Test/TestSuite/TestCases/AABoxTest.h trunk/Test/TestSuite/TestCases/AxisAngleClassTest.cpp trunk/Test/TestSuite/TestCases/AxisAngleClassTest.h trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.cpp trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.h trunk/Test/TestSuite/TestCases/ContainmentTest.h trunk/Test/TestSuite/TestCases/ConvertTest.cpp trunk/Test/TestSuite/TestCases/ConvertTest.h trunk/Test/TestSuite/TestCases/CoordClassTest.cpp trunk/Test/TestSuite/TestCases/CoordClassTest.h trunk/Test/TestSuite/TestCases/CoordCompareTest.cpp trunk/Test/TestSuite/TestCases/CoordCompareTest.h trunk/Test/TestSuite/TestCases/CoordGenTest.cpp trunk/Test/TestSuite/TestCases/CoordGenTest.h trunk/Test/TestSuite/TestCases/EulerAngleClassTest.cpp trunk/Test/TestSuite/TestCases/EulerAngleClassTest.h trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.cpp trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.h trunk/Test/TestSuite/TestCases/InfoTests/OptTest.cpp trunk/Test/TestSuite/TestCases/InfoTests/OptTest.h trunk/Test/TestSuite/TestCases/IntersectionTest.cpp trunk/Test/TestSuite/TestCases/IntersectionTest.h trunk/Test/TestSuite/TestCases/LineSegTest.cpp trunk/Test/TestSuite/TestCases/LineSegTest.h trunk/Test/TestSuite/TestCases/MathTest.cpp trunk/Test/TestSuite/TestCases/MathTest.h trunk/Test/TestSuite/TestCases/MatrixClassTest.cpp trunk/Test/TestSuite/TestCases/MatrixClassTest.h trunk/Test/TestSuite/TestCases/MatrixCompareTest.cpp trunk/Test/TestSuite/TestCases/MatrixCompareTest.h trunk/Test/TestSuite/TestCases/MatrixGenTest.cpp trunk/Test/TestSuite/TestCases/MatrixGenTest.h trunk/Test/TestSuite/TestCases/MatrixOpsTest.cpp trunk/Test/TestSuite/TestCases/MatrixOpsTest.h trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.cpp trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.h trunk/Test/TestSuite/TestCases/MatrixTest.h trunk/Test/TestSuite/TestCases/MetaTest.h trunk/Test/TestSuite/TestCases/OOBoxTest.h trunk/Test/TestSuite/TestCases/OutputTest.cpp trunk/Test/TestSuite/TestCases/OutputTest.h trunk/Test/TestSuite/TestCases/ParametricCurveTest.cpp trunk/Test/TestSuite/TestCases/ParametricCurveTest.h trunk/Test/TestSuite/TestCases/PlaneTest.cpp trunk/Test/TestSuite/TestCases/PlaneTest.h trunk/Test/TestSuite/TestCases/PointTest.cpp trunk/Test/TestSuite/TestCases/PointTest.h trunk/Test/TestSuite/TestCases/QuatClassTest.cpp trunk/Test/TestSuite/TestCases/QuatClassTest.h trunk/Test/TestSuite/TestCases/QuatCompareTest.cpp trunk/Test/TestSuite/TestCases/QuatCompareTest.h trunk/Test/TestSuite/TestCases/QuatGenTest.cpp trunk/Test/TestSuite/TestCases/QuatGenTest.h trunk/Test/TestSuite/TestCases/QuatOpsTest.cpp trunk/Test/TestSuite/TestCases/QuatOpsTest.h trunk/Test/TestSuite/TestCases/QuatStuffTest.cpp trunk/Test/TestSuite/TestCases/QuatStuffTest.h trunk/Test/TestSuite/TestCases/QuatTest.h trunk/Test/TestSuite/TestCases/SphereTest.cpp trunk/Test/TestSuite/TestCases/SphereTest.h trunk/Test/TestSuite/TestCases/TriTest.cpp trunk/Test/TestSuite/TestCases/TriTest.h trunk/Test/TestSuite/TestCases/VecBaseTest.cpp trunk/Test/TestSuite/TestCases/VecBaseTest.h trunk/Test/TestSuite/TestCases/VecGenTest.cpp trunk/Test/TestSuite/TestCases/VecGenTest.h trunk/Test/TestSuite/TestCases/VecTest.cpp trunk/Test/TestSuite/TestCases/VecTest.h trunk/Test/TestSuite/TestCases/XformTest.cpp trunk/Test/TestSuite/TestCases/XformTest.h trunk/Test/TestSuite/runner.cpp trunk/gmtl/AABox.h trunk/gmtl/AABoxOps.h trunk/gmtl/AxisAngle.h trunk/gmtl/AxisAngleOps.h trunk/gmtl/Comparitors.h trunk/gmtl/Config.h trunk/gmtl/Containment.h trunk/gmtl/Coord.h trunk/gmtl/CoordOps.h trunk/gmtl/Defines.h trunk/gmtl/EulerAngle.h trunk/gmtl/EulerAngleOps.h trunk/gmtl/External/OpenSGConvert.h trunk/gmtl/Fit/GaussPointsFit.h trunk/gmtl/Frustum.h trunk/gmtl/FrustumOps.h trunk/gmtl/Generate.h trunk/gmtl/Helpers.h trunk/gmtl/Intersection.h trunk/gmtl/LineSeg.h trunk/gmtl/LineSegOps.h trunk/gmtl/Math.h trunk/gmtl/Matrix.h trunk/gmtl/MatrixOps.h trunk/gmtl/Misc/MatrixConvert.h trunk/gmtl/Numerics/Eigen.h trunk/gmtl/OOBox.h trunk/gmtl/Output.h trunk/gmtl/ParametricCurve.h trunk/gmtl/Plane.h trunk/gmtl/PlaneOps.h trunk/gmtl/Point.h trunk/gmtl/Quat.h trunk/gmtl/QuatOps.h trunk/gmtl/Ray.h trunk/gmtl/RayOps.h trunk/gmtl/Sphere.h trunk/gmtl/SphereOps.h trunk/gmtl/Tri.h trunk/gmtl/TriOps.h trunk/gmtl/Util/Assert.h trunk/gmtl/Util/Meta.h trunk/gmtl/Util/StaticAssert.h trunk/gmtl/Vec.h trunk/gmtl/VecBase.h trunk/gmtl/VecExprMeta.h trunk/gmtl/VecOps.h trunk/gmtl/VecOpsMeta.h trunk/gmtl/Version.h trunk/gmtl/Xforms.h trunk/gmtl/gmtl.h trunk/gmtl-config trunk/macros/gmtl.m4 trunk/python/src/gmtl/_AABox_double.cpp trunk/python/src/gmtl/_AABox_float.cpp trunk/python/src/gmtl/_AxisAngle_double.cpp trunk/python/src/gmtl/_AxisAngle_float.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_3_gmtl_AxisAngle_double.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_3_gmtl_EulerAngle_double_gmtl_XYZ.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_3_gmtl_EulerAngle_double_gmtl_ZXY.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_3_gmtl_EulerAngle_double_gmtl_ZYX.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_3_gmtl_Quat_double.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_4_gmtl_AxisAngle_double.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_4_gmtl_EulerAngle_double_gmtl_XYZ.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_4_gmtl_EulerAngle_double_gmtl_ZXY.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_4_gmtl_EulerAngle_double_gmtl_ZYX.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_double_4_gmtl_Quat_double.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_3_gmtl_AxisAngle_float.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_3_gmtl_EulerAngle_float_gmtl_XYZ.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_3_gmtl_EulerAngle_float_gmtl_ZXY.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_3_gmtl_EulerAngle_float_gmtl_ZYX.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_3_gmtl_Quat_float.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_4_gmtl_AxisAngle_float.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_4_gmtl_EulerAngle_float_gmtl_XYZ.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_4_gmtl_EulerAngle_float_gmtl_ZXY.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_4_gmtl_EulerAngle_float_gmtl_ZYX.cpp trunk/python/src/gmtl/_Coord_gmtl_Vec_float_4_gmtl_Quat_float.cpp trunk/python/src/gmtl/_EulerAngle_float_gmtl_XYZ.cpp trunk/python/src/gmtl/_EulerAngle_float_gmtl_ZXY.cpp trunk/python/src/gmtl/_EulerAngle_float_gmtl_ZYX.cpp trunk/python/src/gmtl/_Frustum_double.cpp trunk/python/src/gmtl/_Frustum_float.cpp trunk/python/src/gmtl/_LineSeg_double.cpp trunk/python/src/gmtl/_LineSeg_float.cpp trunk/python/src/gmtl/_Matrix_float_3_3.cpp trunk/python/src/gmtl/_Matrix_float_4_4.cpp trunk/python/src/gmtl/_Plane_double.cpp trunk/python/src/gmtl/_Plane_float.cpp trunk/python/src/gmtl/_Point_double_2.cpp trunk/python/src/gmtl/_Point_double_3.cpp trunk/python/src/gmtl/_Point_float_2.cpp trunk/python/src/gmtl/_Point_float_3.cpp trunk/python/src/gmtl/_Point_int_2.cpp trunk/python/src/gmtl/_Point_int_3.cpp trunk/python/src/gmtl/_Quat_double.cpp trunk/python/src/gmtl/_Quat_float.cpp trunk/python/src/gmtl/_Ray_double.cpp trunk/python/src/gmtl/_Ray_float.cpp trunk/python/src/gmtl/_Sphere_double.cpp trunk/python/src/gmtl/_Sphere_float.cpp trunk/python/src/gmtl/_Tri_double.cpp trunk/python/src/gmtl/_Tri_float.cpp trunk/python/src/gmtl/_Tri_int.cpp trunk/python/src/gmtl/_VecBase_double_2.cpp trunk/python/src/gmtl/_VecBase_double_3.cpp trunk/python/src/gmtl/_VecBase_double_4.cpp trunk/python/src/gmtl/_VecBase_float_2.cpp trunk/python/src/gmtl/_VecBase_float_3.cpp trunk/python/src/gmtl/_VecBase_float_4.cpp trunk/python/src/gmtl/_VecBase_int_2.cpp trunk/python/src/gmtl/_VecBase_int_3.cpp trunk/python/src/gmtl/_VecBase_int_4.cpp trunk/python/src/gmtl/_Vec_double_2.cpp trunk/python/src/gmtl/_Vec_double_3.cpp trunk/python/src/gmtl/_Vec_double_4.cpp trunk/python/src/gmtl/_Vec_float_2.cpp trunk/python/src/gmtl/_Vec_float_3.cpp trunk/python/src/gmtl/_Vec_float_4.cpp trunk/python/src/gmtl/_Vec_int_2.cpp trunk/python/src/gmtl/_Vec_int_3.cpp trunk/python/src/gmtl/_Vec_int_4.cpp trunk/python/src/gmtl/_gmtl_AABoxOps_h.cpp trunk/python/src/gmtl/_gmtl_AxisAngleOps_h.cpp trunk/python/src/gmtl/_gmtl_Containment_h.cpp trunk/python/src/gmtl/_gmtl_CoordOps_h.cpp trunk/python/src/gmtl/_gmtl_Defines_h.cpp trunk/python/src/gmtl/_gmtl_EulerAngleOps_h.cpp trunk/python/src/gmtl/_gmtl_FrustumOps_h.cpp trunk/python/src/gmtl/_gmtl_Generate_h.cpp trunk/python/src/gmtl/_gmtl_LineSegOps_h.cpp trunk/python/src/gmtl/_gmtl_Math_h.cpp trunk/python/src/gmtl/_gmtl_MatrixOps_h.cpp trunk/python/src/gmtl/_gmtl_PlaneOps_h.cpp trunk/python/src/gmtl/_gmtl_QuatOps_h.cpp trunk/python/src/gmtl/_gmtl_RayOps_h.cpp trunk/python/src/gmtl/_gmtl_SphereOps_h.cpp trunk/python/src/gmtl/_gmtl_TriOps_h.cpp trunk/python/src/gmtl/_gmtl_VecOps_h.cpp trunk/python/src/gmtl/_gmtl_Xforms_h.cpp trunk/python/src/gmtl/_gmtl_containment_wrappers_h.cpp trunk/python/src/gmtl/_gmtl_intersect_wrappers_h.cpp trunk/python/src/gmtl/_gmtl_wrappers_h.cpp trunk/python/src/gmtl/gmtl.cpp trunk/python/src/gmtl-AABoxOps.h trunk/python/src/gmtl-AxisAngleOps.h trunk/python/src/gmtl-Containment.h trunk/python/src/gmtl-CoordOps.h trunk/python/src/gmtl-EulerAngleOps.h trunk/python/src/gmtl-FrustumOps.h trunk/python/src/gmtl-Generate.h trunk/python/src/gmtl-LineSegOps.h trunk/python/src/gmtl-MatrixOps.h trunk/python/src/gmtl-PlaneOps.h trunk/python/src/gmtl-QuatOps.h trunk/python/src/gmtl-RayOps.h trunk/python/src/gmtl-SphereOps.h trunk/python/src/gmtl-TriOps.h trunk/python/src/gmtl-VecOps.h trunk/python/src/gmtl-Xforms.h trunk/python/src/gmtl-array-wrappers.h trunk/python/src/gmtl-callable-wrappers.h trunk/python/src/gmtl-containment-wrappers.h trunk/python/src/gmtl-getData-wrappers.h trunk/python/src/gmtl-intersect-wrappers.h trunk/python/src/gmtl-pickle.h trunk/python/src/gmtl-wrappers.h trunk/python/test/testsuite.py Modified: trunk/Test/TestSuite/Suites.h =================================================================== --- trunk/Test/TestSuite/Suites.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/Suites.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AABoxContainTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/AABoxContainTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AABoxContainTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AABoxContainTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/AABoxContainTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AABoxContainTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AABoxOpsTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/AABoxOpsTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AABoxOpsTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AABoxOpsTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/AABoxOpsTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AABoxOpsTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AABoxTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/AABoxTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AABoxTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AABoxTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/AABoxTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AABoxTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AxisAngleClassTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/AxisAngleClassTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AxisAngleClassTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AxisAngleClassTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/AxisAngleClassTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AxisAngleClassTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/AxisAngleCompareTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/ContainmentTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/ContainmentTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/ContainmentTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/ConvertTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/ConvertTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/ConvertTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/ConvertTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/ConvertTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/ConvertTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/CoordClassTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/CoordClassTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/CoordClassTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/CoordClassTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/CoordClassTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/CoordClassTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/CoordCompareTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/CoordCompareTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/CoordCompareTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/CoordCompareTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/CoordCompareTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/CoordCompareTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/CoordGenTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/CoordGenTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/CoordGenTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/CoordGenTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/CoordGenTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/CoordGenTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/EulerAngleClassTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/EulerAngleClassTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/EulerAngleClassTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/EulerAngleClassTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/EulerAngleClassTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/EulerAngleClassTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/EulerAngleCompareTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/InfoTests/OptTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/InfoTests/OptTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/InfoTests/OptTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/InfoTests/OptTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/InfoTests/OptTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/InfoTests/OptTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/IntersectionTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/IntersectionTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/IntersectionTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/IntersectionTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/IntersectionTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/IntersectionTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/LineSegTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/LineSegTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/LineSegTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/LineSegTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/LineSegTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/LineSegTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MathTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/MathTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MathTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MathTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MathTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MathTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixClassTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixClassTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixClassTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixClassTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixClassTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixClassTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixCompareTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixCompareTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixCompareTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixCompareTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixCompareTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixCompareTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixGenTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixGenTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixGenTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixGenTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixGenTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixGenTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixOpsTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixOpsTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixOpsTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixOpsTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixOpsTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixOpsTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixStateTrackingTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MatrixTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MatrixTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MatrixTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/MetaTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/MetaTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/MetaTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/OOBoxTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/OOBoxTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/OOBoxTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/OutputTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/OutputTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/OutputTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/OutputTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/OutputTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/OutputTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/ParametricCurveTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/ParametricCurveTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/ParametricCurveTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/ParametricCurveTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/ParametricCurveTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/ParametricCurveTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/PlaneTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/PlaneTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/PlaneTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/PlaneTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/PlaneTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/PlaneTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/PointTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/PointTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/PointTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/PointTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/PointTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/PointTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatClassTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/QuatClassTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatClassTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatClassTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/QuatClassTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatClassTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatCompareTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/QuatCompareTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatCompareTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatCompareTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/QuatCompareTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatCompareTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatGenTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/QuatGenTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatGenTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatGenTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/QuatGenTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatGenTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatOpsTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/QuatOpsTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatOpsTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatOpsTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/QuatOpsTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatOpsTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatStuffTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/QuatStuffTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatStuffTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatStuffTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/QuatStuffTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatStuffTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/QuatTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/QuatTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/QuatTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/SphereTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/SphereTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/SphereTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/SphereTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/SphereTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/SphereTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/TriTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/TriTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/TriTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/TriTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/TriTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/TriTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/VecBaseTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/VecBaseTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/VecBaseTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/VecBaseTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/VecBaseTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/VecBaseTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/VecGenTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/VecGenTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/VecGenTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/VecGenTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/VecGenTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/VecGenTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/VecTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/VecTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/VecTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/VecTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/VecTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/VecTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/XformTest.cpp =================================================================== --- trunk/Test/TestSuite/TestCases/XformTest.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/XformTest.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/TestCases/XformTest.h =================================================================== --- trunk/Test/TestSuite/TestCases/XformTest.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/TestCases/XformTest.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/Test/TestSuite/runner.cpp =================================================================== --- trunk/Test/TestSuite/runner.cpp 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/Test/TestSuite/runner.cpp 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/gmtl/AABox.h =================================================================== --- trunk/gmtl/AABox.h 2010-11-21 18:05:22 UTC (rev 1264) +++ trunk/gmtl/AABox.h 2011-01-03 01:54:22 UTC (rev 1265) @@ -1,4 +1,4 @@ -// GMTL is (C) Copyright 2001-2010 by Allen Bierbaum +// GMTL is (C) Copyright 2001-2011 by Allen Bierbaum // Distributed under the GNU Lesser General Public License 2.1 with an // addendum covering inlined code. (See accompanying files LICENSE and // LICENSE.addendum or http://www.gnu.org/copyleft/lesser.txt) Modified: trunk/gmtl/AABoxOps.h =================================================================== --- trunk/gmtl/AABoxOps.h 2010-11-21 18:05:22 UTC (rev 1264... [truncated message content] |
From: <pat...@us...> - 2010-11-21 18:05:29
|
Revision: 1264 http://ggt.svn.sourceforge.net/ggt/?rev=1264&view=rev Author: patrickh Date: 2010-11-21 18:05:22 +0000 (Sun, 21 Nov 2010) Log Message: ----------- Generate gmtl.pc (for pkg-config) use from gmtl.fpc.in. This addresses feature request #3102319. Bumped the version to 0.6.2. Submitted by: Johannes Zarl Modified Paths: -------------- trunk/ChangeLog trunk/SConstruct trunk/docs/version.mk.doxy trunk/gmtl/Version.h trunk/gmtl.fpc.in Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-21 17:54:40 UTC (rev 1263) +++ trunk/ChangeLog 2010-11-21 18:05:22 UTC (rev 1264) @@ -1,5 +1,7 @@ DATE AUTHOR CHANGE ---------- ------------ ------------------------------------------------------- +2010-11-21 patrickh gmtl.pc is once again generated for pkg-config usage. + [0.6.1 released - 5.20.2010]=================================================== 2010-05-20 patrickh Added gmtl::ParametericCurve, gmtl::LinearCurve, gmtl::QuadraticCurve, and gmtl::CubicCurve. Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2010-11-21 17:54:40 UTC (rev 1263) +++ trunk/SConstruct 2010-11-21 18:05:22 UTC (rev 1264) @@ -701,14 +701,15 @@ base_inst_paths['lib'] = pj(base_inst_paths['base'], 'lib') base_inst_paths['share'] = pj(base_inst_paths['base'], 'share') base_inst_paths['flagpoll'] = pj(base_inst_paths['share'], 'flagpoll') + base_inst_paths['pkgconfig'] = pj(base_inst_paths['lib'], 'pkgconfig') base_inst_paths['bin'] = pj(base_inst_paths['base'], 'bin') include_dir = pj(base_inst_paths['base'], 'include') - base_inst_paths['include'] = pj('${fp_file_cwd}' ,'..' ,'..', 'include') + base_inst_paths['include'] = pj(base_inst_paths['base'], 'include') if baseEnv['versioning'] == 'yes' and not sys.platform.startswith("win"): include_version = "gmtl-%s.%s.%s" % GetGMTLVersion() include_dir = pj(include_dir, include_version) - base_inst_paths['include'] = pj('${fp_file_cwd}' ,'..' ,'..', 'include', + base_inst_paths['include'] = pj(base_inst_paths['base'], 'include', include_version) print "using prefix:", base_inst_paths['base'] @@ -743,7 +744,7 @@ # Build up substitution map submap = { '@provides@' : provides, - '@prefix@' : pj('${fp_file_cwd}', '..', '..'), + '@prefix@' : base_inst_paths['base'], '@exec_prefix@' : '${prefix}', '@gmtl_cxxflags@' : '', '@includedir@' : base_inst_paths['include'], @@ -760,9 +761,14 @@ 'gmtl.fpc.in', submap = submap) env.AddPostAction(gmtl_fpc, Chmod('$TARGET', 0644)) env.Depends(gmtl_fpc, 'gmtl/Version.h') + gmtl_pc = env.SubstBuilder(pj(base_inst_paths['pkgconfig'], "gmtl.pc"), + 'gmtl.fpc.in', submap = submap) + env.AddPostAction(gmtl_pc, Chmod('$TARGET', 0644)) + env.Depends(gmtl_pc, 'gmtl/Version.h') installed_targets += env.Install(base_inst_paths['bin'], 'gmtl-config') installed_targets += gmtl_fpc + installed_targets += gmtl_pc pkg.build() installed_targets += pkg.getInstalledTargets() Modified: trunk/docs/version.mk.doxy =================================================================== --- trunk/docs/version.mk.doxy 2010-11-21 17:54:40 UTC (rev 1263) +++ trunk/docs/version.mk.doxy 2010-11-21 18:05:22 UTC (rev 1264) @@ -1,4 +1,4 @@ # This file can be included by a Doxygen configuration file to set the # project version number and by makefiles to accomplish the same. -PROJECT_NUMBER = 0.6.1 +PROJECT_NUMBER = 0.6.2 Modified: trunk/gmtl/Version.h =================================================================== --- trunk/gmtl/Version.h 2010-11-21 17:54:40 UTC (rev 1263) +++ trunk/gmtl/Version.h 2010-11-21 18:05:22 UTC (rev 1264) @@ -22,7 +22,7 @@ // The major/minor/patch version (up to 3 digits each). #define GMTL_VERSION_MAJOR 0 #define GMTL_VERSION_MINOR 6 -#define GMTL_VERSION_PATCH 1 +#define GMTL_VERSION_PATCH 2 //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- Modified: trunk/gmtl.fpc.in =================================================================== --- trunk/gmtl.fpc.in 2010-11-21 17:54:40 UTC (rev 1263) +++ trunk/gmtl.fpc.in 2010-11-21 18:05:22 UTC (rev 1264) @@ -1,3 +1,4 @@ +prefix=@prefix@ exec_prefix=@exec_prefix@ cxxflags=@gmtl_cxxflags@ includedir=@includedir@ @@ -11,4 +12,4 @@ Libs: Cflags: -I${includedir} Arch: @arch@ -prefix: @prefix@ +prefix: ${prefix} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |