artoolkit-commits Mailing List for ARToolKit (Page 2)
Optical marker tracking and overlay for augmented reality.
Brought to you by:
philip_lamb
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(65) |
Dec
(32) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(5) |
Mar
(15) |
Apr
(22) |
May
|
Jun
(9) |
Jul
(108) |
Aug
(42) |
Sep
(62) |
Oct
(5) |
Nov
|
Dec
(4) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
(38) |
May
(27) |
Jun
(58) |
Jul
(8) |
Aug
(11) |
Sep
(51) |
Oct
(15) |
Nov
(12) |
Dec
(3) |
2007 |
Jan
(25) |
Feb
(6) |
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
|
2008 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(20) |
Sep
(5) |
Oct
|
Nov
|
Dec
(2) |
2009 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: <ret...@us...> - 2008-08-20 04:18:41
|
Revision: 289 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=289&view=rev Author: retrakker Date: 2008-08-20 04:18:49 +0000 (Wed, 20 Aug 2008) Log Message: ----------- - added a more elaborate search mode for Windows SDK or internal Platform SDK - updated DSVL to honour the problem with qedit.h and the missing dxtrans.h - Note: qedit.h needs still to be fixed for both Windows 2003 Server SDK and Server 2008 SDK Unlike suggestion in [1] the newest DirectX SDK are missing this header. Following the suggestions by a Microsoft employee [1] this might be changed in the Windows 7 SDK 1) http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617687&SiteID=1 - added internal freeglut copy to support ia64 support on Windows Modified Paths: -------------- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_GraphManager.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_PixelFormat.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/IEEE1394_id.cpp Modified: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-08-20 04:18:49 UTC (rev 289) @@ -19,6 +19,16 @@ set(ARTOOLKIT_VERSION_TINY 3) set(ARTOOLKIT_VERSION_REV 99) +# +# Depending on what is available we work our way through +# +find_package(OpenGL) +find_package(GLUT) + + +# +# Preset some of the output directories +# set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Executable output folder") set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Library output folder") @@ -27,14 +37,17 @@ # if(MSVC) - set(GLUT_ROOT_PATH "${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin" CACHE PATH "GLUT root folder") - set(GLUT_glut_LIBRARY "${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.lib" CACHE FILENAME "GLUT include library") + set(FREEGLUT_ROOT_DIR "lib/SRC/_ext/freeglut") + + # compile internal GLUT copy + add_subdirectory(${FREEGLUT_ROOT_DIR}/src) + + # + # Add our internal copy of FreeGLUT + # + set(GLUT_ROOT_PATH "${CMAKE_SOURCE_DIR}/${FREEGLUT_ROOT_DIR}" CACHE PATH "GLUT root folder") + set(GLUT_LIBRARIES glut) - install(FILES - ${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.dll - DESTINATION bin - ) - endif(MSVC) if(WIN32) @@ -50,14 +63,7 @@ README.txt DESTINATION share/artoolkit_2 ) - -# -# Depending on what is available we work our way through -# -find_package(OpenGL) -find_package(GLUT) - if (APPLE) set(CMAKE_OSX_ARCHITECTURES ppc;i386) set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) Modified: branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake 2008-08-20 04:18:49 UTC (rev 289) @@ -8,12 +8,28 @@ # DirectShow is only available on Windows platforms IF(MSVC) + + set(MS_PLATFORMSDK_ROOT "") + if (MSVC71) + # + # On Visual Studio 2003 .NET (VS7.1) use the internal platform SDK + # + set(MS_PLATFORMSDK_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC;ProductDir]/PlatformSDK") + else(MSVC71) + # + # Otherwise use the Windows SDK - remember you need to patch the qedit.h header! + # + set(MS_PLATFORMSDK_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]") + # + # emit a message + # + message(STATUS "Remember to patch (remove dxtrans.h) the qedit.h header in the Windows SDK (${MS_PLATFORMSDK_ROOT})") + endif(MSVC71) + # Find DirectX Include Directory (dshow depends on it) FIND_PATH(DIRECTX_INCLUDE_DIR ddraw.h - # WindowsSDK: includes ddraw and dshow - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]/Include" - # VS 7.1 PlatformSDK: includes ddraw and dshow - "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC;ProductDir]/PlatformSDK/Include" + # Visual Studio product based PlatformSDK/Windows SDK + ${MS_PLATFORMSDK_ROOT}/Include # Newer DirectX: dshow not included; requires Platform SDK "$ENV{DXSDK_DIR}/Include" # Older DirectX: dshow included @@ -26,8 +42,8 @@ IF(DIRECTX_INCLUDE_DIR) FIND_PATH(DIRECTSHOW_INCLUDE_DIR dshow.h "${DIRECTX_INCLUDE_DIR}" - "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Include" - "C:/Program Files/Microsoft Platform SDK/Include" + "$ENV{ProgramFiles}/Microsoft Platform SDK for Windows Server 2003 R2/Include" + "$ENV{ProgramFiles}/Microsoft Platform SDK/Include" DOC "What is the path where the file dshow.h can be found" NO_DEFAULT_PATH ) @@ -80,8 +96,20 @@ SET(CMAKE_REQUIRED_INCLUDES ${DIRECTSHOW_INCLUDE_DIRS}) SET(CMAKE_REQUIRED_LIBRARIES ${DIRECTSHOW_LIBRARIES}) CHECK_CXX_SOURCE_COMPILES(" + + #include <atlbase.h> #include <dshow.h> + + // dxtrans.h is missing in latest SDKs + // please comment out dxtrans.h in qedit h + // and use the following block before including qedit.h in + // your own source code + #define __IDxtCompositor_INTERFACE_DEFINED__ + #define __IDxtAlphaSetter_INTERFACE_DEFINED__ + #define __IDxtJpeg_INTERFACE_DEFINED__ + #define __IDxtKey_INTERFACE_DEFINED__ + #include <qedit.h> int main() Modified: branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-08-20 04:18:49 UTC (rev 289) @@ -6,6 +6,8 @@ artoolkit_executable(${EXE_NAME} ${SRCS}) +message(STATUS "GLUT ${GLUT_LIBRARIES}") + target_link_libraries(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) artoolkit_exe_install(${EXE_NAME}) Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-08-20 04:18:49 UTC (rev 289) @@ -1,3 +1,10 @@ +############################################################################## +# CMake build system for ARToolKit 2.7.x # +# # +# (c) Copyright 2007-2008, HITLabNZ, Hartmut Seichter # +############################################################################## + + # Core library add_subdirectory(AR) add_subdirectory(ARMulti) @@ -6,16 +13,16 @@ add_subdirectory(Gl) # Video -IF (APPLE) - ADD_SUBDIRECTORY(VideoMacOSX) -ENDIF(APPLE) +if(APPLE) + add_subdirectory(VideoMacOSX) +endif(APPLE) if(WIN32) add_subdirectory(VideoWin32DirectShow) endif(WIN32) -IF (UNIX) - IF (USE_GSTREAMER) - ADD_SUBDIRECTORY(VideoGStreamer) - ENDIF(USE_GSTREAMER) -ENDIF(UNIX) +if(UNIX) + if(USE_GSTREAMER) + add_subdirectory(VideoGStreamer) + endif(USE_GSTREAMER) +endif(UNIX) Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_GraphManager.h =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_GraphManager.h 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_GraphManager.h 2008-08-20 04:18:49 UTC (rev 289) @@ -30,6 +30,10 @@ #include <atlbase.h> #include <dshow.h> +#define __IDxtCompositor_INTERFACE_DEFINED__ +#define __IDxtAlphaSetter_INTERFACE_DEFINED__ +#define __IDxtJpeg_INTERFACE_DEFINED__ +#define __IDxtKey_INTERFACE_DEFINED__ #include <qedit.h> #include <stllock.h> // CCritSec - Platform SDK Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.cpp =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.cpp 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.cpp 2008-08-20 04:18:49 UTC (rev 289) @@ -28,13 +28,10 @@ * Vienna, Austria. * ========================================================================*/ -#include <atlbase.h> -#include <dshow.h> -#include <qedit.h> -#include <comutil.h> #include "DSVL_Helpers.h" + #include <cstring> #include <cstdlib> #include <cstdio> Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.h =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.h 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_Helpers.h 2008-08-20 04:18:49 UTC (rev 289) @@ -34,9 +34,16 @@ #include <atlbase.h> #include <dshow.h> + +#define __IDxtCompositor_INTERFACE_DEFINED__ +#define __IDxtAlphaSetter_INTERFACE_DEFINED__ +#define __IDxtJpeg_INTERFACE_DEFINED__ +#define __IDxtKey_INTERFACE_DEFINED__ + #include <qedit.h> #include <stllock.h> // CCritSec - Platform SDK #include <assert.h> +#include <comutil.h> #define ASSERT(x) assert(x); Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_PixelFormat.cpp =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_PixelFormat.cpp 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/DSVL_PixelFormat.cpp 2008-08-20 04:18:49 UTC (rev 289) @@ -32,6 +32,12 @@ #include <atlbase.h> #include <dshow.h> + +#define __IDxtCompositor_INTERFACE_DEFINED__ +#define __IDxtAlphaSetter_INTERFACE_DEFINED__ +#define __IDxtJpeg_INTERFACE_DEFINED__ +#define __IDxtKey_INTERFACE_DEFINED__ + #include <qedit.h> #include <GL\gl.h> Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/IEEE1394_id.cpp =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/IEEE1394_id.cpp 2008-08-20 03:55:26 UTC (rev 288) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/src/IEEE1394_id.cpp 2008-08-20 04:18:49 UTC (rev 289) @@ -33,6 +33,12 @@ //#include <streams.h> #include <atlbase.h> #include <dshow.h> + +#define __IDxtCompositor_INTERFACE_DEFINED__ +#define __IDxtAlphaSetter_INTERFACE_DEFINED__ +#define __IDxtJpeg_INTERFACE_DEFINED__ +#define __IDxtKey_INTERFACE_DEFINED__ + #include <qedit.h> #include <atlbase.h> #include <comutil.h> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-08-20 03:55:22
|
Revision: 288 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=288&view=rev Author: retrakker Date: 2008-08-20 03:55:26 +0000 (Wed, 20 Aug 2008) Log Message: ----------- - added freeglut 2.6 RC 1 internal copy - removed GLUT due to licensing issues and incapability to distribute 64bit binaries (changing code) Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/AUTHORS branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/COPYING branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/ChangeLog branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/FrequentlyAskedQuestions branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/LISEZ_MOI branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/NEWS branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/README branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/README.win32 branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/TODO branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/autogen.sh branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/configure.ac branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/download.html branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/freeglut.html branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/freeglut_logo.png branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/freeglut_user_interface.html branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/index.html branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/ogl_sm.png branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/progress.html branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/doc/structure.html branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.dep branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.dsw branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.kdevelop branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.kdevprj branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.lsm branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.mak branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.rc branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.spec branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.tgt branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut.wpj branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut_evc4.vcp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut_evc4.vcw branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut_static.dep branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut_static.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut_static.mak branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/freeglut_static.tgt branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/freeglut.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/freeglut_ext.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/freeglut_std.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/GL/glut.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/include/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/CallbackMaker/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/CallbackMaker/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/CallbackMaker/CallbackMaker.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/CallbackMaker/CallbackMaker.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/CallbackMaker/CallbackMakerStatic.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/CallbackMaker/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/Fractals.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/FractalsStatic.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/fractals.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals/fractals.dat branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/Fractals_random.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/Fractals_randomStatic.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/fractals.dat branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Fractals_random/fractals_random.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Lorenz/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Lorenz/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Lorenz/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Lorenz/lorenz.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Lorenz/lorenz.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Lorenz/lorenzStatic.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/One/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/One/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/One/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/One/one.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/One/one.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/One/oneStatic.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/demos.dsw branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/shapes/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/shapes/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/shapes/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/shapes/shapes.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/shapes/shapes.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/progs/demos/shapes/shapesStatic.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/.cvsignore branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/Makefile.am branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_callbacks.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_cursor.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_display.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_ext.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_font.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_font_data.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_gamemode.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_geometry.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_glutfont_definitions.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_init.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_input_devices.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_internal.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_joystick.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_main.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_menu.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_misc.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_overlay.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_state.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_stroke_mono_roman.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_stroke_roman.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_structure.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_teapot.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_teapot_data.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_videoresize.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglut_window.c branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/freeglutdll.def branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/templates/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/templates/cpp_template branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/src/templates/header_template Removed Paths: ------------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/ Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/.cvsignore =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/.cvsignore (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/.cvsignore 2008-08-20 03:55:26 UTC (rev 288) @@ -0,0 +1,25 @@ +INSTALL +Makefile +Makefile.in +aclocal.m4 +autom4te.cache +autoscan.log +compile +config.guess +config.h +config.h.in +config.log +config.status +config.sub +configure +configure.scan +debugfiles.list +debugsources.list +depcomp +freeglut-*.tar.gz +install-sh +libtool +ltmain.sh +man-pages +missing +stamp-h1 Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/AUTHORS =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/AUTHORS (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/AUTHORS 2008-08-20 03:55:26 UTC (rev 288) @@ -0,0 +1,29 @@ +Pawel W. Olszta <ol...@so...> + the person to be blamed for freeglut + +Andreas Umbach <ma...@da...> + the first person to contribute to the freeglut project, + contributed the cube and sphere geometry code + +Steve Baker <sjb...@ai...> + joystick code (from his great PLIB), numerous hints + tips on the freeglut usability + and for taking the project over when Pawel bowed out + +Christopher John Purnell +Don Heyse +Dave McClurg +John F. Fay +Norman Vine +Daniel Wagner +Sven Panne <sve...@ae...> + contributing the project, using the product, and generally keeping it going + +Brian Paul +Eric Sandall + giving us the oomph! to make an official release + +James 'J.C.' Jones + designing the new website + +...and all the opengl-gamedev-l people that made Pawel start this project :) Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/COPYING =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/COPYING (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/COPYING 2008-08-20 03:55:26 UTC (rev 288) @@ -0,0 +1,27 @@ + + Freeglut Copyright + ------------------ + + Freeglut code without an explicit copyright is covered by the following + copyright: + + Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies or substantial portions of the Software. + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + Except as contained in this notice, the name of Pawel W. Olszta shall not be + used in advertising or otherwise to promote the sale, use or other dealings + in this Software without prior written authorization from Pawel W. Olszta. Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/ChangeLog =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/ChangeLog (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/freeglut/ChangeLog 2008-08-20 03:55:26 UTC (rev 288) @@ -0,0 +1,1216 @@ +********** Hey Emacs, please use -*- fundamental -*- mode! ********** + +Changes to Freeglut: + +Before and on October 22, 2002: + +(1) Many trivial changes (changing floating-point numbers to integers, for example) to reduce the number of compiler warnings + +(2) Removing "strlen" calls from for-loop headers to make things execute ever-so-slightly faster + +(3) Slight changes to the "glutSolidSphere" and "glutWireSphere" functions to reduce the number of calls to the sine and cosine functions and otherwise make it slightly more efficient + +(4) Added wire and solid torus, wire and solid dodecahedron, wire and solid octahedron, wire and solid tetrahedron, and wire and solid icosahedron + +(5) Fixed a bug by which the GLUT menu now draws even when nothing else is happening in the window + +(6) Fixed a bug by which freeglut now tracks which window text is being entered into + +(7) Added code to adjust for the thickness of the window borders and header bar when resizing and repositioning a window + +October 23, 2002: + +(8) Added a window destroy callback for freeglut to call the application when a window is closed. Made freeglut call "exit" if there is no window destroy callback. + +October 24, 2002: + +(8b) Also started working on the code to implement the other behaviors when the user clicks on the "x" on the window header bar. + +(9) Added the "glutSetOption" function, the "GLUT_ACTION_ON_WINDOW_CLOSE" enumeration, and its allowed values + +(10) Added code to check whether a window is a subwindow in the reposition and reshape functions. If it is a subwindow, do not adjust the position and size for the window border. + +(11) Added code to fix the drawing of subwindows inside of windows. The Windows implementation uses "GetWindowRect" which uses coordinates relative to the screen corner, not the parent window corner. + +(12) Modified the code to open a window so that the freeglut window now matches the GLUT window. + +(13) Added an ugly hack to the main loop function to call each window's visibility callback before jumping into the main loop. This fixes the behaviour of several of the demo programs. + + + +******************************************************************************************* +* Sent a copy of the files to Steve Baker 10/24/02. +******************************************************************************************* + +(14) Reworked the "freeglut_font.c" file pretty thoroughly to speed things up a bit, to add the "glutStrokeString" function, and to make the "glutStrokeLength" function return an accurate value for long strings. Also allowed the string functions to handle character strings containing carriage returns. + +(15) Moved the "fgState" structure initialization in "freeglut_init.c" out of "fgInitialize" to set them at compile time. Also added it to "fgDeinitialize" to reset the state. + +(16) Recoded a bit in "glutInit" to speed things up slightly + +(17) Added "#pragma warning ( once: 4305 )" directives to the stroke font files so that I don't get 4000 compiler warnings about assigning double precision constants to single precision variables + +(18) Added a state enumeration (initializing, running, stopping) and flag to the "fgState" structure. Modified the window closure and main loop code to use the enumeration instead of local variables. + +(19) Fixed the "glutPositionWindow" so that if you get and retrieve the window position twenty times in a row the window won't slide down the screen. + +(20) Recoded the "glut*Cone" functions so that they have normals on the curved surface and so that the "base" argument is really the radius of the base of the cone. + +(21) Added code to render a rhombic dodecahedron in the geometry library. + +(22) Started work on a "glutInitDisplayString" function. I have provided a framework; I will need some serious help in interpreting the results. + +(23) Modified the "fgDisplayMenu" so that the matrix mode is GL_MODELVIEW instead of GL_PROJECTION when execution returns to its calling function. I have no idea why, but this fixes some display problems in some of the demos. Part (or all) of the display was blanking out when the user brought up a menu. + +(24) Added four "pragma comment" lines to "freeglut.h" so that freeglut will automatically (under Windows) include "winmm.lib", "opengl32.lib", "glu32.lib", and "freeglut.lib". This way the application doesn't have to do this by hand. + +(25) Fixed the window positioning code so that if the border is going to extend above the top of the screen, it gets set to the top of the screen. + +(26) Added right-arrows to menu entries which have submenus. Also modified the submenu position so that it comes down to the right or to the left of the parent menu. + +(27) Recoded a good bit of the menu processing to make the menus behave more like GLUT menus. + +******************************************************************************************* +* Sent a copy of the files to Steve Baker 10/31/02. Also posted these on the reflector. +******************************************************************************************* + +(28) Added parentheses to the Windows version of setting the "State.Modifiers" to allow for precedence of operators. Also modified the code so that it follows the "getKeyState" return value specification. + +(29) Made the window event handler check for the existence of a window for all messages except the "create" message + +(30) Changed the order of events in the window closure function so that the window would still be in the windows structure when the closure message to Windows was sent. + +(31) Made some more changes to the window closure code so that it works from both clicking on the "x" and from a "glutDestroyWindow" call + +******************************************************************************************* +* Sent a copy of the files to Steve Baker 10/31/02 as an update. Also posted these on the reflector. +******************************************************************************************* + +(32) Added "glutLeaveMainLoop" function. + +(33) Added "glutMainLoopEvent" function. This processes a single iteration through the "glutMainLoop" and is (theoretically) usable for re-entrant GLUT code. + +(34) Implemented the "WM_KEYUP" and "WM_SPECIALKEYUP" callbacks in the Windows version. + +(35) Added normals to the "glutWireCube" function + +(36) Recoded "glutGetExtension" to remove a <Steve, cover your eyes> "goto" statement </Steve, cover your eyes> from the code. + +(37) Marked the "glutSetKeyRepeat" function as deprecated. + +(38) Implemented most of the Windows version of the "fghGetConfig" function. + +******************************************************************************************* +* Took up the project again November 19. +******************************************************************************************* + +(39) Added two missing characters to each of the bitmapped fonts. + +(40) Added "glutSierpinskiSponge" to the geometry file. I can take it out if people object. + +(41) Added a linked list of windows to close so that if you destroy a window from within its callback the program won't terminate on error. + +(42) Added a call to "free" in the joystick code so we wouldn't have a memory leak. Also fixed another memory leak. + +(43) Fixed the bitmapped Helvetica 12 and Helvetica 18 fonts so they now match the GLUT fonts. + +******************************************************************************************* +* Sent the files to Don Heyse on November 27 for inclusion in CVS. +******************************************************************************************* + +(44) Fixed the other bitmapped fonts so they now match the GLUT fonts. There are some differences in the placement of the bit patterns within the characters, but the greatest difference is only a pixel or two. + +(45) Added DLL capability. Changed the names of the outputs so that the static library is "freeglut_static.lib" and the names of the DLL file and its interface file are "freeglut.dll" and "freeglut.lib". + +(46) Moved the "freeglut_internal.h" file from the public include directory to the private source code directory. + +(47) Split the "freeglut.h" file into a "glut.h" file that is compatible with GLUT and a "freeglut_ext.h" file that contains the new extensions. + +******************************************************************************************* +* Changes starting in May 2003 +******************************************************************************************* + +(48) Changed "freeglut_main.c" to allow the Windows version to pass the mouse position to the keystroke callbacks + +(49) Changed "freeglut_main.c" in the Unix section to move the call to find the event's window to before the "switch" statement. + +(50) Changed "freeglut_main.c" in the Unix section to modify the window closure sequence of events slightly. + +(51) Changed "freeglut_state.c" so the "glutGet" calls with window position and size don't move the windows down and to the right one pixel. + +(52) Implement single-buffered rendering (or its emulation) in Windows. + +(53) Implement Eero Pajarre's "GLUT_ICON" code. + +(54) Fixes for the window positioning problem. + +(55) Fixed a couple of compiler warnings and other bugs. Changed "freeglut_main.c" to remove a compiler warning. Changed "freeglut_structure.c" to set the current window before calling the window closure callback. + + +******************************************************************************************* +* Changes on 17-19 June 2003 +******************************************************************************************* + +(56) Added glutGetProcAddress() + +(57) Added GLUT_FPS env var. + +(58) Implemented Aleksandar Donev's user data changes: added user data fields to window and menu structures and implemented functions to get and set them + +(59) Added a "MenuDestroy" callback which sets a function that "freeglut" calls when a menu is destroyed. + + + +******************************************************************************************* +* Changes on 20 June 2003 +******************************************************************************************* + +(60) Added autogen.sh (#30 from todo.txt) + +(70) Updated aclocal.m4 with aclocal 1.7.3 (was created with aclocal 1.5) + +(71) Changed all references to the 'freeglut-1.3' directory to 'src', copied 'freeglut-1.3' to 'src' and added all files to the repository (TODO #34). + + +******************************************************************************************* +* Changes on 24 June 2003 +******************************************************************************************* + +(80) Fixed autogen.sh and removed aclocal.m4 + +(81) Added 'freeglut.kdevelop' (Gideon [Kdevelop 3.0]) project file + + +******************************************************************************************* +* Changes on 24 June 2003 +******************************************************************************************* + +(82) Added 'freeglut_ext.c' to the project files 'freeglut.dsp' and 'freeglut_static.dsp' (New list #10) + + +******************************************************************************************* +* Changes on 27 June 2003 +******************************************************************************************* + +(83) Now installs freeglut_ext.h and glut.h to /usr/include/GL (was missing before) + + +******************************************************************************************* +* Changes on 01 July 2003 +******************************************************************************************* + +(84) Fixed the 'ptr + len' problem in freeglut_misc.c:90 + + +******************************************************************************************* +* Changes on 02 July 2003 +******************************************************************************************* + +(85) Removed genfonts/genstrokes code, updated configure.in and Makefile.in + +(86) Moved tests/one.c into progs/demos/One/one.c, updated configure.in and Makefile.in + +(87) Removed tests directory + + +******************************************************************************************* +* Changes on 03 July 2003 +******************************************************************************************* + +(88) Removed unused char *ptr from freeglut_misc.c + +******************************************************************************************* +* Changes on 17 July 2003 +******************************************************************************************* + +(89) Changed the overlay (freeglut_state.c:662) to return FALSE, as it's not implemented yet. + +(90) Applied John F. Fay's fixes to freeglut.dsp and freeglut_static.dsp + + +******************************************************************************************* +* Changes on 21 July 2003 +******************************************************************************************* + +(91) src/Makefile.am:38 Changed versioning to 11:0:8 thanks to Bernhard Kaindl + + +******************************************************************************************* +* Changes on 22 July 2003 +******************************************************************************************* + +(92) freeglut.lsm:3 Removed 'beta' label for next release, thanks to Bernhard Kaindl. + + +******************************************************************************************* +* Changes on 23 July 2003 +******************************************************************************************* + +(93) doc/Makefile.am:4 Removed trailing backslash and added an empty last line + +(94) src/freeglut_window.c Windowing fixes from John F. + + +******************************************************************************************* +* Changes on 23 July 2003 +******************************************************************************************* + +(95) src/freeglut_initial.c:91 Added check for SOLARIS OS (Dave Reed) + +(96) src/freeglut_window.c:551 Removed extra carriage return for Windows users (John F. Fay) + + +******************************************************************************************* +* Changes on 05 August 2003 +******************************************************************************************* + +(97) src/freeglut_main.c:816 and :1571, set the current window (John F. Fay) + +(98) src/Makefile.am:34 Added mwmborder.c + +(99) src/freeglut_window.c:67 Removed #included "mwmborder.c" + +******************************************************************************************* +* Changes on 10 August 2003 +******************************************************************************************* + +(100) GameMode fixes: src/freeglut_gamemode.c src/freeglut_internal.h src/freeglut_window.c + + src/freeglut_gamemode.c: + fghRememberState(): remember original XFree86 ViewPort + fghRememberState(): remember original pointer position + fghRestoreState(): restore original pointer position + fghRestoreState(): restore original XFree86 ViewPort + fghChangeDisplayMode(): fix glutGameModeGet(GLUT_GAME_MODE_POSSIBLE) + fghChangeDisplayMode(): remove superflous attempt to change ViewPort + glutEnterGameMode(): move special XMoveWindow() from generic code here + glutEnterGameMode(): call XSync() to avoid races with XPointer calls + glutEnterGameMode(): call to XWarpPointer() to ensure that the pointer is grabbed + glutEnterGameMode(): wait until window is viewable to avoid exit on XSetInputFocus + glutEnterGameMode(): move decorations away to fix fullscreen w/ max resolution + + src/freeglut_internal.h: + struct tagSFG_Display: add fields for saving viewport and pointer position + + src/freeglut_window.c: + fgOpenWindow(): remove obsolete special case for GameModeEnter() + +******************************************************************************************* +* Changes up to September 12, 2003 +******************************************************************************************* + +(101) Include files: Underscores added to the defined constants which prevent multiple inclusions + +(102) String functions: Arguments changed from "char *" to "unsigned char *" for compatibility with GLUT + +(103) Added several explicit type casts to allow compilation with "Dev C++" compiler + +(104) Quite a bit of debugging of the menus in their menu windows + +(105) Removed "glib" dependency from joystick code; now it compiles under FreeBSD + +(106) Removed the "fgCleanUpGlutsMess" function because it was redundant + + +******************************************************************************************* +* Changes on September 13, 2003 +******************************************************************************************* + +(107) Repaired DOS line endings in the MSVC project and workspace files + +(108) Fixed some relative paths in the MSVC demo project files + +(109) Fixed all the demo makefiles to ensure they compiled properly; included minor changes to some of the sources. + +(110) Fixed compiliation of freeglut_joystick.c on FreeBSD + +******************************************************************************************* +* Changes through September 24, 2003 +******************************************************************************************* + +(111) Fixed busy-wait bug in freeglut; now sleeps when there's nothing to do. + +(112) GLUT_SINGLE properly supported. + +(113) progs/demos/Fractals_random works. + +******************************************************************************************* +* Freeglut 2.0.0 Released on September 29, 2003! +******************************************************************************************* + +******************************************************************************************* +* Changes on October 1, 2003 +******************************************************************************************* + +(114) Support for more than 3 mouse-buttons (this allows 3+scroll-wheel to +workin X, for example). + +(115) Added 3rd party patch to make joystick code work on NetBSD (untested) +and on older versions of FreeBSD (also untested) + +******************************************************************************************* +* Changes on October 3, 2003 +******************************************************************************************* + +(116) Tweaking for the menu behavior on Linux regarding mice, etc. - John Fay + +******************************************************************************************* +* Changes on October 6, 2003 +******************************************************************************************* + +(117) freeglut_menu.c:328 Fix submenu triangle (John Fay) + +******************************************************************************************* +* Changes on October 8, 2003 +******************************************************************************************* + +(118) freeglut_menu.c:217,519,532: Fix menus to stay in the window (John Fay) + +(119) Fixed menu callbacks to set the current window. + +(120) Numerous GLUT-alikeness corrections made to the menus (UNIX_X11 +freeglut menus now look more like old UNIX/X11 GLUT menus). Placement +and highlighting of menus is greatly improved as well, and (at least +at compile-time) it is now easy to change fonts and colors for menus. + +(121) Fixed CreateNotify on X11 to act like ConfigureNotify. This +helps subwindows in freeglut behave more like top-level windows. (In +old GLUT, they behaved essentially the same, so we try to reproduce +that here.) + +******************************************************************************************* +* Changes on October 9, 2003 +******************************************************************************************* + +(122) Minor glutInit*() quibbles in some of the demos. Also applied a +change from John so that the affine-transform demos would work even if +they couldn't find their default set of transforms or the one named on +the command-line (a simpler one than even the default is built in). + +******************************************************************************************* +* Changes on October 11, 2003 +******************************************************************************************* + +(123) Disallow people to pass NULL in for glutDisplayFunc(). + +(124) More menu fixes from John. + +(125) Check the memory allocation of timers. + +(126) Some code style/readability issues. + +******************************************************************************************* +* Changes on October 11, 2003 +******************************************************************************************* + +(127) Fleshed out all missing cursor types on NetBSD (UNIX_X11) for the +glutSetCursor() call. GLUT_CURSOR_NONE still required work. Fixes +included: Adding numerous types required by GLUT but previously missing +in freeglut, reversing the left/right glyphs, and some just-plain-wrong +glyphs corrected. + +******************************************************************************************* +* Changes on October 13, 2003 +******************************************************************************************* + +(128) Removed obsolete hack (or ill-conceived dream) of fgDisplayCursor(). + +(129) Modified the the fractal demos so that they don't clear/redraw quite +so often. + +(129) Code readability/style issues. + +******************************************************************************************* +* Changes on October 14, 2003 +******************************************************************************************* + +(130) More style issues. + +******************************************************************************************* +* Freeglut 2.0.1 Released on 23 October, 2003! +******************************************************************************************* + +******************************************************************************************* +* Changes on October 26, 2003 +******************************************************************************************* + +(131) Made freeglut know the program's name (fetch from main()'s argv[0]). + +(132) Moved idle callback out of glutMainLoopEvent(). + +(133) Committed Nigel's fix to make the joystick set the current window before +invoking the callback. (Completes the closeout of an open bug report, +once verified.) + +(134) Added some error-checking of memory allocations. + +(135) More style issues. + +******************************************************************************************* +* Changes on October 27, 2003 +******************************************************************************************* + +(136) Partially unified the UNIX_X11 and WIN32 branches of glutMainLoopEvent() + +(137) Updated comments, other style issues. Check for some NULL pointers. + +******************************************************************************************* +* Changes on October 28, 2003 +******************************************************************************************* + +(138) More style issues. + +(139) Mouse-wheel support added for WIN32. API extension generally +added to freeglut. + +******************************************************************************************* +* Changes on October 29, 2003 +******************************************************************************************* + +(140) Fixed a bug in fgWarning()/fgError(). Added range-check to +glutSetKeyRepeat(). + +(141) More style issues. + +(142) Removed bogus references to "Linux" in freeglut_state.c. +The references should have properly been to UNIX and/or X11. GNU/LINUX +emulates UNIX, and X11 is the windowing system that runs on most graphics- +capable UNIX systems (including most GNU/LINUX systems). freeglut should +run on any sufficiently UNIX-like system with OpenGL and X11 (or at least +XFree86's implementation of X11). + +(143) #include <sys/param.h> on the BSDs so that we can check the system +version number at compile-time. + +******************************************************************************************* +* Changes on October 30, 2003 +******************************************************************************************* + +(144) Numerous small fixes w.r.t. mouse-wheels on WIN32. + +(145) More style issues. + +******************************************************************************************* +* Changes on October 31, 2003 +******************************************************************************************* + +(146) More style issues. + +(147) Converted an error-check from an assert() to an if(). + +(148) Removal of the last ASCII TAB character from src/* files. This +conversion process ensures that the formatting appears more consistant +for everyone. (TABs can vary in their expansion from one system to +another). + +******************************************************************************************* +* Changes on November 3, 2003 +******************************************************************************************* + +(149) X11 mousewheel fixes. + +(150) Yet more style issues. + +(151) Added a case for {MapNotify} events in X11. + +(152) Re-(?)deleted 3 files from CVS, per John's request. These were +obsolete: freeglut13.dsp, freeglutdll.dsp, freeglutstatic.dsw + +(153) Marked a few pointer/int conversion warnings. (I think that they +only manifest for me on my AMD64 system, but they seem fairly harmless +so I didn't try to fix them.) + +(154) Memory-leak fix from John. + +******************************************************************************************* +* Changes on Novembber 4, 2003 +******************************************************************************************* + +(155) More style issues. + +(156) Removed G_LOG_DOMAIN junk, per mailing list discussion. + +(157) Added memory-leak detection support (WIN32) to a couple of the +demos, and fixed at least one memory leak in the process. Also +converted Fractals_random to double-precision to avoid some compiler +warnings. + +(158) Stripped CRs from fractals_random.c. + +(159) Fixed two bugs: Execution state was improperly set in the end +of glutMainLoop(), and {ButtonPress} (an X11 constant) was used where +the flag-variable {pressed} (in UNIX_X11 branch of glutMainLoop()) +should have been used. + +(160) Pointer-check before deallocation in the menu code. + +******************************************************************************************* +* Changes on November 5, 2003 +******************************************************************************************* + +Remember, remember, +the 5th of November. +Gunpowder, treason and plot! (Bacon?) + +I see no reason +why gunpowder treason +should ever be forgot. (Shakespeare?) + +******************************************************************************************* +* Changes on November 6, 2003 +******************************************************************************************* + +(161) Fractals_random demo now includes mouse support---including mouse- +wheel. + +(162) Yet more fixes to the mouse wheel support in WIN32. + +(163) Converted freeglut to use an array to store window callbacks, +rather than a struct. This lets us loop over the array to fill it with +NULL pointers in order to clear the callbacks. (With a struct, we were +reduced to either a ton of assignments---easy to miss one!---or memset(), +which technically is not a legal way to fill a region with NULL pointers +because the bit-pattern of a NULL pointer is not necessarily defined to +be all-zero bits.) This change also on the one hand provides macros +to simplify most proper use of the callbacks (even simpler than with +the struct form), while also making it irritating enough to bypass the +macros that (it is hoped) abuse will be harder. (E.g., the invocation +macros set the current-window. At least two bugs in the past occurred +because callbacks were not setting the current window before invoking the +client.) See +https://sourceforge.net/mailarchive/message.php?msg_id=6467923 for more +details. + +(164) Yet more style issues. (You thought I'd forgotten about that?) + +******************************************************************************************* +* Changes on November 7, 2003 +******************************************************************************************* + +(165) Mouse-wheel corrections in X11. + +(166) Style corrections. + +(167) Fixed GLUT_CURSOR_NONE support at long last in NetBSD. (Should also +apply to other X11 based systems, but I can only test NetBSD.) Also +deallocated some resources that glutSetCursor() was allocating in the +X server. + +(168) Added {ReparentNotify} (event type 21) case to glutMainLoop(). + +(169) Clear window callbacks during window destruction. + +(170) Implement visible/invisible support for WIN32. (Partial? No +callback added at this time.) + +******************************************************************************************* +* Changes on November 8, 2003 +******************************************************************************************* + +(171) Altered the way that {random} was chosen in the fractals_random.c +program, in order to attempt to gain a longer cycle before repeating. + +(172) More style issues. + +******************************************************************************************* +* Changes on November 9, 2003 +******************************************************************************************* + +(173) Added some error-checking to the glutSetCursor() code on my +NetBSD (UNIX_X11) system. + +******************************************************************************************* +* Changes on November 10, 2003 +******************************************************************************************* + +(174) Reversed the Fractals_random changes; they were bogus since they +assumed that there were always exactly 4 affine transforms to choose +from (which is certainly not guaranteed!). Back to just shifting by +10 bits and going modulo the number of transforms. + +******************************************************************************************* +* Changes on November 11, 2003 +******************************************************************************************* + +(175) Retroactively updated the ChangeLog file for all of the commits by +myself (rkrolib; a.k.a. Richard Rauch) (at least as visible via on the +SourceForge "CVS message board"), summarzing changes for the sake of those +who lack both web-browser and CVS access. Also fixed a numbering error in +the log where there were two "(110)" events. (Plus added (174) from +November 10th by memory.) + +(176) Style cleanup to the "one" demo. (Removal of CRs, TABs, mostly.) + +(177) Changed the "one" demo to do glutInit*() calls before glutInit(), +proper. This allows command-line parameters to override built-in +behavior. + +(178) Complete purge of all remaining TABs from freeglut's *.[ch] files. +Also verified that (as far as I can tell) all CRs are removed from all +files where they do not belong. + +******************************************************************************************* +* Freeglut 2.2.0 RC 1 Released on December 10, 2003! +******************************************************************************************* + +(179) CallbackMaker.dsp, demos.dsw, shapes.dsp all updated and are +packaged with distributions + +(180) Fix for the window sizes on Win32 (Nigel Stewart) + +(181) Disable/enable lighting in the "one.c" demo (John Fay) + +******************************************************************************************* +* Freeglut 2.2.0 RC 2 Released on December 11, 2003! +******************************************************************************************* + +******************************************************************************************* +* Freeglut 2.2.0 Released on December 12, 2003! +******************************************************************************************* + + +*************************************************************************** +* Changes on February 5, 2004. +*************************************************************************** + +(182) With permission from Steve Baker, John Fay imported the latest joystick +code from PLIB into freeglut. This is expected to provide better support +joysticks such as USB joysticks. However, it is largely untested beyond +compiling, and likely will require some debugging. + + +*************************************************************************** +* Changes on February 7, 2004. +*************************************************************************** + +(183) Richard Rauch added experimental support for a new feature: +GLUT_OFFSCREEN as a rendering mode (as proposed by Nigel Stewart). +The intent is that you specify GLUT_OFFSCREEN as a GLUT display mode, +and then open a "window" much as you would a regular top-level window. +Only UNIX_X11 is supprted at this point, for lack of knowledge. + +********************************* +* March 8, 2004. +********************************* + +(184) Made the include path for "freeglut.h" global (in "<>") rather +than local (in quotes). + +********************************* +* March 14, 2004. +********************************* + +(185) Stripped out tab characters and end-of-line whitespace. + +********************************* +* Ides of March, 2004. +********************************* + +(186) Per demands of project owner, offscreen rendering is now removed +from freeglut. + +(187) Added support for Windows CE. + +********************************* +* March 17, 2004. +********************************* + +(188) Fixed an array-bounds error in X11 key-repeat detection + +********************************* +* May 12, 2004. +********************************* + +(189) Fixed a bug in direct/indirect rendering context and generally made +it rational. + +(190) Created "GLUT_XLIB_IMPLEMENTATION" defined constant + +(191) Removed a false deprecation message of "glutSetKeyRepeat" function + +(192) Implemented the upper-end ASCII characters and allowed for rotation +of bitmapped text. + +(193) Removed some obsolete defined constants. + +(194) Fixed a bug in the "behaviour on window close" code. + +(195) Added some comments about Windows window events. + +(196) Implemented the GLUT teapot in Windows CE. + +********************************* +* June 29, 2004. +********************************* + +(197) Gave menu windows the name "freeglut menu" instead of NULL + +********************************* +* August 4, 2004. +********************************* + +(198) Fixed a bug in "glutBitmapString" so that it handles end-of-line +characters correctly. + +********************************* +* August 5, 2004. +********************************* + +(199) Suppressed warnings about indirect rendering contexts for BSD per +request from Richard Rauch. + +********************************* +* August 11, 2004. +********************************* + +(200) Fixed a very nasty game mode bug that was causing crashes with the +screen in a changed (low) resolution. + +********************************* +* September 10, 2004. +********************************* + +(201) Modified the joystick initialization so that it only happens if the +application defines a joystick callback. + +(202) Changed many three-line comments to single-line comments. + +********************************* +* September 13, 2004. +********************************* + +(203) Removed redundant end-of-line characters from error and warning +messages. + +(204) Renamed "fgGetCursorError" and made it and some other functions static. + +(205) Added a warning message to game mode get function. + +********************************* +* September 15, 2004. +********************************* + +(206) Fixed a bug in the command line argument compaction code. + +********************************* +* September 23, 2004. +********************************* + +(207) Changed "fgError" calls in the font routines to "fgWarning" so that +execution can continue even if text does not get printed. + +(208) Made the geometry functions more robust in case the application calls +them with bad inputs (like zero layers in a cone). + +(209) Unified the tetrahedron and Sierpinski sponge code. + +(210) Made the Key Repeat default behaviour consistent between initialization +and reinitialization. + +(211) Removed duplicate nested parentheses. + +(212) Changed some "window by handle" internal functions to receive the window +pointer instead of looking up the window pointer right away. + +(213) Removed some redundant window resize code. + +********************************* +* October 5, 2004. +********************************* + +(214) Added British spellings to the display mode string processing. + +(215) Modified the mouse behaviour in Windows to match the X11 behaviour. It's +not perfect but it is much improved. The question of multiple button presses +at once remains. + +********************************* +* October 6, 2004. +********************************* + +(216) Moved the joystick initialization code to one function. + +(217) Added some functions to get joystick parameters (number of buttons, axes). +It is not clear whether these should go into the API or not. + +********************************* +* December 17, 2004. +********************************* + +(218) Changed the "freeglut_assert_window" to "fgError" and had it print out +the name of the function whose call created the error condition. + +(219) Changed the "freeglut_assert_ready" to "fgError" when it is invoked in +an API function and had it print out the name of the function whose call +created the error condition. Removed some other "freeglut_assert_ready" +invocations from functions which are only called from other functions which +already check for initialization. + +*************************************************************************** +* Changes on December 31, 2004. +*************************************************************************** + +(220) Fixed bug #1079530 (glutGetProcAddress and geometric objects). + +(221) Fixed bug #1087642 (glutDeviceGet(GLUT_DEVICE_KEY_REPEAT) +unimplemented). + +(222) Fixed bug #1045054 (KeyReleaseMask typo). + +(223) Fixed bug #1040435 (glutBitmapString() bug). + +(224) Fixed first bug of #1064195 (two things when using signals): +Don't issue a warning about select when a non-blocked signal was +caught. This makes sense and is more compatible with GLUT. + +*************************************************************************** +* Changes on January 1, 2005. +*************************************************************************** + +(225) Added eMbedded Visual Tools project/workspace files to +distribution. + +(226) Renamed "configure.in" to the officially preferred +"configure.ac". + +(227) Make "gcc -Wall -pedantic -Werror" happy. + +(228) Modernized configure.ac a bit and added a rule to Makefile.am to +update libtool. Note that all gcc compiler warnings are now on by +default. + +(229) Added missing files from "src" subdirectory to dist. + +*************************************************************************** +* Changes on January 3, 2005. +*************************************************************************** + +(230) Removed acconfig.h, it is deprecated and we don't need it. + +(231) Cleaned up and autoconf'd the header inclusion story a bit. + +(232) Improved error message a bit when no suitable visual could be found +(X11 only). + +(233) Fixed part of bug #926883 (Video mode matching code, memory leaks, +fullscreen), i.e. memory leak caused by not freeing the mode lines returned +by XF86VidModeGetAllModeLines + +(234) Fixed part of bug #926883 (Video mode matching code, memory leaks, +fullscreen): Now we first try to get an exact mode match, ignoring the +refresh rate if none could be found. This way the X11 part and the WinDoze +behave similarly. NOTE: We still don't behave like GLUT, because it has a +wider notion of "best" match. We have to refactor and extend freeglut quite +a bit to do that. + +(235) Fixed part of bug #926883 (Video mode matching code, memory leaks, +fullscreen), i.e. issue warnings when XF86VidModeFOO fails. + +(236) Reworked the X11 part of glutSetCursor, fixing bug #764187 (Variable +mouse pointers don't work) on the way: + * Use slightly more compatible cursor shapes for GLUT_CURSOR_RIGHT_ARROW + and GLUT_CURSOR_LEFT_ARROW. + * Refactored and fixed the erroneous code for GLUT_CURSOR_NONE. + * Removed the incorrect use of XFreeCursor and use a cache of cursors + instead. Cursors are never freed now, we could do this e.g. via + reference countig if this is really needed. + * Fixed error handling. + * Unknown cursor types are an error now. + * Now the window state always corresponds to the wanted cursorID, even in + the case of GLUT_CURSOR_FULL_CROSSHAIR. + +************************************************************************** +* Changes between January 3 and April 15, 2005. +************************************************************************** +(237) Moved the "#include "config.h"" statement to the header file + +(238) Changed the "assert" checks to more dignified statements that print + useful error messages before exiting. Also added initialization + checking to all GLUT interface functions. + +(239) Changed some menu code around to remove duplicate code. + +(240) Implemented the ability to attach a menu to multiple windows. + +(241) Implemented the "GLUT_AUXn" color buffers for X11 and Windows + +(242) Improved the cursor handling marginally; also removed some duplicate + cursor code + +************************************************************************** +* Changes on April 15, 2005. +************************************************************************** +(243) Changed some comments in "freeglut_internal.h" as a test for the new + pCVSc project. + +(244) Changed the names of the "fgStructure.Window" and ".Menu" variables + to ".CurrentWindow" and ".CurrentMenu" to make maintenance easier. + +(245) Tried implementing Yuri D'Elia's game mode changes. + +************************************************************************** +* Changes in late April 2005 +************************************************************************** +(246) Added French version of README (called LISEZ-MOI") and a Windows-specific + version of README describing how to operate under MSVC + +(247) Changed definitions of "FETCH_WCB" and "INVOKE_WCB" to allow compilation + with GCC 4.0 + +(248) Changed the Makefile path to the "include" directory to allow for + off-directory compilation + +(249) Added some initializations and changed a hard-coded number of mouse + buttons to a defined constant + +(250) Added code to the Windows timing to allow for millisecond granularity + in the execution time + +(251) Fixed a reported bug in the fullscreen mode + +(252) Added window exit event handling to the Windows code; also put in a note + about adding window entry event handling + +************************************************************************** +* Changes in early May 2005 -- in the run-up to 2.4.0 +************************************************************************** +(253) Added handling for negative position specifications for subwindows + +(254) Made the display string handling in "freeglut_init.c" ever so slightly + more general + +(255) Changed the key repeat flag initialization from "GL_TRUE" to + "GLUT_KEY_REPEAT_ON" to make it consistent with its use elsewhere. + +(256) Removed the unused joystick function "fghJoystickParseElement" + +(257) Added a comment to "glutCreateWindow" about why "freeglut" does not + match GLUT when "glutInit" is not called. + +(258) Removed an unused "Pixmap" variable + +(259) Changed the "shapes" demo to the OpenGLUT "shapes" demo, which is much + niftier. + +(260) Necessary compilation fixes for newer GCCs (e.g. 3.3.5, 4.0). + Side effect: The shapes demo has a new 'i' key now. + +(261) Fixed a cuboctahedron vertex, implemented wire mode for that shape. + +************************************************************************** +* 8 May 2005 -- 2.4.0 Release Candidate 1 Released +************************************************************************** +(262) Fixed the "vfprintf" for Windows so that error messages get printed + out again + +(263) Implemented Takeshi Nishimura's menu fixes. Menus should work now. + +************************************************************************** +* 15 May 2005 -- 2.4.0 Release Candidate 2 Released +***********************************************************************... [truncated message content] |
From: <ret...@us...> - 2008-08-18 23:33:20
|
Revision: 287 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=287&view=rev Author: retrakker Date: 2008-08-18 23:33:28 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - updated version of DSVL to 0.0.8h Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h/ Removed Paths: ------------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/ Property changes on: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8h ___________________________________________________________________ Added: svn:mergeinfo + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-08-18 23:28:25
|
Revision: 286 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=286&view=rev Author: retrakker Date: 2008-08-18 23:28:29 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - modified CMake build system to work on Windows - included packaging module for ARToolKit SDK Modified Paths: -------------- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in Property Changed: ---------------- branches/hartmut-pre-2_8/artoolkit/ Property changes on: branches/hartmut-pre-2_8/artoolkit ___________________________________________________________________ Added: svn:ignore + build* Modified: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) +++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286) @@ -4,39 +4,95 @@ # (c) Copyright 2007-2008, HITLabNZ, Hartmut Seichter # ############################################################################## -PROJECT(ARToolKit) +cmake_minimum_required(VERSION 2.4) -SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH}) +if(COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) -SET(ARTOOLKIT_VERSION_MAJOR 2) -SET(ARTOOLKIT_VERSION_MINOR 72) -SET(ARTOOLKIT_VERSION_TINY 3) -SET(ARTOOLKIT_VERSION_REV 99) +project(ARToolKit) -SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) -SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH}) +set(ARTOOLKIT_VERSION_MAJOR 2) +set(ARTOOLKIT_VERSION_MINOR 72) +set(ARTOOLKIT_VERSION_TINY 3) +set(ARTOOLKIT_VERSION_REV 99) -IF (APPLE) - SET(CMAKE_OSX_ARCHITECTURES ppc;i386) - SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) -ENDIF(APPLE) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Executable output folder") +set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Library output folder") -IF (UNIX) - SET(USE_GSTREAMER 0) +# +# Preset for Visual Studio products +# +if(MSVC) - INCLUDE(FindGStreamer) + set(GLUT_ROOT_PATH "${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin" CACHE PATH "GLUT root folder") + set(GLUT_glut_LIBRARY "${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.lib" CACHE FILENAME "GLUT include library") + + install(FILES + ${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.dll + DESTINATION bin + ) + +endif(MSVC) - IF(GSTREAMER_FOUND) +if(WIN32) + install(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/Data + DESTINATION bin + PATTERN ".svn" EXCLUDE + ) +endif(WIN32) + +install(FILES + ChangeLog.txt + COPYING.txt + README.txt + DESTINATION share/artoolkit_2 + ) + +# +# Depending on what is available we work our way through +# +find_package(OpenGL) +find_package(GLUT) + + +if (APPLE) + set(CMAKE_OSX_ARCHITECTURES ppc;i386) + set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) +endif(APPLE) + +if (UNIX) + set(USE_GSTREAMER 0) + + include(FindGStreamer) + + if(GSTREAMER_FOUND) SET(USE_GSTREAMER 1) - ENDIF(GSTREAMER_FOUND) -ENDIF(UNIX) + endif(GSTREAMER_FOUND) +endif(UNIX) # right order of include files is important -INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include) +include_directories(${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include) -INCLUDE(ARToolKitHelper) +include(ARToolKitHelper) -ADD_SUBDIRECTORY(lib) -ADD_SUBDIRECTORY(util) -ADD_SUBDIRECTORY(examples) +add_subdirectory(lib) +add_subdirectory(util) +add_subdirectory(examples) + + +# +# Optional packaging for SDK +# +option(ARTOOLKIT_BUILD_PACKAGE "Build distribution packages" OFF) +if(ARTOOLKIT_BUILD_PACKAGE) + configure_file( + ${CMAKE_SOURCE_DIR}/CMakeModules/Packaging.cmake.in + ${CMAKE_BINARY_DIR}/.cpack/ARTKPackaging.cmake + @ONLY + ) + include(${CMAKE_BINARY_DIR}/.cpack/ARTKPackaging.cmake) +endif (ARTOOLKIT_BUILD_PACKAGE) + Modified: branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake 2008-08-18 23:24:59 UTC (rev 285) +++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake 2008-08-18 23:28:29 UTC (rev 286) @@ -13,7 +13,43 @@ ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS} ${_datafiles}) ELSE(APPLE) - ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS} ${_datafiles}) + ADD_EXECUTABLE(${EXE_NAME} ${SRCS} ${_datafiles}) ENDIF(APPLE) ENDMACRO(ARTOOLKIT_EXECUTABLE) +macro(artoolkit_lib_install target) + + if (WIN32) + set(lib_dest bin) + else (WIN32) + set(lib_dest lib) + endif(WIN32) + + + install(TARGETS ${target} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION ${lib_dest} + RUNTIME DESTINATION bin + PUBLIC_HEADER DESTINATION include/AR + ) + +endmacro(artoolkit_lib_install target) + +macro(artoolkit_exe_install target) + + if (WIN32) + set(lib_dest bin) + else (WIN32) + set(lib_dest lib) + endif(WIN32) + + + install(TARGETS ${target} + ARCHIVE DESTINATION lib + LIBRARY DESTINATION ${lib_dest} + RUNTIME DESTINATION bin + PUBLIC_HEADER DESTINATION include/AR + ) + +endmacro(artoolkit_exe_install target) + Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake 2008-08-18 23:28:29 UTC (rev 286) @@ -0,0 +1,107 @@ +# - Test for DirectShow on Windows. +# Once loaded this will define +# DIRECTSHOW_FOUND - system has DirectShow +# DIRECTSHOW_INCLUDE_DIRS - include directory for DirectShow +# DIRECTSHOW_LIBRARIES - libraries you need to link to + +SET(DIRECTSHOW_FOUND "NO") + +# DirectShow is only available on Windows platforms +IF(MSVC) + # Find DirectX Include Directory (dshow depends on it) + FIND_PATH(DIRECTX_INCLUDE_DIR ddraw.h + # WindowsSDK: includes ddraw and dshow + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]/Include" + # VS 7.1 PlatformSDK: includes ddraw and dshow + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC;ProductDir]/PlatformSDK/Include" + # Newer DirectX: dshow not included; requires Platform SDK + "$ENV{DXSDK_DIR}/Include" + # Older DirectX: dshow included + "C:/DXSDK/Include" + DOC "What is the path where the file ddraw.h can be found" + NO_DEFAULT_PATH + ) + + # if DirectX found, then find DirectShow include directory + IF(DIRECTX_INCLUDE_DIR) + FIND_PATH(DIRECTSHOW_INCLUDE_DIR dshow.h + "${DIRECTX_INCLUDE_DIR}" + "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Include" + "C:/Program Files/Microsoft Platform SDK/Include" + DOC "What is the path where the file dshow.h can be found" + NO_DEFAULT_PATH + ) + + # if DirectShow include dir found, then find DirectShow libraries + IF(DIRECTSHOW_INCLUDE_DIR) + IF(CMAKE_CL_64) + FIND_LIBRARY(DIRECTSHOW_STRMIIDS_LIBRARY strmiids + "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x64" + DOC "Where can the DirectShow strmiids library be found" + NO_DEFAULT_PATH + ) + FIND_LIBRARY(DIRECTSHOW_QUARTZ_LIBRARY quartz + "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x64" + DOC "Where can the DirectShow quartz library be found" + NO_DEFAULT_PATH + ) + ELSE(CMAKE_CL_64) + FIND_LIBRARY(DIRECTSHOW_STRMIIDS_LIBRARY strmiids + "${DIRECTSHOW_INCLUDE_DIR}/../Lib" + "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x86" + DOC "Where can the DirectShow strmiids library be found" + NO_DEFAULT_PATH + ) + FIND_LIBRARY(DIRECTSHOW_QUARTZ_LIBRARY quartz + "${DIRECTSHOW_INCLUDE_DIR}/../Lib" + "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x86" + DOC "Where can the DirectShow quartz library be found" + NO_DEFAULT_PATH + ) + ENDIF(CMAKE_CL_64) + ENDIF(DIRECTSHOW_INCLUDE_DIR) + ENDIF(DIRECTX_INCLUDE_DIR) +ENDIF(MSVC) + +#--------------------------------------------------------------------- +SET(DIRECTSHOW_INCLUDE_DIRS + "${DIRECTX_INCLUDE_DIR}" + "${DIRECTSHOW_INCLUDE_DIR}" + ) + +SET(DIRECTSHOW_LIBRARIES + "${DIRECTSHOW_STRMIIDS_LIBRARY}" + "${DIRECTSHOW_QUARTZ_LIBRARY}" + ) + +#--------------------------------------------------------------------- +INCLUDE (CheckCXXSourceCompiles) + +SET(CMAKE_REQUIRED_INCLUDES ${DIRECTSHOW_INCLUDE_DIRS}) +SET(CMAKE_REQUIRED_LIBRARIES ${DIRECTSHOW_LIBRARIES}) +CHECK_CXX_SOURCE_COMPILES(" + #include <atlbase.h> + #include <dshow.h> + #include <qedit.h> + + int main() + { + CComPtr<IFilterGraph2> filter_graph; + filter_graph.CoCreateInstance(CLSID_FilterGraph); + return 0; + } +" DIRECTSHOW_SOURCE_COMPILES) +SET(CMAKE_REQUIRED_INCLUDES) +SET(CMAKE_REQUIRED_LIBRARIES) + +#--------------------------------------------------------------------- +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( + DIRECTSHOW + DEFAULT_MSG + DIRECTX_INCLUDE_DIR + DIRECTSHOW_INCLUDE_DIR + DIRECTSHOW_STRMIIDS_LIBRARY + DIRECTSHOW_QUARTZ_LIBRARY + DIRECTSHOW_SOURCE_COMPILES + ) Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in 2008-08-18 23:28:29 UTC (rev 286) @@ -0,0 +1,55 @@ +# +# CPack template for ARToolKit +# +# (c) Copyrights 2008 Hartmut Seichter, HIT Lab NZ +# + +include(InstallRequiredSystemLibraries) + +set(CPACK_PACKAGE_NAME "ARToolKit") +set(CPACK_PACKAGE_VENDOR "Human Interface Technology Laboratory New Zealand") + +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ARToolKit for ${CMAKE_GENERATOR} is an All-In-One package for developing AR applications") + +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.txt") +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt") + +set(CPACK_PACKAGE_VERSION_MAJOR ${ARTOOLKIT_VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${ARTOOLKIT_VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${ARTOOLKIT_VERSION_TINY}) + +set(CPACK_PACKAGE_INSTALL_DIRECTORY "ARToolKit2SDK") + +set(CPACK_PACKAGE_EXECUTABLES "mk_patt;Make Pattern;simpleLite;Simple Example") + +if(WIN32) + + # + # For MSVC compilers (and probably others) we need to copy the runtime + # to the plugins folder as well + # + + set(CPACK_NSIS_MENU_LINKS + "bin" "ARToolKit application folder" + "share/osgART/ChangeLog.txt" "ARToolKit 2.0 ChangeLog" + "share/artoolkit2/README.txt" "ARToolKit ReadMe" + "share/artoolkit2/COPYING.txt" "ARToolKit GPL2 License" + "share/osgART/doc/html/index.html" "osgART 2.0 API Documentation" + "http://artoolkit.sourceforge.net" "ARToolKit website" + "http://www.hitlabnz.org" "HIT Lab NZ website" + "http://www.artoolworks.com" "ARToolworks website" + ) + + set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\artoolkit.sourceforge.net") + set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\artoolkit.sourceforge.net") + set(CPACK_NSIS_CONTACT "in...@hi...") + set(CPACK_NSIS_DISPLAY_NAME "ARToolKit GPL SDK") + +else(WIN32) + if (APPLE) + set(CPACK_GENERATOR "PackageMaker;STGZ") + INCLUDE(CPack) + endif(APPLE) +endif(WIN32) + +include(CPack) Modified: branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) +++ branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286) @@ -1,10 +1,11 @@ -SET(EXE_NAME simpleLite) +set(EXE_NAME simpleLite) -SET(SRCS simpleLite.c) +set(SRCS simpleLite.c) -INCLUDE(FindOpenGL) -INCLUDE(FindGLUT) +include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR}) -ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS}) +artoolkit_executable(${EXE_NAME} ${SRCS}) -TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) +target_link_libraries(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) + +artoolkit_exe_install(${EXE_NAME}) Modified: branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) +++ branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286) @@ -1 +1 @@ -ADD_SUBDIRECTORY(SRC) \ No newline at end of file +add_subdirectory(SRC) \ No newline at end of file Modified: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) +++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286) @@ -2,9 +2,16 @@ SET(SRCS mk_patt.c) -INCLUDE(FindOpenGL) -INCLUDE(FindGLUT) +if(GLUT_FOUND) -ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS}) + add_definitions(${GLUT_DEFS}) -TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) + include_directories(${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}) + + ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS}) + + target_link_libraries(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) + + artoolkit_exe_install(${EXE_NAME}) + +endif(GLUT_FOUND) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-08-18 23:24:51
|
Revision: 285 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=285&view=rev Author: retrakker Date: 2008-08-18 23:24:59 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - added DSVL based video capture for Windows into the CMake build system Modified Paths: -------------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt 2008-08-18 23:23:26 UTC (rev 284) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) @@ -10,9 +10,17 @@ FILE(GLOB SRCS *.c) -SET(HDRS ${HDRS} ${CMAKE_BINARY_DIR}/include/AR/config.h) +SET(HDRS ${HDRS} + ${CMAKE_BINARY_DIR}/include/AR/config.h + ) + SET(HDRS ${HDRS} ${CMAKE_SOURCE_DIR}/include/AR/ar.h) ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) -TARGET_LINK_LIBRARIES(${LIB_NAME} AR) +install(TARGETS AR + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + PUBLIC_HEADER DESTINATION include/AR + ) + Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-08-18 23:23:26 UTC (rev 284) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) @@ -1,15 +1,19 @@ # Core library -ADD_SUBDIRECTORY(AR) -ADD_SUBDIRECTORY(ARMulti) +add_subdirectory(AR) +add_subdirectory(ARMulti) # GL utility -ADD_SUBDIRECTORY(Gl) +add_subdirectory(Gl) # Video IF (APPLE) ADD_SUBDIRECTORY(VideoMacOSX) ENDIF(APPLE) +if(WIN32) + add_subdirectory(VideoWin32DirectShow) +endif(WIN32) + IF (UNIX) IF (USE_GSTREAMER) ADD_SUBDIRECTORY(VideoGStreamer) Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt 2008-08-18 23:23:26 UTC (rev 284) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285) @@ -1,16 +1,41 @@ -SET(LIB_NAME ARgsub) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) +find_package(OpenGL) +find_package(GLUT) -SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsub.h) -FILE(GLOB SRCS gsub.c) +if(GLUT_FOUND) -ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) + set(LIB_NAME ARgsub) -TARGET_LINK_LIBRARIES(${LIB_NAME} AR) + include_directories(${CMAKE_SOURCE_DIR}/include ${GLUT_INCLUDE_DIR}) + set(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsub.h) + file(GLOB SRCS gsub.c) + + add_library(${LIB_NAME} ${HDRS} ${SRCS}) + + target_link_libraries(${LIB_NAME} AR ${OPENGL_LIBRARY} ${GLUT_LIBRARIES}) + + artoolkit_lib_install(${LIB_NAME}) + + include_directories(${CMAKE_SOURCE_DIR}/include ${GLUT_INCLUDE_DIR}) + + set(LIB_NAME ARgsubUtil) + + set(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsubUtil.h) + + file(GLOB SRCS gsubUtil.c) + + add_library(${LIB_NAME} ${HDRS} ${SRCS}) + + target_link_libraries(${LIB_NAME} AR) + + + artoolkit_lib_install(${LIB_NAME}) + +endif(GLUT_FOUND) + SET(LIB_NAME ARgsub_lite) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) @@ -23,18 +48,12 @@ TARGET_LINK_LIBRARIES(${LIB_NAME} AR) +artoolkit_lib_install(${LIB_NAME}) -SET(LIB_NAME ARgsubUtil) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) -SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsubUtil.h) -FILE(GLOB SRCS gsubUtil.c) -ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) -TARGET_LINK_LIBRARIES(${LIB_NAME} AR) - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-08-18 23:23:18
|
Revision: 284 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=284&view=rev Author: retrakker Date: 2008-08-18 23:23:26 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - added internal copy of GLUT32 Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/README-win32.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/include/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/include/GL/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/include/GL/glut.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut.def branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.dll branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.lib Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/README-win32.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/README-win32.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/README-win32.txt 2008-08-18 23:23:26 UTC (rev 284) @@ -0,0 +1,613 @@ + + + GLUT for Win32 README + --------------------- + + +VERSION/INFO: + + This is GLUT for Win32 version 3.7.6 as of Nov 8th 2001. + See the COPYRIGHT section for distribution and copyright notices. + Send all bug reports and questions for this version of GLUT to + Nate Robins [na...@po...]. + + For more information about GLUT for Win32, see the web page: + www.pobox.com/~nate/glut.html or subscribe to the GLUT for Win32 + mailing list by sending e-mail to maj...@pe... with + "subscribe glut" in the body of the message. + + For general information about GLUT, see the GLUT web page: + http://reality.sgi.com/opengl/glut3/glut3.html and be sure to + check the GLUT FAQ first for any questions that you may have: + http://reality.sgi.com/opengl/glut3/glut-faq.html + + +COMPILING/INSTALLATION: + + o Precompiled versions of the DLL and import library can be + found on the GLUT for Win32 web page mentioned above. + + o Microsoft Developer Studio 6 workspace and project files have + been included in the source code distribution. + + To build the glut dll: + First, open Microsoft Developer Studio. + Then, select File -> Open Workspace and find the glut.dsw file + in the file dialog and double-click on it. + Finally, select Build -> Build glut32.dll. + When the build is finished, it will copy: + glut32.dll to %WinDir%\System, + glut32.lib to $(MSDevDir)\..\..\VC98\lib, and + glut.h to $(MSDevDir)\..\..\VC98\include\GL. + + Additional workspace files have been included in the progs, test + and lib directories to build the progs, tests and libs respectively. + + +BORLAND NOTES: + + From what I understand, Borland supplies a utility that + converts Microsoft Visual C++ .libs into Borland compatible + files. Therefore, the best method for Borland users is + probably to get the precompiled versions of the library and + convert the library. To create an import library for Borland + from the DLLs, use the following command (from a command prompt): + IMPLIB glut32.lib glut32.dll + If IMPLIB crashes when called this way, try + IMPLIB glut32.lib glut32.def + using the glut32.def file in this distribution. + + +FORTRAN NOTES: + + Bill Mitchell [wil...@ni...] has put considerable + effort into getting GLUT to work with different compilers for + Fortran 90. He indicates that you should copy the f90glut.h + file to your $(MSDevDir)\..\..\VC98\include\GL directory. + Then, just build GLUT as usual. The Fortran 90 interface, f90gl, + can be obtained at http://math.nist.gov/f90gl and contains + installation instructions and usage examples. + + +MISC NOTES: + + o Overlay support is not implemented, nor are there any plans to + implement it in the near future. + + o To customize the windows icon, you can use the resource name + GLUT_ICON. For example, create an icon named "glut.ico", and + create a file called glut.rc that contains the following: + GLUT_ICON ICON glut.ico + then compile the glut.rc file with the following: + rc /r glut + and link the resulting glut.res file into your executable + (just like you would an object file). + Alternatively, you can simply add the glut.rc file to your + project if you are using Microsoft Developer Studio. + + +IMPLEMENTATION DEPENDENT DIFFERENCES: + + There are a few differences between the Win32 version of GLUT + and the X11 version of GLUT. Those are outlined here. Note + that MOST of these differences are allowed by the GLUT + specification. Bugs and unsupported features are outlined in + the UNSUPPORTED/BUGS section. + + o glutInit: + The following command line options have no meaning (and are + ignored) in GLUT for Win32: + -display, -indirect, -direct, -sync. + + o glutInitWindowPosition, glutPositionWindow: + Win32 has two different coordinate systems for windows. + One is in terms of client space and the other is the whole + window space (including the decorations). If you + glutPositionWindow(0, 0), GLUT for Win32 will place the + window CLIENT area at 0, 0. This will cause the window + decorations (title bar and left edge) to be OFF-SCREEN, but + it gives the user the most flexibility in positioning. + HOWEVER, if the user specifies glutInitWindowPosition(0, 0), + the window is placed relative to window space at 0, 0. + This will cause the window to be opened in the upper left + corner with all the decorations showing. This behaviour is + acceptable under the current GLUT specification. + + o glutSetIconTitle, glutSetWindowTitle: + There is no separation between Icon title and Window title + in Win32. Therefore, setting an icon title in Win32 has + no effect. + + o glutSetCursor: + As indicated in the GLUT specification, cursors may be + different on different platforms. This is the case in GLUT + for Win32. For the most part, the cursors will match the + meaning, but not necessarily the shape. Notable exceptions + are the GLUT_CURSOR_INFO & GLUT_CURSOR_SPRAY which use the + crosshair cursor and the GLUT_CURSOR_CYCLE which uses the + 'no' or 'destroy' cursor in Win32. + + o glutVisibilityFunc: + Win32 seems to be unable to determine if a window is fully + obscured. Therefore, the visibility of a GLUT window is + only reflected by its Iconic, Hidden or Shown state. That + is, even if a window is fully obscured, in GLUT for Win32, + it is still "visible". + + o glutEntryFunc: + Window Focus is handled differently in Win32 and X. + Specifically, the "window manager" in Win32 uses a "click to + focus" policy. That is, in order for a window to receive + focus, a mouse button must be clicked in it. Likewise, in + order for a window to loose focus, a mouse button must be + clicked outside the window (or in another window). + Therefore, the Enter and Leave notification provided by GLUT + may behave differently in the Win32 and in X11 versions. + There is a viable workaround for this. A program called + "Tweak UI" is provided by Microsoft which can be used to + change the focus policy in Win32 to "focus follows mouse". + It is available from the Microsoft Web Pages: + http://www.microsoft.com/windows/software/PowerToy.htm + + o glutCopyColormap: + GLUT for Win32 always copies the colormap. There is never + any sharing of colormaps. This is probably okay, since + Win32 merges the logical palette and the physical palette + anyway, so even if there are two windows with totally + different colors in their colormaps, Win32 will find a + (hopefully) good match between them. + + o glutIdleFunc + menus: + The glut idle function will NOT be called when a menu is + active. This causes all animation to stop when a menu is + active (in general, this is probably okay). Timer + functions will still fire, however. If the timer callback + draws into the rendering context, the drawing will not show + up until after the menu has finished, though. + + +UNSUPPORTED/BUGS: + + o glutAttachMenu: + Win32 only likes to work with left and right mouse buttons. + Especially so with popup menus. Therefore, when attaching + the menu to the middle mouse button, the LEFT mouse button + must be used to select from the menu. + + o glutSpaceball*, glutButtonBox*, glutTablet*, glutDials*: + None of the special input devices are supported at this + time. + + o When resizing or moving a GLUT for Win32 window, no updating + is performed. This causes the window to leave "tracks" on + the screen when getting bigger or when previously obscured + parts are being revealed. I put in a bit of a kludgy + workaround for those that absolutely can't have the weird + lines. The reshape callback is called multiple times for + reshapes. Therefore, in the reshape callback, some drawing + can be done. It should probably be limited to a color buffer + clear. + + o The video resizing capabilities of GLUT 3.3+ for X11 is + currently unimplemented (this is probably ok, since it + really isn't part of the spec until 4.0). I doubt that + this will ever be part of GLUT for Win32, since there is no + hardware to support it. A hack could simply change the + resolution of the desktop. + + +CHANGES/FIXES: + + (Nov 8, '01) + x Released 3.7.6 + + (Nov 8, '01) + x Changed fullscreen mode from TOPMOST back to simply TOP, since + (it turns out) many people use windows atop a GLUT window. + + (Nov 8, '01) + x Added code to prevent CPU spiking when no idle function is + registered. Otherwise, if an idle function is registered, spike + CPU so that the idle function gets all the attention it needs and + if this is a problem on the program side, the user can stick a + sleep() in their idle function. I believe that this strikes the + best balance betweeen GLUT being fast, and also being "nice" to + other processes. Thanks to James Wright for reporting this bug. + + (Nov 8, '01) + x Fixed bug in motion callback handler which wasn't setting the + current window, so multiple window apps (e.g., any GLUI app) + wouldn't get the callback correctly. + + (Oct 4, '01) + x Fixed bug in glutEnterGameMode() that caused new windows to not + be in "fullscreen" mode, so they got window decorations. + + (Oct 4, '01) + x Fixed bug in glutEnterGameMode() that caused new windows to not + be in "fullscreen" mode, so they got window decorations. + + (Oct 3, '01) + x Fixed bug in getVisualInfoFromString(): visuals not reloaded on + display mode change. Reload visuals each time they are queried. + This fixes a problem with Win32 because the list of availabe Visuals + (Pixelformats) changes after a change in displaymode. The problem + occurs when switching to gamemode and back. Thanks to Michael + Wimmer for pointing this out & providing the fix. + + (Oct 3, '01) + x Fixed bug in XGetVisualInfo(): pixelformats enumerated incorrectly. + Passing 0 as a pixelformat index to DescribePixelFormat gives + unpredictible results (e.g., this fails on the Voodoo opengl32.dll + and always reports 0 as the last available pixelformat index). + Thanks to Michael Wimmer for pointing this out & providing the fix. + + (Oct 3, '01) + x Fixed bug in glXGetConfig(): pixelformats enumerated incorrectly. The + test was OpenGL support OR draw to window, but should be AND. Thanks + to Michael Wimmer for pointing this out & providing the fix. + + (Sep 28, '01) + x Fixed glutChangeToSubMenu()/glutChangeToMenuEntry() bug where if you + went back and forth between a submenu and a plain entry, the submenu + wouldn't be updated properly. + + (Sep 28, '01) + x glutSetIconTitle() is now a nop. + + (Sep 28, '01) + x glutFullScreen() now sets the window as TOPMOST, therefore, the + window will always be on top (this essentially disables alt-tabbing). + + (Sep 28, '01) + x The key repeat ignore flag is now honored correctly. + + (Sep 28, '01) + x Key presses are now reported more accurately and fully, in + particular, modified up events (i.e., SHIFT-2) are now reported + correctly. + + (Sep 28, '01) + x Subwindows nested arbitrarily deep get their keyboard callbacks + correctly now. + + (Sep 28, '01) + x Major rewrite of the window procedure code to clean it up and make + way for other bug fixes. + + (Sep 23, '01) + x Fixed noof example program to use RAND_MAX instead of assumed + max of 2147483647.0. (Now it looks _much_ better!) + + (Sep 22, '01) + x Fixed sunlight example program. globe.raw data file was corrupt, + added a new one. + + (Sep 22, '01) + x Fixed zcomposite example program to print message if overlay + support is not found (instead of crashing). + + (Jan 22, '01) + x Fixed malloc(0) bug in Win32 version of XGetVisualInfo. Thanks + to Kekoa Proudfoot for bringing this to my attention. + + (Dec 12, '00) + x Added data files for the advanced & advanced97 programs. + + (Dec 12, '00) + x Added Developer Studio 6 project and workspace files for pretty + much everything (the stuff left out was usually unix specific). + + (Dec 7, '00) + x Fixed several compilation problems & corrupt files. Thanks to + Alexander Stohr for bringing these to my attention and providing + detailed fixes. + + (Dec 6, '00) + x Fixed compiler support for lcc. Thanks to Gordon for bringing + this to my attention and debugging fixes. + + (Nov 8, '00) + x Fixed submenu problem (sometimes the menu callback was not + called for valid items). Thanks to Michael Keeley. + + (Oct 16, '00) + x Corrected corrupt duck.iv file. Thanks to Jon Willeke for finding + this problem. + + (Sept 27, '00) + x Fixed bug in processWorkList that could cause a hang. Thanks to + Bill Volz & Daniel Azuma. + + (Sept 26, '00) + x Added mui DLL project file (thanks to DM...@ug...). + + (Sept 9, '00) + x Fixed Delete key bug (crash when no keyboard callback was + registered, but a special key callback was). Thanks to + Kent Bowling (ken...@ho...) for finding this bug. + + (May 18, '00) + x Fixed subwindow keyboard callbacks. + + (May 22, '97) + o Menus don't work under Windows 95 + x Fixed! Added a unique identifier to each menu item, and a + search function to grab a menu item given the unique identifier. + + (May 21, '97) + o A few minor bug fixes here and there. + x Thanks to Bruce Silberman and Chris Vale for their help with + this. We now have a DLL! + + (Apr 25, '97) + o DLL version of the library is coming (as soon as I figure out + how to do it -- if you know, let me know). + x Thanks to Bruce Silberman and Chris Vale for their help with + this. We now have a DLL! + + (Apr 24, '97) + x Added returns to KEY_DOWN etc messages so that the F10 key + doesn't toggle the system menu anymore. + + (Apr 7, '97) + o Palette is incorrect for modes other than TrueColor. + x Fixed this by forcing a default palette in modes that aren't + Truecolor in order to 'simulate' it. The applications + program shouldn't have to do this IMHO, but I guess we + can't argue with Microsoft (well, we can, but what good + will it do?). + + (Apr 2, '97) + x Added glut.ide file for Borland users. + + (Apr 2, '97) + x Fixed a bug in the WM_QUERYNEWPALETTE message. Wasn't + checking for a null colormap, then de-ref'd it. Oops. + + (Mar 13, '97) + o glutTimerFunc: + Currently, GLUT for Win32 programs busy waits when there is + an outstanding timer event (i.e., there is no select() + call). I haven't found this to be a problem, but I plan to + fix it just because I can't bear the thought of a busy wait. + x Added a timer event and a wait in the main loop. This fixes + the CPU spike. + + (Mar 11, '97) + x Fixed subwindow visibility. The visibility callback of + subwindows wasn't being called, now it is. + + (Mar 11, '97) + o glutGetHDC, glutGetHWND: + In order to support additional dialog boxes, wgl fonts, and + a host of other Win32 dependent structures, two functions + have been added that operate on the current window in GLUT. + The first (glutGetHDC) returns a handle to the current + windows device context. The second (glutGetHWND) returns + handle to the current window. + x Took these out to preserve GLUT portability. + + (Mar 11, '97) + x Fixed the glutWarpPointer() coordinates. Were relative to + the screen, now relative to window (client area) origin + (which is what they're supposed to be). + + (Mar 11, '97) + o glutCreateMenu, glutIdleFunc: + Menu's are modal in Win32. That is, they don't allow any + messages to be processed while they are up. Therefore, if + an idle function exists, it will not be called while + processing a menu. + x Fixed! I've put in a timer function that fires every + millisecond while a menu is up. The timer function handles + idle and timer events only (which should be the only + functions that are firing when a menu is up anyway). + + (Mar 7 '97) + x Fixed minor bugs tracked down by the example programs. + + (Mar 6, '97) + x Merged 3.3 GLUT for X11 into 3.2 GLUT for Win32. New code + structure allows for EASY merging! + + o In Win32, the parent gets the right to set the cursor of + any of its children. Therefore, a child windows cursor + will 'blink' between its cursor and its parent. + x Fixed this by checking whether the cursor is in a child + window or not. + + (Feb 28 '97) + o On initial bringup apps are getting 2 display callbacks. + x Fixed by the Fev 28 re-write. + + o Some multiple window (not subwindow) functionality is messed up. + See the sphere.exe program. + x Fixed by the Feb 28 re-write. + + o GLUT for Win32 supports color index mode ONLY in a paletted + display mode (i.e., 256 or 16 color mode). + x Fixed this in the re-write. If you can get a color index + visual (pixel format) you can use color index mode. + + (Feb 28 '97) + o Quite a few bugs (and incompatibilities) were being caused + by the structure that I used in the previous port of GLUT. + Therefore I decided that it would be best to "get back to + the roots". I re-implemented most of glut trying to stick + with the structure layed out by Mark. The result is a much + more stable version that passes ALL (!) (except overlay) + the tests provided by Mark. In addition, this new + structure will allow future enhancements by Mark to be + integrated much more quickly into the Win32 version. Also, + I'm now ordering the bugs in reverse, so that the most + recently fixed appear at the top of the list. + + (9/8/96) + o Changed the glutGetModifiers code to produce an error if not + called in the core input callbacks. + + (9/11/96) + o If the alt key is pressed with more than one other modifier key + it acts as if it is stuck -- it stays selected until pressed + and released again. + x Fixed. + + (9/12/96) + o When a submenu is attached to a menu, sometimes a GPF occurs. + Fixed. Needed to set the submenu before referencing it's members. + + o Kenny: Also, one little problem, I attached the menu to the + right-button, but when the left-button is pressed I detach + it to give the right-button new meaning; if I pop-up the menu and I + don't want to select anything, like most users, I click off of the + menu to make it disappear. When I do this, I get a GLUT error and + the program terminates because I am altering the menu attachment + from within the button press while the menu is active. + x Fixed. Needed to finish the menu when the user presses the button, + not just when a button is released. + + o GLUT for Win32 emulates a middle mouse button by checking if + both mouse buttons are down. This causes a lot of problems with + the menu and other multiple mouse button things. + x Fixed. No more middle mouse button emulation. Perhaps it would + be a good idea to emulate the middle mouse button (if not present) + with a key? + + (9/15/96) + o Added code to accept a user defined icon. If no icon is provided, + a default icon is loaded. + + (9/19/96) + o Shane: Command line options seem to be screwed up. (9/13) + x Fixed. The geometry command line was broken, and so was the + gldebug command line. + + o Fixed a bug in the default glut reshape. It was looking for the + parent of the current window and GPF'ing if there wasn't a parent. + Put in a check for a parent, and if none is there, use the + child. + + o Idle function sucks up all processor cycles. (9/8/96) + x I don't know if this is avoidable. If you have a tight rendering + loop, it may be that the processor time is going to be sucked up + no matter what. You can add a sleep() to the end of your render + loop if you would like to yeild to other processes and you don't + care too much about the speed of your rendering loop. If you have + Hardware that supports OpenGL (like a 3Dpro card, or GLint card) + then this should be less of a problem, since it won't be rendering + in software. (9/11/96) + + o If a window is fully obscured by another window, the visibility + callback is NOT called. As far as I can tell, this is a limitation + of the Win32 api, but a workaround is being searched for. (9/8/96) + x Limitation of the Win32 API + + o Fixed the entry functions. They only work if the keyboard focus + changes. Therefore, in most Win32 systems, the mouse must be + pressed outside of the window to get a GLUT_LEFT message and + then pressed inside the window for a GLUT_ENTERED message. + + o Alt modifier key doesn't work with keyboard callback. (9/8/96) + x Probably okay, because the glut spec says that these keys can + be intercepted by the system (which the alt key is...) (9/11/96) + + (11/17/96) + o glutRemoveMenuItem() not working properly. + x Thanks to Gary (gr...@ma...) for the fix to + this one. + + o Timer functions are messed up. + x Thanks to Joseph Galbraith for the fix to this one. + + (12/9/96) + o One (minor) difference came up between the X version of glut + and the nt one which you should know about. It is not a new + problem, and it concerns co-ords returned to the pointer + callbacks. (glutMotionFunc, glutMouseFunc) + Under X, you get co-ords in the range 0 +/- 2^15, under NT + you get 0..2^16. This is only really a problem when moving + above or to the left of the window. + eg dragging one pixel ABOVE the window will give :- + under x11 : y = -1 + under nt : y = 2^16 -1 + x Put in fix provided by Shane Clauson. + + (12/17/96) + o Idle functions not working properly for multiple windows. + x Fixed this by posting an idle message to every window in the + window list when idle. + + (12/18/96) + o glutSetCursor() was misbehaving (lt...@cc...). + x Win32 requires that the hCursor member of the window class + be set to NULL when the class is registered or whenever the + mouse is moved, the original cursor is replaced (go + figure!). Now sets the cursor whenever a WM_MOUSEMOVE message + is received, because the WM_SETCURSOR event resets the cursor + even when in the decoration area. + + o Geometry is not being handled quite right. The numbers don't + take into account the window decorations. That is, if I say + make a window 100x100, then the WHOLE window (not just the + client area) is 100x100. Therefore, the client (opengl) area + is smaller than 100x100. (9/8/96) + x Fixed. Added code to subtract the decoration size on glutGet() + and add the decoration size on glutReshapeWindow(). + + o Multiple glutPostRedisplay() calls are NOT being combined. + To get round the "coalesce" problem on glutPostRedisplay, + the easiest solution is to roll-your-own coalesce by + keeping a global "dirty" flag in the app (eg replace all + calls to glutPostRedisplay with image_dirty=TRUE;), and to + handle image_dirty with a single glutPostRedisplay in the + idle callback when required. (erk - but increases + performance for my particular app (a rendering engine on + the end of a pipleine with a stream of graphics updates) by + a couple of orders of magnitude ! ) (9/8/96) + x Added code to coalesce redisplays. Every idle cycle, a + check is made to see which windows need redisplay, if they + need it, a redisplay is posted. The glutPostRedisplay() + call is just a stub that sets a flag. + + +THANKS: + + Special thanks to the following people for extensive testing, + suggestions, fixes and help: + + Alexander Stohr + Shane Clauson + Kenny Hoff + Richard Readings + Paul McQuesten + Philip Winston + JaeWoo Ahn + Joseph Galbraith + Paula Higgins + Sam Fortin + Chris Vale + Bill Mitchell + + and of course, the original author of GLUT: + Mark Kilgard. + + and many others... + + +COPYRIGHT: + +The OpenGL Utility Toolkit distribution for Win32 (Windows NT & +Windows 95) contains source code modified from the original source +code for GLUT version 3.3 which was developed by Mark J. Kilgard. The +original source code for GLUT is Copyright 1997 by Mark J. Kilgard. +GLUT for Win32 is Copyright 1997 by Nate Robins and is not in the +public domain, but it is freely distributable without licensing fees. +It is provided without guarantee or warrantee expressed or implied. +It was ported with the permission of Mark J. Kilgard by Nate Robins. + +THIS SOURCE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +OpenGL (R) is a registered trademark of Silicon Graphics, Inc. Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/include/GL/glut.h =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/include/GL/glut.h (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/include/GL/glut.h 2008-08-18 23:23:26 UTC (rev 284) @@ -0,0 +1,716 @@ +#ifndef __glut_h__ +#define __glut_h__ + +/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998. */ + +/* This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. */ + +#if defined(_WIN32) + +/* GLUT 3.7 now tries to avoid including <windows.h> + to avoid name space pollution, but Win32's <GL/gl.h> + needs APIENTRY and WINGDIAPI defined properly. */ +# if 0 + /* This would put tons of macros and crap in our clean name space. */ +# define WIN32_LEAN_AND_MEAN +# include <windows.h> +# else + /* XXX This is from Win32's <windef.h> */ +# ifndef APIENTRY +# define GLUT_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif + /* XXX This is from Win32's <winnt.h> */ +# ifndef CALLBACK +# if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) || defined(__LCC__) +# define CALLBACK __stdcall +# else +# define CALLBACK +# endif +# endif + /* XXX Hack for lcc compiler. It doesn't support __declspec(dllimport), just __stdcall. */ +# if defined( __LCC__ ) +# undef WINGDIAPI +# define WINGDIAPI __stdcall +# else + /* XXX This is from Win32's <wingdi.h> and <winnt.h> */ +# ifndef WINGDIAPI +# define GLUT_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif +# endif + /* XXX This is from Win32's <ctype.h> */ +# ifndef _WCHAR_T_DEFINED +typedef unsigned short wchar_t; +# define _WCHAR_T_DEFINED +# endif +# endif + +/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA + in your compile preprocessor options. */ +# if !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA) +# pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */ +/* To enable automatic SGI OpenGL for Windows library usage for GLUT, + define GLUT_USE_SGI_OPENGL in your compile preprocessor options. */ +# ifdef GLUT_USE_SGI_OPENGL +# pragma comment (lib, "opengl.lib") /* link with SGI OpenGL for Windows lib */ +# pragma comment (lib, "glu.lib") /* link with SGI OpenGL Utility lib */ +# pragma comment (lib, "glut.lib") /* link with Win32 GLUT for SGI OpenGL lib */ +# else +# pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */ +# pragma comment (lib, "glu32.lib") /* link with Microsoft OpenGL Utility lib */ +# pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */ +# endif +# endif + +/* To disable supression of annoying warnings about floats being promoted + to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor + options. */ +# ifndef GLUT_NO_WARNING_DISABLE +# pragma warning (disable:4244) /* Disable bogus VC++ 4.2 conversion warnings. */ +# pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */ +# endif + +/* Win32 has an annoying issue where there are multiple C run-time + libraries (CRTs). If the executable is linked with a different CRT + from the GLUT DLL, the GLUT DLL will not share the same CRT static + data seen by the executable. In particular, atexit callbacks registered + in the executable will not be called if GLUT calls its (different) + exit routine). GLUT is typically built with the + "/MD" option (the CRT with multithreading DLL support), but the Visual + C++ linker default is "/ML" (the single threaded CRT). + + One workaround to this issue is requiring users to always link with + the same CRT as GLUT is compiled with. That requires users supply a + non-standard option. GLUT 3.7 has its own built-in workaround where + the executable's "exit" function pointer is covertly passed to GLUT. + GLUT then calls the executable's exit function pointer to ensure that + any "atexit" calls registered by the application are called if GLUT + needs to exit. + + Note that the __glut*WithExit routines should NEVER be called directly. + To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */ + +/* XXX This is from Win32's <process.h> */ +# if !defined(_MSC_VER) && !defined(__cdecl) + /* Define __cdecl for non-Microsoft compilers. */ +# define __cdecl +# define GLUT_DEFINED___CDECL +# endif +# ifndef _CRTIMP +# ifdef _NTSDK + /* Definition compatible with NT SDK */ +# define _CRTIMP +# else + /* Current definition */ +# ifdef _DLL +# define _CRTIMP __declspec(dllimport) +# else +# define _CRTIMP +# endif +# endif +# define GLUT_DEFINED__CRTIMP +# endif + +/* GLUT API entry point declarations for Win32. */ +# ifdef GLUT_BUILDING_LIB +# define GLUTAPI __declspec(dllexport) +# else +# ifdef _DLL +# define GLUTAPI __declspec(dllimport) +# else +# define GLUTAPI extern +# endif +# endif + +/* GLUT callback calling convention for Win32. */ +# define GLUTCALLBACK __cdecl + +#endif /* _WIN32 */ + +#include <GL/gl.h> +#include <GL/glu.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_WIN32) +# ifndef GLUT_BUILDING_LIB +extern _CRTIMP void __cdecl exit(int); +# endif +#else +/* non-Win32 case. */ +/* Define APIENTRY and CALLBACK to nothing if we aren't on Win32. */ +# define APIENTRY +# define GLUT_APIENTRY_DEFINED +# define CALLBACK +/* Define GLUTAPI and GLUTCALLBACK as below if we aren't on Win32. */ +# define GLUTAPI extern +# define GLUTCALLBACK +/* Prototype exit for the non-Win32 case (see above). */ +extern void exit(int); +#endif + +/** + GLUT API revision history: + + GLUT_API_VERSION is updated to reflect incompatible GLUT + API changes (interface changes, semantic changes, deletions, + or additions). + + GLUT_API_VERSION=1 First public release of GLUT. 11/29/94 + + GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling, + extension. Supports new input devices like tablet, dial and button + box, and Spaceball. Easy to query OpenGL extensions. + + GLUT_API_VERSION=3 glutMenuStatus added. + + GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer, + glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic + video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc, + glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat, + glutJoystickFunc, glutForceJoystickFunc (NOT FINALIZED!). +**/ +#ifndef GLUT_API_VERSION /* allow this to be overriden */ +#define GLUT_API_VERSION 3 +#endif + +/** + GLUT implementation revision history: + + GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT + API revisions and implementation revisions (ie, bug fixes). + + GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of + GLUT Xlib-based implementation. 11/29/94 + + GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of + GLUT Xlib-based implementation providing GLUT version 2 + interfaces. + + GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95 + + GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95 + + GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95 + + GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96 + + GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner + and video resize. 1/3/97 + + GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines. + + GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release. + + GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling. + + GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support. + + GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface. + + GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h> +**/ +#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */ +#define GLUT_XLIB_IMPLEMENTATION 15 +#endif + +/* Display mode bit masks. */ +#define GLUT_RGB 0 +#define GLUT_RGBA GLUT_RGB +#define GLUT_INDEX 1 +#define GLUT_SINGLE 0 +#define GLUT_DOUBLE 2 +#define GLUT_ACCUM 4 +#define GLUT_ALPHA 8 +#define GLUT_DEPTH 16 +#define GLUT_STENCIL 32 +#if (GLUT_API_VERSION >= 2) +#define GLUT_MULTISAMPLE 128 +#define GLUT_STEREO 256 +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_LUMINANCE 512 +#endif + +/* Mouse buttons. */ +#define GLUT_LEFT_BUTTON 0 +#define GLUT_MIDDLE_BUTTON 1 +#define GLUT_RIGHT_BUTTON 2 + +/* Mouse button state. */ +#define GLUT_DOWN 0 +#define GLUT_UP 1 + +#if (GLUT_API_VERSION >= 2) +/* function keys */ +#define GLUT_KEY_F1 1 +#define GLUT_KEY_F2 2 +#define GLUT_KEY_F3 3 +#define GLUT_KEY_F4 4 +#define GLUT_KEY_F5 5 +#define GLUT_KEY_F6 6 +#define GLUT_KEY_F7 7 +#define GLUT_KEY_F8 8 +#define GLUT_KEY_F9 9 +#define GLUT_KEY_F10 10 +#define GLUT_KEY_F11 11 +#define GLUT_KEY_F12 12 +/* directional keys */ +#define GLUT_KEY_LEFT 100 +#define GLUT_KEY_UP 101 +#define GLUT_KEY_RIGHT 102 +#define GLUT_KEY_DOWN 103 +#define GLUT_KEY_PAGE_UP 104 +#define GLUT_KEY_PAGE_DOWN 105 +#define GLUT_KEY_HOME 106 +#define GLUT_KEY_END 107 +#define GLUT_KEY_INSERT 108 +#endif + +/* Entry/exit state. */ +#define GLUT_LEFT 0 +#define GLUT_ENTERED 1 + +/* Menu usage state. */ +#define GLUT_MENU_NOT_IN_USE 0 +#define GLUT_MENU_IN_USE 1 + +/* Visibility state. */ +#define GLUT_NOT_VISIBLE 0 +#define GLUT_VISIBLE 1 + +/* Window status state. */ +#define GLUT_HIDDEN 0 +#define GLUT_FULLY_RETAINED 1 +#define GLUT_PARTIALLY_RETAINED 2 +#define GLUT_FULLY_COVERED 3 + +/* Color index component selection values. */ +#define GLUT_RED 0 +#define GLUT_GREEN 1 +#define GLUT_BLUE 2 + +#if defined(_WIN32) +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN ((void*)0) +#define GLUT_STROKE_MONO_ROMAN ((void*)1) + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 ((void*)2) +#define GLUT_BITMAP_8_BY_13 ((void*)3) +#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4) +#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 ((void*)6) +#define GLUT_BITMAP_HELVETICA_12 ((void*)7) +#define GLUT_BITMAP_HELVETICA_18 ((void*)8) +#endif +#else +/* Stroke font opaque addresses (use constants instead in source code). */ +GLUTAPI void *glutStrokeRoman; +GLUTAPI void *glutStrokeMonoRoman; + +/* Stroke font constants (use these in GLUT program). */ +#define GLUT_STROKE_ROMAN (&glutStrokeRoman) +#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman) + +/* Bitmap font opaque addresses (use constants instead in source code). */ +GLUTAPI void *glutBitmap9By15; +GLUTAPI void *glutBitmap8By13; +GLUTAPI void *glutBitmapTimesRoman10; +GLUTAPI void *glutBitmapTimesRoman24; +GLUTAPI void *glutBitmapHelvetica10; +GLUTAPI void *glutBitmapHelvetica12; +GLUTAPI void *glutBitmapHelvetica18; + +/* Bitmap font constants (use these in GLUT program). */ +#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15) +#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13) +#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10) +#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24) +#if (GLUT_API_VERSION >= 3) +#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10) +#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12) +#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18) +#endif +#endif + +/* glutGet parameters. */ +#define GLUT_WINDOW_X ((GLenum) 100) +#define GLUT_WINDOW_Y ((GLenum) 101) +#define GLUT_WINDOW_WIDTH ((GLenum) 102) +#define GLUT_WINDOW_HEIGHT ((GLenum) 103) +#define GLUT_WINDOW_BUFFER_SIZE ((GLenum) 104) +#define GLUT_WINDOW_STENCIL_SIZE ((GLenum) 105) +#define GLUT_WINDOW_DEPTH_SIZE ((GLenum) 106) +#define GLUT_WINDOW_RED_SIZE ((GLenum) 107) +#define GLUT_WINDOW_GREEN_SIZE ((GLenum) 108) +#define GLUT_WINDOW_BLUE_SIZE ((GLenum) 109) +#define GLUT_WINDOW_ALPHA_SIZE ((GLenum) 110) +#define GLUT_WINDOW_ACCUM_RED_SIZE ((GLenum) 111) +#define GLUT_WINDOW_ACCUM_GREEN_SIZE ((GLenum) 112) +#define GLUT_WINDOW_ACCUM_BLUE_SIZE ((GLenum) 113) +#define GLUT_WINDOW_ACCUM_ALPHA_SIZE ((GLenum) 114) +#define GLUT_WINDOW_DOUBLEBUFFER ((GLenum) 115) +#define GLUT_WINDOW_RGBA ((GLenum) 116) +#define GLUT_WINDOW_PARENT ((GLenum) 117) +#define GLUT_WINDOW_NUM_CHILDREN ((GLenum) 118) +#define GLUT_WINDOW_COLORMAP_SIZE ((GLenum) 119) +#if (GLUT_API_VERSION >= 2) +#define GLUT_WINDOW_NUM_SAMPLES ((GLenum) 120) +#define GLUT_WINDOW_STEREO ((GLenum) 121) +#endif +#if (GLUT_API_VERSION >= 3) +#define GLUT_WINDOW_CURSOR ((GLenum) 122) +#endif +#define GLUT_SCREEN_WIDTH ((GLenum) 200) +#define GLUT_SCREEN_HEIGHT ((GLenum) 201) +#define GLUT_SCREEN_WIDTH_MM ((GLenum) 202) +#define GLUT_SCREEN_HEIGHT_MM ((GLenum) 203) +#define GLUT_MENU_NUM_ITEMS ((GLenum) 300) +#define GLUT_DISPLAY_MODE_POSSIBLE ((GLenum) 400) +#define GLUT_INIT_WINDOW_X ((GLenum) 500) +#define GLUT_INIT_WINDOW_Y ((GLenum) 501) +#define GLUT_INIT_WINDOW_WIDTH ((GLenum) 502) +#define GLUT_INIT_WINDOW_HEIGHT ((GLenum) 503) +#define GLUT_INIT_DISPLAY_MODE ((GLenum) 504) +#if (GLUT_API_VERSION >= 2) +#define GLUT_ELAPSED_TIME ((GLenum) 700) +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_WINDOW_FORMAT_ID ((GLenum) 123) +#endif + +#if (GLUT_API_VERSION >= 2) +/* glutDeviceGet parameters. */ +#define GLUT_HAS_KEYBOARD ((GLenum) 600) +#define GLUT_HAS_MOUSE ((GLenum) 601) +#define GLUT_HAS_SPACEBALL ((GLenum) 602) +#define GLUT_HAS_DIAL_AND_BUTTON_BOX ((GLenum) 603) +#define GLUT_HAS_TABLET ((GLenum) 604) +#define GLUT_NUM_MOUSE_BUTTONS ((GLenum) 605) +#define GLUT_NUM_SPACEBALL_BUTTONS ((GLenum) 606) +#define GLUT_NUM_BUTTON_BOX_BUTTONS ((GLenum) 607) +#define GLUT_NUM_DIALS ((GLenum) 608) +#define GLUT_NUM_TABLET_BUTTONS ((GLenum) 609) +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +#define GLUT_DEVICE_IGNORE_KEY_REPEAT ((GLenum) 610) +#define GLUT_DEVICE_KEY_REPEAT ((GLenum) 611) +#define GLUT_HAS_JOYSTICK ((GLenum) 612) +#define GLUT_OWNS_JOYSTICK ((GLenum) 613) +#define GLUT_JOYSTICK_BUTTONS ((GLenum) 614) +#define GLUT_JOYSTICK_AXES ((GLenum) 615) +#define GLUT_JOYSTICK_POLL_RATE ((GLenum) 616) +#endif + +#if (GLUT_API_VERSION >= 3) +/* glutLayerGet parameters. */ +#define GLUT_OVERLAY_POSSIBLE ((GLenum) 800) +#define GLUT_LAYER_IN_USE ((GLenum) 801) +#define GLUT_HAS_OVERLAY ((GLenum) 802) +#define GLUT_TRANSPARENT_INDEX ((GLenum) 803) +#define GLUT_NORMAL_DAMAGED ((GLenum) 804) +#define GLUT_OVERLAY_DAMAGED ((GLenum) 805) + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* glutVideoResizeGet parameters. */ +#define GLUT_VIDEO_RESIZE_POSSIBLE ((GLenum) 900) +#define GLUT_VIDEO_RESIZE_IN_USE ((GLenum) 901) +#define GLUT_VIDEO_RESIZE_X_DELTA ((GLenum) 902) +#define GLUT_VIDEO_RESIZE_Y_DELTA ((GLenum) 903) +#define GLUT_VIDEO_RESIZE_WIDTH_DELTA ((GLenum) 904) +#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA ((GLenum) 905) +#define GLUT_VIDEO_RESIZE_X ((GLenum) 906) +#define GLUT_VIDEO_RESIZE_Y ((GLenum) 907) +#define GLUT_VIDEO_RESIZE_WIDTH ((GLenum) 908) +#define GLUT_VIDEO_RESIZE_HEIGHT ((GLenum) 909) +#endif + +/* glutUseLayer parameters. */ +#define GLUT_NORMAL ((GLenum) 0) +#define GLUT_OVERLAY ((GLenum) 1) + +/* glutGetModifiers return mask. */ +#define GLUT_ACTIVE_SHIFT 1 +#define GLUT_ACTIVE_CTRL 2 +#define GLUT_ACTIVE_ALT 4 + +/* glutSetCursor parameters. */ +/* Basic arrows. */ +#define GLUT_CURSOR_RIGHT_ARROW 0 +#define GLUT_CURSOR_LEFT_ARROW 1 +/* Symbolic cursor shapes. */ +#define GLUT_CURSOR_INFO 2 +#define GLUT_CURSOR_DESTROY 3 +#define GLUT_CURSOR_HELP 4 +#define GLUT_CURSOR_CYCLE 5 +#define GLUT_CURSOR_SPRAY 6 +#define GLUT_CURSOR_WAIT 7 +#define GLUT_CURSOR_TEXT 8 +#define GLUT_CURSOR_CROSSHAIR 9 +/* Directional cursors. */ +#define GLUT_CURSOR_UP_DOWN 10 +#define GLUT_CURSOR_LEFT_RIGHT 11 +/* Sizing cursors. */ +#define GLUT_CURSOR_TOP_SIDE 12 +#define GLUT_CURSOR_BOTTOM_SIDE 13 +#define GLUT_CURSOR_LEFT_SIDE 14 +#define GLUT_CURSOR_RIGHT_SIDE 15 +#define GLUT_CURSOR_TOP_LEFT_CORNER 16 +#define GLUT_CURSOR_TOP_RIGHT_CORNER 17 +#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18 +#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19 +/* Inherit from parent window. */ +#define GLUT_CURSOR_INHERIT 100 +/* Blank cursor. */ +#define GLUT_CURSOR_NONE 101 +/* Fullscreen crosshair (if available). */ +#define GLUT_CURSOR_FULL_CROSSHAIR 102 +#endif + +/* GLUT initialization sub-API. */ +GLUTAPI void APIENTRY glutInit(int *argcp, char **argv); +#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) +GLUTAPI void APIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int)); +#ifndef GLUT_BUILDING_LIB +static void APIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); } +#define glutInit glutInit_ATEXIT_HACK +#endif +#endif +GLUTAPI void APIENTRY glutInitDisplayMode(unsigned int mode); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +GLUTAPI void APIENTRY glutInitDisplayString(const char *string); +#endif +GLUTAPI void APIENTRY glutInitWindowPosition(int x, int y); +GLUTAPI void APIENTRY glutInitWindowSize(int width, int height); +GLUTAPI void APIENTRY glutMainLoop(void); + +/* GLUT window sub-API. */ +GLUTAPI int APIENTRY glutCreateWindow(const char *title); +#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) +GLUTAPI int APIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int)); +#ifndef GLUT_BUILDING_LIB +static int APIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); } +#define glutCreateWindow glutCreateWindow_ATEXIT_HACK +#endif +#endif +GLUTAPI int APIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height); +GLUTAPI void APIENTRY glutDestroyWindow(int win); +GLUTAPI void APIENTRY glutPostRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +GLUTAPI void APIENTRY glutPostWindowRedisplay(int win); +#endif +GLUTAPI void APIENTRY glutSwapBuffers(void); +GLUTAPI int APIENTRY glutGetWindow(void); +GLUTAPI void APIENTRY glutSetWindow(int win); +GLUTAPI void APIENTRY glutSetWindowTitle(const char *title); +GLUTAPI void APIENTRY glutSetIconTitle(const char *title); +GLUTAPI void APIENTRY glutPositionWindow(int x, int y); +GLUTAPI void APIENTRY glutReshapeWindow(int width, int height); +GLUTAPI void APIENTRY glutPopWindow(void); +GLUTAPI void APIENTRY glutPushWindow(void); +GLUTAPI void APIENTRY glutIconifyWindow(void); +GLUTAPI void APIENTRY glutShowWindow(void); +GLUTAPI void APIENTRY glutHideWindow(void); +#if (GLUT_API_VERSION >= 3) +GLUTAPI void APIENTRY glutFullScreen(void); +GLUTAPI void APIENTRY glutSetCursor(int cursor); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +GLUTAPI void APIENTRY glutWarpPointer(int x, int y); +#endif + +/* GLUT overlay sub-API. */ +GLUTAPI void APIENTRY glutEstablishOverlay(void); +GLUTAPI void APIENTRY glutRemoveOverlay(void); +GLUTAPI void APIENTRY glutUseLayer(GLenum layer); +GLUTAPI void APIENTRY glutPostOverlayRedisplay(void); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11) +GLUTAPI void APIENTRY glutPostWindowOverlayRedisplay(int win); +#endif +GLUTAPI void APIENTRY glutShowOverlay(void); +GLUTAPI void APIENTRY glutHideOverlay(void); +#endif + +/* GLUT menu sub-API. */ +GLUTAPI int APIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int)); +#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK) +GLUTAPI int APIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int)); +#ifndef GLUT_BUILDING_LIB +static int APIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); } +#define glutCreateMenu glutCreateMenu_ATEXIT_HACK +#endif +#endif +GLUTAPI void APIENTRY glutDestroyMenu(int menu); +GLUTAPI int APIENTRY glutGetMenu(void); +GLUTAPI void APIENTRY glutSetMenu(int menu); +GLUTAPI void APIENTRY glutAddMenuEntry(const char *label, int value); +GLUTAPI void APIENTRY glutAddSubMenu(const char *label, int submenu); +GLUTAPI void APIENTRY glutChangeToMenuEntry(int item, const char *label, int value); +GLUTAPI void APIENTRY glutChangeToSubMenu(int item, const char *label, int submenu); +GLUTAPI void APIENTRY glutRemoveMenuItem(int item); +GLUTAPI void APIENTRY glutAttachMenu(int button); +GLUTAPI void APIENTRY glutDetachMenu(int button); + +/* GLUT window callback sub-API. */ +GLUTAPI void APIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void)); +GLUTAPI void APIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height)); +GLUTAPI void APIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y)); +GLUTAPI void APIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y)); +GLUTAPI void APIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y)); +GLUTAPI void APIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y)); +GLUTAPI void APIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state)); +GLUTAPI void APIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state)); +GLUTAPI void APIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void)); +GLUTAPI void APIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value); +GLUTAPI void APIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state)); +#if (GLUT_API_VERSION >= 2) +GLUTAPI void APIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y)); +GLUTAPI void APIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z)); +GLUTAPI void APIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z)); +GLUTAPI void APIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state)); +GLUTAPI void APIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state)); +GLUTAPI void APIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value)); +GLUTAPI void APIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y)); +GLUTAPI void APIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y)); +#if (GLUT_API_VERSION >= 3) +GLUTAPI void APIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y)); +GLUTAPI void APIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void)); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +GLUTAPI void APIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state)); +#endif +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +GLUTAPI void APIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y)); +GLUTAPI void APIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y)); +GLUTAPI void APIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval); +#endif +#endif +#endif + +/* GLUT color index sub-API. */ +GLUTAPI void APIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue); +GLUTAPI GLfloat APIENTRY glutGetColor(int ndx, int component); +GLUTAPI void APIENTRY glutCopyColormap(int win); + +/* GLUT state retrieval sub-API. */ +GLUTAPI int APIENTRY glutGet(GLenum type); +GLUTAPI int APIENTRY glutDeviceGet(GLenum type); +#if (GLUT_API_VERSION >= 2) +/* GLUT extension support sub-API */ +GLUTAPI int APIENTRY glutExtensionSupported(const char *name); +#endif +#if (GLUT_API_VERSION >= 3) +GLUTAPI int APIENTRY glutGetModifiers(void); +GLUTAPI int APIENTRY glutLayerGet(GLenum type); +#endif + +/* GLUT font sub-API */ +GLUTAPI void APIENTRY glutBitmapCharacter(void *font, int character); +GLUTAPI int APIENTRY glutBitmapWidth(void *font, int character); +GLUTAPI void APIENTRY glutStrokeCharacter(void *font, int character); +GLUTAPI int APIENTRY glutStrokeWidth(void *font, int character); +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +GLUTAPI int APIENTRY glutBitmapLength(void *font, const unsigned char *string); +GLUTAPI int APIENTRY glutStrokeLength(void *font, const unsigned char *string); +#endif + +/* GLUT pre-built models sub-API */ +GLUTAPI void APIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks); +GLUTAPI void APIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks); +GLUTAPI void APIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +GLUTAPI void APIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks); +GLUTAPI void APIENTRY glutWireCube(GLdouble size); +GLUTAPI void APIENTRY glutSolidCube(GLdouble size); +GLUTAPI void APIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +GLUTAPI void APIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings); +GLUTAPI void APIENTRY glutWireDodecahedron(void); +GLUTAPI void APIENTRY glutSolidDodecahedron(void); +GLUTAPI void APIENTRY glutWireTeapot(GLdouble size); +GLUTAPI void APIENTRY glutSolidTeapot(GLdouble size); +GLUTAPI void APIENTRY glutWireOctahedron(void); +GLUTAPI void APIENTRY glutSolidOctahedron(void); +GLUTAPI void APIENTRY glutWireTetrahedron(void); +GLUTAPI void APIENTRY glutSolidTetrahedron(void); +GLUTAPI void APIENTRY glutWireIcosahedron(void); +GLUTAPI void APIENTRY glutSolidIcosahedron(void); + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9) +/* GLUT video resize sub-API. */ +GLUTAPI int APIENTRY glutVideoResizeGet(GLenum param); +GLUTAPI void APIENTRY glutSetupVideoResizing(void); +GLUTAPI void APIENTRY glutStopVideoResizing(void); +GLUTAPI void APIENTRY glutVideoResize(int x, int y, int width, int height); +GLUTAPI void APIENTRY glutVideoPan(int x, int y, int width, int height); + +/* GLUT debugging sub-API. */ +GLUTAPI void APIENTRY glutReportErrors(void); +#endif + +#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13) +/* GLUT device control sub-API. */ +/* glutSetKeyRepeat modes. */ +#define GLUT_KEY_REPEAT_OFF 0 +#define GLUT_KEY_REPEAT_ON 1 +#define GLUT_KEY_REPEAT_DEFAULT 2 + +/* Joystick button masks. */ +#define GLUT_JOYSTICK_BUTTON_A 1 +#define GLUT_JOYSTICK_BUTTON_B 2 +#define GLUT_JOYSTICK_BUTTON_C 4 +#define GLUT_JOYSTICK_BUTTON_D 8 + +GLUTAPI void APIENTRY glutIgnoreKeyRepeat(int ignore); +GLUTAPI void APIENTRY glutSetKeyRepeat(int repeatMode); +GLUTAPI void APIENTRY glutForceJoystickFunc(void); + +/* GLUT game mode sub-API. */ +/* glutGameModeGet. */ +#define GLUT_GAME_MODE_ACTIVE ((GLenum) 0) +#define GLUT_GAME_MODE_POSSIBLE ((GLenum) 1) +#define GLUT_GAME_MODE_WIDTH ((GLenum) 2) +#define GLUT_GAME_MODE_HEIGHT ((GLenum) 3) +#define GLUT_GAME_MODE_PIXEL_DEPTH ((GLenum) 4) +#define GLUT_GAME_MODE_REFRESH_RATE ((GLenum) 5) +#define GLUT_GAME_MODE_DISPLAY_CHANGED ((GLenum) 6) + +GLUTAPI void APIENTRY glutGameModeString(const char *string); +GLUTAPI int APIENTRY glutEnterGameMode(void); +GLUTAPI void APIENTRY glutLeaveGameMode(void); +GLUTAPI int APIENTRY glutGameModeGet(GLenum mode); +#endif + +#ifdef __cplusplus +} + +#endif + +#ifdef GLUT_APIENTRY_DEFINED +# undef GLUT_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef GLUT_WINGDIAPI_DEFINED +# undef GLUT_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#ifdef GLUT_DEFINED___CDECL +# undef GLUT_DEFINED___CDECL +# undef __cdecl +#endif + +#ifdef GLUT_DEFINED__CRTIMP +# undef GLUT_DEFINED__CRTIMP +# undef _CRTIMP +#endif + +#endif /* __glut_h__ */ Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut.def =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut.def (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut.def 2008-08-18 23:23:26 UTC (rev 284) @@ -0,0 +1,126 @@ +DESCRIPTION 'OpenGL Utility Toolkit for Win32' + +VERSION 3.7 + +EXPORTS + + glutAddMenuEntry + glutAddSubMenu + glutAttachMenu + glutBitmapCharacter + glutBitmapLength + glutBitmapWidth + glutButtonBoxFunc + glutChangeToMenuEntry + glutChangeToSubMenu + glutCopyColormap + glutCreateMenu + __glutCreateMenuWithExit + glutCreateSubWindow + glutCreateWindow + __glutCreateWindowWithExit + glutDestroyMenu + glutDestroyWindow + glutDetachMenu + glutDeviceGet + glutDialsFunc + glutDisplayFunc + glutEnterGameMode + glutEntryFunc + glutEstablishOverlay + glutExtensionSupported + glutForceJoystickFunc + glutFullScreen + glutGameModeGet + glutGameModeString + glutGet + glutGetColor + glutGetMenu + glutGetModifiers + glutGetWindow + glutHideOverlay + glutHideWindow + glutIconifyWindow + glutIdleFunc + glutIgnoreKeyRepeat + glutInit + __glutInitWithExit + glutInitDisplayMode + glutInitDisplayString + glutInitWindowPosition + glutInitWindowSize + glutJoystickFunc + glutKeyboardFunc + glutKeyboardUpFunc + glutLayerGet + glutLeaveGameMode + glutMainLoop + glutMenuStateFunc + glutMenuStatusFunc + glutMotionFunc + glutMouseFunc + glutOverlayDisplayFunc + glutPassiveMotionFunc + glutPopWindow + glutPositionWindow + glutPostOverlayRedisplay + glutPostRedisplay + glutPostWindowOverlayRedisplay + glutPostWindowRedisplay + glutPushWindow + glutRemoveMenuItem + glutRemoveOverlay + glutReportErrors + glutReshapeFunc + glutReshapeWindow + glutSetColor + glutSetCursor + glutSetIconTitle + glutSetKeyRepeat + glutSetMenu + glutSetWindow + glutSetWindowTitle + glutSetupVideoResizing + glutShowOverlay + glutShowWindow + glutSolidCone + glutSolidCube + glutSolidDodecahedron + glutSolidIcosahedron + glutSolidOctahedron + glutSolidSphere + glutSolidTeapot + glutSolidTetrahedron + glutSolidTorus + glutSpaceballButtonFunc + glutSpaceballMotionFunc + glutSpaceballRotateFunc + glutSpecialFunc + glutSpecialUpFunc + glutStopVideoResizing + glutStrokeCharacter + glutStrokeLength + glutStrokeWidth + glutSwapBuffers + glutTabletButtonFunc + glutTabletMotionFunc + glutTimerFunc + glutUseLayer + glutVideoPan + glutVideoResize + glutVideoResizeGet + glutVisibilityFunc + glutWarpPointer + glutWindowStatusFunc + glutWireCone + glutWireCube + glutWireDodecahedron + glutWireIcosahedron + glutWireOctahedron + glutWireSphere + glutWireTeapot + glutWireTetrahedron + glutWireTorus +; __glutSetFCB +; __glutGetFCB + Property changes on: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.dll ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/hartmut-pre-2_8/artoolkit/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.lib ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-08-18 23:21:44
|
Revision: 283 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=283&view=rev Author: retrakker Date: 2008-08-18 23:21:42 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - add internal copy of DSVL - DSVL working without baselib - added CMake build system Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DSVideoLib.sln branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DsVideoLib.xsd branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/IMPORTANT.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/LICENSE.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/README.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera.xml branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera_flipV.xml branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/cube_left_avi.xml branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/Makefile branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/changes.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/echo.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/readme.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyXmlTest.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyXmlTest.vcproj branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyXmlTestSTL.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyXmlTestSTL.vcproj branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinystr.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinystr.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxml.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxml.dsw branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxml.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxml.sln branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxmlSTL.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxmlSTL.vcproj branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxml_lib.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxml_lib.vcproj branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxmlerror.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/tinyxmlparser.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/utf8test.gif branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/utf8test.xml branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/utf8testverify.xml branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/xmltest.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/media/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/media/cube_left.avi branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/media/cube_right.avi branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL.vcproj branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_GraphManager.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_GraphManager.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_Helpers.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_Helpers.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_PixelFormat.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_PixelFormat.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/DSVL_PixelFormatTypes.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/GL/ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/GL/glut.h branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/IEEE1394_id.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/IEEE1394_id.vcproj branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/glutSample.cpp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/glutSample.dsp branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/glutSample.dsw branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/src/glutSample.vcproj Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/CMakeLists.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,28 @@ +# +# CMake build system for ARToolKit / DSVL capture +# (c) Copyrights 2007-2008 Hartmut Seichter, HIT Lab NZ +# + +add_subdirectory(_ext) + +set(LIB_NAME ARvideo) + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/_ext/dsvl-0.0.8h/src + ) + +set(HDRS ${CMAKE_SOURCE_DIR}/include/AR/video.h) + +set(SRCS videoWin32DirectShow.cpp) + +add_definitions(-DLIBARVIDEO_EXPORTS) + +ADD_LIBRARY(${LIB_NAME} SHARED ${HDRS} ${SRCS}) + +target_link_libraries(${LIB_NAME} + AR + DSVL + ) + +artoolkit_lib_install(${LIB_NAME}) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/CMakeLists.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,6 @@ +# +# CMake build system for DSVL 0.0.8h +# (c) Copyrights 2007-2008 Hartmut Seichter, HIT Lab NZ +# + +add_subdirectory(dsvl-0.0.8h) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/CMakeLists.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,7 @@ +# +# CMake build system for DSVL 0.0.8c +# (c) Copyrights 2007-2008 Hartmut Seichter, HIT Lab NZ +# + +add_subdirectory(extlib) +add_subdirectory(src) Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DSVideoLib.sln =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DSVideoLib.sln (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DSVideoLib.sln 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,57 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DSVL", "src\DSVL.vcproj", "{BFA16123-9EB6-4641-A33F-9FFD7511AD5D}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glutSample", "src\glutSample.vcproj", "{826D36FB-3301-4A56-A8D4-343D84D2941E}" + ProjectSection(ProjectDependencies) = postProject + {BFA16123-9EB6-4641-A33F-9FFD7511AD5D} = {BFA16123-9EB6-4641-A33F-9FFD7511AD5D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IEEE1394_id", "src\IEEE1394_id.vcproj", "{BC55969A-78AA-4C47-AB02-CA04409C6EF8}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {BFA16123-9EB6-4641-A33F-9FFD7511AD5D}.Debug.ActiveCfg = Debug|Win32 + {BFA16123-9EB6-4641-A33F-9FFD7511AD5D}.Debug.Build.0 = Debug|Win32 + {BFA16123-9EB6-4641-A33F-9FFD7511AD5D}.Release.ActiveCfg = Release|Win32 + {BFA16123-9EB6-4641-A33F-9FFD7511AD5D}.Release.Build.0 = Release|Win32 + {826D36FB-3301-4A56-A8D4-343D84D2941E}.Debug.ActiveCfg = Debug|Win32 + {826D36FB-3301-4A56-A8D4-343D84D2941E}.Debug.Build.0 = Debug|Win32 + {826D36FB-3301-4A56-A8D4-343D84D2941E}.Release.ActiveCfg = Release|Win32 + {826D36FB-3301-4A56-A8D4-343D84D2941E}.Release.Build.0 = Release|Win32 + {BC55969A-78AA-4C47-AB02-CA04409C6EF8}.Debug.ActiveCfg = Debug|Win32 + {BC55969A-78AA-4C47-AB02-CA04409C6EF8}.Debug.Build.0 = Debug|Win32 + {BC55969A-78AA-4C47-AB02-CA04409C6EF8}.Release.ActiveCfg = Release|Win32 + {BC55969A-78AA-4C47-AB02-CA04409C6EF8}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection + GlobalSection(DPCodeReviewSolutionGUID) = preSolution + DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection + GlobalSection(DevPartner) = postSolution + EndGlobalSection +EndGlobal Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DsVideoLib.xsd =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DsVideoLib.xsd (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/DsVideoLib.xsd 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by () --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xs:element name="dsvl_input"> + <xs:annotation> + <xs:documentation>Version 1.1</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice> + <xs:element ref="camera"/> + <xs:element ref="avi_file"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="camera"> + <xs:complexType> + <xs:all> + <xs:element ref="pixel_format"/> + </xs:all> + <xs:attribute name="show_format_dialog" type="xs:boolean" use="optional"> + <xs:annotation> + <xs:documentation>Displays either the WDM capture filter's property page or the MSDV decoder format dialog (depending on source media type).</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="device_name" type="xs:string" use="optional" default=""> + <xs:annotation> + <xs:documentation>Used to select preferred WDM device, i.e. try to match a given substring with the "device names" of enumerated DirectShow WDM wrappers (ksproxy.ax). Device names look like: "@device:*:{860BB310-5D01-11d0-BD3B-00A0C911CE86}". Use GraphEdit (part of the DirectX SDK, under \DXSDK\bin\DxUtils\graphedt.exe) to figure out your camera's device name. Specifying a device name will always override the friendly name attribute!</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="friendly_name" type="xs:string" use="optional" default=""> + <xs:annotation> + <xs:documentation>Used to select a preferred WDM device (WARNING: WDM "friendly names" are locale-dependent), i.e. try to match a given substring with the "friendly names" of enumerated DirectShow WDM wrappers (ksproxy.ax).</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="ieee1394id" type="xs:string" use="optional"> + <xs:annotation> + <xs:documentation>Selects a device by its unique 64-bit device identifier, as defined by the IEEE 1394 standard. Hexadecimal value expected, i.e. "437d3b0201460008". Use the IEEE 1394 ID-Tool (/bin/IEEE394_id.exe) to determine your camera's ID. Only applies to DV camcorders!</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="frame_width" type="xs:positiveInteger" use="optional" default="640"> + <xs:annotation> + <xs:documentation>Preferred video width, e.g. 720 for PAL-D1 (720x576).</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="frame_height" type="xs:positiveInteger" use="optional" default="480"> + <xs:annotation> + <xs:documentation> Preferred video height, e.g. 576 for PAL-D1 (720x567).</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="frame_rate" type="xs:double" use="optional" default="30.0"> + <xs:annotation> + <xs:documentation>Preferred frame rate in frames per second (fps), e.g. 25.0 for PAL or 30.0 for NTSC.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + <xs:element name="avi_file"> + <xs:complexType> + <xs:all> + <xs:element ref="pixel_format"/> + </xs:all> + <xs:attribute name="file_name" type="xs:string" use="required"> + <xs:annotation> + <xs:documentation>Specifies the input file name, if it's just a file name (without its full path), the WIN32 API fuction SearchPath() (Winbase.h) will be used to locate the file. </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="use_reference_clock" type="xs:boolean" use="optional"> + <xs:annotation> + <xs:documentation>Do not use a ReferenceClock to synchronize samples; use this flag for offline post-processing.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="loop_avi" type="xs:boolean" use="optional"> + <xs:annotation> + <xs:documentation>Continuously loop through an AVI file.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="render_secondary" type="xs:boolean" use="optional"> + <xs:annotation> + <xs:documentation>Render secondary streams. An AVI file can contain an arbitrary number of multiplexed A/V substreams, usually there are at most 2 substreams (1st: video, 2nd: audio). DSVideoLib will only try to render stream 0x00 (assuming that it's video) and ignore the remaning substreams. Use this flag to force IGraphBuilder->Render(IPin*) calls on substreams 1..n, but DO NOT SET this flag if your AVI file contains more than one video stream.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + <xs:element name="pixel_format"> + <xs:complexType> + <xs:choice> + <xs:element name="RGB32"> + <xs:annotation> + <xs:documentation>MEDIASUBTYPE_RGB32. 32 bits per pixel. Uncompressed RGB samples. Alpha bits are not used with this media type.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:attribute name="flip_h" type="xs:boolean" use="optional"/> + <xs:attribute name="flip_v" type="xs:boolean" use="optional"/> + </xs:complexType> + </xs:element> + <xs:element name="RGB24"> + <xs:annotation> + <xs:documentation>MEDIASUBTYPE_RGB24. 24 bits per pixel. Uncompressed RGB samples.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RGB565"> + <xs:annotation> + <xs:documentation>MEDIASUBTYPE_RGB565. 16 bits per pixel. Uncompressed RGB samples.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="RGB555"> + <xs:annotation> + <xs:documentation>MEDIASUBTYPE_RGB555. 16 bits per pixel. Uncompressed RGB samples.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="UYVY"> + <xs:annotation> + <xs:documentation>MEDIASUBTYPE_UYVY. A packed YUV format. A Y sample at every pixel, a U and V sample at every second pixel horizontally on each line; every vertical line sampled. Probably the most popular of the various YUV 4:2:2 formats. Byte ordering (lowest first) is U0, Y0, V0, Y1, U2, Y2, V2, Y3, U4, Y4, V4, Y5, where the suffix 0 is the leftmost pixel and increasing numbers are pixels increasing left to right. Each 4-byte block is 2 image pixels.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="YUY2"> + <xs:annotation> + <xs:documentation>MEDIASUBTYPE_YUY2. YUY2 format data. Same as UYVY but with different pixel ordering. Byte ordering (lowest first) is Y0, U0, Y1, V0, Y2, U2, Y3, V2, Y4, U4, Y5, V4, where the suffix 0 is the leftmost pixel and increasing numbers are pixels increasing left to right. Each 4-byte block is 2 image pixels.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:choice> + </xs:complexType> + </xs:element> +</xs:schema> Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/IMPORTANT.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/IMPORTANT.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/IMPORTANT.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,11 @@ +IMPORTANT INFORMATION +==================== + +DSVL 0.0.8h doesn't depend on the DirectX SDK nor does +it depend on the BaseClasses included with DirectShow. + +DSVL 0.0.8c no longer depends on the DirectX 9.0 SDK. +DirectShow is now part of the Microsoft Platform SDK +(April 2005 - Windows Server 2003 SP 1). + +[http://msdn.microsoft.com/directx/sdk/readmepage/default.aspx] \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/LICENSE.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/LICENSE.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/LICENSE.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,222 @@ + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/README.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/README.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/README.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,35 @@ +======================================================================== +PROJECT: DirectShow Video Processing Library +Version: 0.0.8h (19/08/2008) +======================================================================== +Author: Thomas Pintaric, Vienna University of Technology +Contact: pin...@im... http://ims.tuwien.ac.at/~thomas + +Adapted by: Hartmut Seichter, HIT Lab NZ +Contact: har...@hi... + +======================================================================= + +Copyright (C) 2005 Vienna University of Technology +Portions Copyright (C) 2006-2008 HIT Lab NZ + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, +USA. + +For further information please contact Thomas Pintaric under +<pin...@im...> or write to Thomas Pintaric, +Vienna University of Technology, Favoritenstr. 9-11/E188/2, A-1040 +Vienna, Austria. +======================================================================== Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera.xml =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera.xml (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera.xml 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Sample XML file generated by XMLSpy v2005 rel. 3 U (http://www.altova.com)--> +<dsvl_input xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Thomas\My Documents\projects\ARToolKit & DSVideoLib\ARVideoLib\DsVideoLib\DsVideoLib.xsd"> + <camera show_format_dialog="true"> + <pixel_format> + <RGB32/> + </pixel_format> + </camera> +</dsvl_input> Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera_flipV.xml =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera_flipV.xml (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/WDM_camera_flipV.xml 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Sample XML file generated by XMLSpy v2005 rel. 3 U (http://www.altova.com)--> +<dsvl_input xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Thomas\My Documents\projects\ARToolKit & DSVideoLib\ARVideoLib\DsVideoLib\DsVideoLib.xsd"> + <camera show_format_dialog="true"> + <pixel_format> + <RGB32 flip_h="false" flip_v="true"/> + </pixel_format> + </camera> +</dsvl_input> Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/cube_left_avi.xml =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/cube_left_avi.xml (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/bin/cube_left_avi.xml 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Sample XML file generated by XMLSpy v2005 rel. 3 U (http://www.altova.com)--> +<dsvl_input xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\Documents and Settings\Thomas\My Documents\projects\ARToolKit & DSVideoLib\ARVideoLib\DsVideoLib\DsVideoLib.xsd"> + <avi_file use_reference_clock="true" file_name="..\media\cube_left.avi" loop_avi="true" render_secondary="true"> + <pixel_format> + <RGB32/> + </pixel_format> + </avi_file> +</dsvl_input> Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/CMakeLists.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,6 @@ +# +# CMake build system for DSVL 0.0.8c +# (c) Copyrights 2007-2008 Hartmut Seichter, HIT Lab NZ +# + +add_subdirectory(tinyxml) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/CMakeLists.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,21 @@ +# +# CMake build system for DSVL 0.0.8c +# (c) Copyrights 2007-2008 Hartmut Seichter, HIT Lab NZ +# + +set(lib_name tinyxml) + +set(SRCS + tinystr.cpp + tinyxml.cpp + tinyxmlerror.cpp + tinyxmlparser.cpp + tinystr.h + tinyxml.h + ) + +add_definitions(-DTIXML_USE_STL) + +add_library(${lib_name} STATIC + ${SRCS} + ) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/Makefile =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/Makefile (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/Makefile 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,127 @@ +#**************************************************************************** +# +# Makefile for TinyXml test. +# Lee Thomason +# www.grinninglizard.com +# +# This is a GNU make (gmake) makefile +#**************************************************************************** + +# DEBUG can be set to YES to include debugging info, or NO otherwise +DEBUG := NO + +# PROFILE can be set to YES to include profiling info, or NO otherwise +PROFILE := NO + +# TINYXML_USE_STL can be used to turn on STL support. NO, then STL +# will not be used. YES will include the STL files. +TINYXML_USE_STL := NO + +#**************************************************************************** + +CC := gcc +CXX := g++ +LD := g++ +AR := ar rc +RANLIB := ranlib + +DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -g -DDEBUG +RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-format -O3 + +LIBS := + +DEBUG_CXXFLAGS := ${DEBUG_CFLAGS} +RELEASE_CXXFLAGS := ${RELEASE_CFLAGS} + +DEBUG_LDFLAGS := -g +RELEASE_LDFLAGS := + +ifeq (YES, ${DEBUG}) + CFLAGS := ${DEBUG_CFLAGS} + CXXFLAGS := ${DEBUG_CXXFLAGS} + LDFLAGS := ${DEBUG_LDFLAGS} +else + CFLAGS := ${RELEASE_CFLAGS} + CXXFLAGS := ${RELEASE_CXXFLAGS} + LDFLAGS := ${RELEASE_LDFLAGS} +endif + +ifeq (YES, ${PROFILE}) + CFLAGS := ${CFLAGS} -pg -O3 + CXXFLAGS := ${CXXFLAGS} -pg -O3 + LDFLAGS := ${LDFLAGS} -pg +endif + +#**************************************************************************** +# Preprocessor directives +#**************************************************************************** + +ifeq (YES, ${TINYXML_USE_STL}) + DEFS := -DTIXML_USE_STL +else + DEFS := +endif + +#**************************************************************************** +# Include paths +#**************************************************************************** + +#INCS := -I/usr/include/g++-2 -I/usr/local/include +INCS := + + +#**************************************************************************** +# Makefile code common to all platforms +#**************************************************************************** + +CFLAGS := ${CFLAGS} ${DEFS} +CXXFLAGS := ${CXXFLAGS} ${DEFS} + +#**************************************************************************** +# Targets of the build +#**************************************************************************** + +OUTPUT := xmltest + +all: ${OUTPUT} + + +#**************************************************************************** +# Source files +#**************************************************************************** + +SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp + +# Add on the sources for libraries +SRCS := ${SRCS} + +OBJS := $(addsuffix .o,$(basename ${SRCS})) + +#**************************************************************************** +# Output +#**************************************************************************** + +${OUTPUT}: ${OBJS} + ${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} + +#**************************************************************************** +# common rules +#**************************************************************************** + +# Rules for compiling source files to object files +%.o : %.cpp + ${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@ + +%.o : %.c + ${CC} -c ${CFLAGS} ${INCS} $< -o $@ + +clean: + -rm -f core ${OBJS} ${OUTPUT} + +depend: + #makedepend ${INCS} ${SRCS} + +tinyxml.o: tinyxml.h tinystr.h +tinyxmlparser.o: tinyxml.h tinystr.h +xmltest.o: tinyxml.h tinystr.h +tinyxmlerror.o: tinyxml.h tinystr.h Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/changes.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/changes.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/changes.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,192 @@ +Changes in version 1.0.1: +- Fixed comment tags which were outputing as '<?--' instead of + the correct '<!--'. +- Implemented the Next and Prev methods of the TiXmlAttribute class. +- Renamed 'LastAttribtute' to 'LastAttribute' +- Fixed bad pointer to 'isspace' that could occur while parsing text. +- Errors finding beginning and end of tags no longer throw it into an + infinite loop. (Hopefully.) + +Changes in version 1.0.2 +- Minor documentation fixes. + +Changes in version 1.0.3 +- After nodes are added to a document, they return a pointer + to the new node instead of a bool for success. +- Elements can be constructed with a value, which is the + element name. Every element must have a value or it will be + invalid, but the code changes to enforce this are not fully + in place. + +Changes in version 1.1.0 +- Added the TiXmlAttributeSet class to pull the attributes into + a seperate container. +- Moved the doubly liked list out of XmlBase. Now XmlBase only + requires the Print() function and defines some utility functions. +- Moved errors into a seperate file. (With the idea of internationalization + to the other latin-1 languages.) +- Added the "NodeType" +- Fixed white space parsing in text to conform with the standard. + Basically, all white space becomes just one space. +- Added the TiXmlDeclaration class to read xml declarations. + +Changes in version 1.2.0 +- Removed the factory. The factory was not really in the spirit + of small and simple, confused the code, and was of limited value. +- Added FirstChildElement and NextSiblingElement, because they + are such common functions. +- Re-wrote the example to test and demonstrate more functionality. + +Changes in version 1.2.1 +- Fixed a bug where comments couldn't be inside elements. +- Loading now clears out existing XML rather than appending. +- Added the "Clear" method on a node to delete all its children. + +Changes in version 1.2.2 +- Fixed TiXmlAttribute::Previous actually returning "next." Thanks + to Rickard Troedsson for the bug fix. + +Changes in version 1.2.3 +- Added the TIXML prefix to the error strings to resolve conflicts + with #defines in OS headers. Thanks to Steve Lhomme. +- Fixed a delete buf that should be a delete [] buf. + Thanks to Ephi Sinowitz. + +Changes in version 1.2.4 +- ReplaceChild() was almost guarenteed to fail. Should be fixed, + thanks to Joe Smith. Joe also pointed out that the Print() functions + should take stream references: I agree, and would like to overload + the Print() method to take either format, but I don't want to do + this in a dot release. +- Some compilers seem to need an extra <ctype.h> include. Thanks + to Steve Lhomme for that. + +Changes in version 2.0.0 BETA +- Made the ToXXX() casts safe if 'this' is null. + When "LoadFile" is called with a filename, the value will correctly get set. + Thanks to Brian Yoder. +- Fixed bug where isalpha() and isalnum() would get called with a negative value for + high ascii numbers. Thanks to Alesky Aksenov. +- Fixed some errors codes that were not getting set. +- Made methods "const" that were not. +- Added a switch to enable or disable the ignoring of white space. ( TiXmlDocument::SetIgnoreWhiteSpace() ) +- Greater standardization and code re-use in the parser. +- Added a stream out operator. +- Added a stream in operator. +- Entity support, of predefined entites. &#x entities are untouched by input or output. +- Improved text out formatting. +- Fixed ReplaceChild bug, thanks to Tao Chen. + +Changes in version 2.0.1 +- Fixed hanging on loading a 0 length file. Thanks to Jeff Scozzafava. +- Fixed crashing on InsertBeforeChild and InsertAfterChild. Also possibility of bad links being + created by same function. Thanks to Frank De prins. +- Added missing licence text. Thanks to Lars Willemsens. +- Added <ctype.h> include, at the suggestion of Steve Walters. + +Changes in version 2.1.0 +- Yves Berquin brings us the STL switch. The forum on SourceForge, and various emails to + me, have long debated all out STL vs. no STL at all. And now you can have it both ways. + TinyXml will compile either way. + +Changes in version 2.1.1 +- Compilation warnings. + +Changes in version 2.1.2 +- Uneeded code is not compiled in the STL case. +- Changed headers so that STL can be turned on or off in tinyxml.h + +Changes in version 2.1.3 +- Fixed non-const reference in API; now uses a pointer. +- Copy constructor of TiXmlString not checking for assignment to self. +- Nimrod Cohen found a truly evil bug in the STL implementation that occurs + when a string is converted to a c_str and then assigned to self. Search for + STL_STRING_BUG for a full description. I'm asserting this is a Microsoft STL + bug, since &string and string.c_str() should never be the same. Nevertheless, + the code works around it. +- Urivan Saaib pointed out a compiler conflict, where the C headers define + the isblank macro, which was wiping out the TiXmlString::isblank() method. + The method was unused and has been removed. + +Changes in version 2.1.4 +- Reworked the entity code. Entities were not correctly surving round trip input and output. + Will now automatically create entities for high ascii in output. + +Changes in version 2.1.5 +- Bug fix by kylotan : infinite loop on some input (tinyxmlparser.cpp rev 1.27) +- Contributed by Ivica Aracic (bytelord) : 1 new VC++ project to compile versions as static libraries (tinyxml_lib.dsp), + and an example usage in xmltest.dsp + (Patch request ID 678605) +- A suggestion by Ronald Fenner Jr (dormlock) to add #include <istream> and <ostream> for Apple's Project Builder + (Patch request ID 697642) +- A patch from ohommes that allows to parse correctly dots in element names and attribute names + (Patch request 602600 and kylotan 701728) +- A patch from hermitgeek ( James ) and wasteland for improper error reporting +- Reviewed by Lee, with the following changes: + - Got sick of fighting the STL/non-STL thing in the windows build. Broke + them out as seperate projects. + - I have too long not included the dsw. Added. + - TinyXmlText had a protected Print. Odd. + - Made LinkEndChild public, with docs and appropriate warnings. + - Updated the docs. + +2.2.0 +- Fixed an uninitialized pointer in the TiXmlAttributes +- Fixed STL compilation problem in MinGW (and gcc 3?) - thanks Brian Yoder for finding this one +- Fixed a syntax error in TiXmlDeclaration - thanks Brian Yoder +- Fletcher Dunn proposed and submitted new error handling that tracked the row and column. Lee + modified it to not have performance impact. +- General cleanup suggestions from Fletcher Dunn. +- In error handling, general errors will no longer clear the error state of specific ones. +- Fix error in documentation : comments starting with "<?--" instead of "<!--" (thanks ion_pulse) +- Added the TiXmlHandle. An easy, safe way to browse XML DOMs with less code. +- Added QueryAttribute calls which have better error messaging. (Proposed by Fletcher Dunn) +- Nodes and attributes can now print themselves to strings. (Yves suggestion) +- Fixed bug where entities with one character would confuse parser. (Thanks Roman) + +2.2.1 +- Additional testing (no more bugs found to be fixed in this release) +- Significant performance improvement to the cursor code. + +2.3.0 +- User Data are now defined in TiXmlBase instead of TiXmlNode +- Character Entities are now UCS-2 +- Character Entities can be decimal or hexadecimal +- UTF-8 conversion. +- Fixed many, many bugs. + +2.3.1 +- Fixed bug in handling nulls embedded in the input. +- Make UTF-8 parser tolerant of bad text encoding. +- Added encoding detection. +- Many fixes and input from John-Philip Leonard Johansson (JP) and Ellers, + including UTF-8 feedback, bug reports, and patches. Thanks! +- Added version # constants - a suggestion from JP and Ellers. +- [ 979180 ] Missing ; in entity reference, fix from Rob Laveaux. +- Copy constructors and assignment have been a long time coming. Thanks to + Fokke and JP. + +2.3.2 +- Made the IsAlpha and IsAlphaNum much more tolerant of non-UTF-8 encodings. Thanks + Volker Boerchers for finding the issue. +- Ran the program though the magnificent Valgrind - http://valgrind.kde.org - to check + for memory errors. Fixed some minor issues. + +2.3.3 +- Fixed crash when test program was run from incorrect directory. +- Fixed bug 1070717 - empty document not returned correctly - thanks Katsuhisa Yuasa. +- Bug 1079301 resolved - deprecated stdlib calls. Thanks Adrian Boeing. +- Bug 1035218 fixed - documentation errors. Xunji Luo +- Other bug fixes have accumulated and been fixed on the way as well; my apologies to + authors not credited! +- Big fix / addition is to correctly return const values. TinyXml could basically + remove const in a method like this: TiXmlElement* Foo() const, where the returned element + was a pointer to internal data. That is now: const TiXmlElement* Foo() const and + TiXmlElement* Foo(). + +2.3.4 +- Fixed additional const errors, thanks Kent Gibson. +- Correctly re-enable warnings after tinyxml header. Thanks Cory Nelson. +- Variety of type cleanup and warning fixes. Thanks Warren Stevens. +- Cleaned up unneeded constructor calls in TinyString - thanks to Geoff Carlton and + the discussion group on sourceforge. Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/echo.dsp =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/echo.dsp (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/echo.dsp 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,113 @@ +# Microsoft Developer Studio Project File - Name="echo" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=echo - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "echo.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "echo.mak" CFG="echo - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "echo - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "echo - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "echo - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "echoRelease" +# PROP Intermediate_Dir "echoRelease" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "TIXML_USE_STL" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "echo - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "echo___Win32_Debug" +# PROP BASE Intermediate_Dir "echo___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "echoDebug" +# PROP Intermediate_Dir "echoDebug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "TIXML_USE_STL" /FR /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "echo - Win32 Release" +# Name "echo - Win32 Debug" +# Begin Source File + +SOURCE=.\xmltester\bugtest.cpp +# End Source File +# Begin Source File + +SOURCE=.\tinystr.cpp +# End Source File +# Begin Source File + +SOURCE=.\tinystr.h +# End Source File +# Begin Source File + +SOURCE=.\tinyxml.cpp +# End Source File +# Begin Source File + +SOURCE=.\tinyxml.h +# End Source File +# Begin Source File + +SOURCE=.\tinyxmlerror.cpp +# End Source File +# Begin Source File + +SOURCE=.\tinyxmlparser.cpp +# End Source File +# End Target +# End Project Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/readme.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/readme.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoWin32DirectShow/_ext/dsvl-0.0.8c/extlib/tinyxml/readme.txt 2008-08-18 23:21:42 UTC (rev 283) @@ -0,0 +1,496 @@ +/** @mainpage + +<h1> TinyXml </h1> + +TinyXml is a simple, small, C++ XML parser that can be easily +integrating into other programs. + + +<h2> What it does. </h2> + +In brief, TinyXml parses an XML document, and builds from that a +Document Object Model (DOM) that can be read, modified, and saved. + +XML stands for "eXtensible Markup Language." It allows you to create +your own document markups. Where HTML does a very good job of marking +documents for browsers, XML allows you to define any kind of document +markup, for example a document that describes a "to do" list for an +organizer application. XML is a very structured and convenient format. +All those random file formats created to store application data can +all be replaced with XML. One parser for everything. + +The best place for the complete, correct, and quite frankly hard to +read spec is at <a href="http://www.w3.org/TR/2004/REC-xml-20040204/"> +http://www.w3.org/TR/2004/REC-xml-20040204/</a>. An intro to XML +(that I really like) can be found at +<a href="http://skew.org/xml/tutorial/">http://skew.org/xml/tutorial</a>. + +There are different ways to access and interact with XML data. +TinyXml uses a D... [truncated message content] |
From: <ret...@us...> - 2008-07-01 22:23:18
|
Revision: 282 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=282&view=rev Author: retrakker Date: 2008-07-01 15:23:26 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Small fix to return 0 for ar2VideoCapNext() - implementation needs to be added to check on actual GStreamer state. Modified Paths: -------------- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c Modified: trunk/artoolkit/lib/SRC/VideoGStreamer/video.c =================================================================== --- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2008-07-01 00:20:34 UTC (rev 281) +++ trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2008-07-01 22:23:26 UTC (rev 282) @@ -166,8 +166,7 @@ int arVideoCapNext( void ) { - ar2VideoCapNext(gVid); - return 0; + return ar2VideoCapNext(gVid);; } /*---------------------------------------------------------------------------*/ @@ -378,8 +377,7 @@ int ar2VideoCapNext(AR2VideoParamT *vid) { - /* gstreamer should */ - return TRUE; + return 0; } int This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-07-01 00:20:25
|
Revision: 281 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=281&view=rev Author: retrakker Date: 2008-06-30 17:20:34 -0700 (Mon, 30 Jun 2008) Log Message: ----------- Better support for forced prerolling in GStreamer. Checking if a live pipeline returns NO_PREROLL and consequently force internal preroll to fetch dimensions of the video. Modified Paths: -------------- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c Modified: trunk/artoolkit/lib/SRC/VideoGStreamer/video.c =================================================================== --- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2008-03-04 11:26:53 UTC (rev 280) +++ trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2008-07-01 00:20:34 UTC (rev 281) @@ -63,29 +63,8 @@ /* only do initialy for the buffer */ if (vid->videoBuffer == NULL && buffer) - { - - /* - * Get the capabilities of the frame, we need that in order - * to extract information about the frame - */ - caps=gst_pad_get_negotiated_caps(pad); - str=gst_caps_get_structure(caps,0); - - /* Get some data about the frame */ - gst_structure_get_int(str,"width",&width); - gst_structure_get_int(str,"height",&height); - gst_structure_get_double(str,"framerate",&rate); - - vid->width = width; - vid->height = height; - - g_print("libARvideo: GStreamer negotiated %dx%d (size: %d / expected: %d)\n",width,height,buffer->size, (vid->width * vid->height * AR_PIX_SIZE_DEFAULT) ); - - /* allocate the buffer */ - - arMalloc(vid->videoBuffer, ARUint8, (vid->width * vid->height * AR_PIX_SIZE_DEFAULT) ); - + { + g_print("libARvideo error! Buffer not allocated\n"); } if (vid->videoBuffer) @@ -96,18 +75,22 @@ return TRUE; } -void -testing_pad(GstPad *pad) -{ + +static +void video_caps_notify(GObject* obj, GParamSpec* pspec, gpointer data) { + const GstCaps *caps; GstStructure *str; gint width,height; gdouble rate; + + AR2VideoParamT *vid = (AR2VideoParamT*)data; - caps=gst_pad_get_negotiated_caps(pad); + caps = gst_pad_get_negotiated_caps((GstPad*)obj); if (caps) { + str=gst_caps_get_structure(caps,0); /* Get some data about the frame */ @@ -115,13 +98,18 @@ gst_structure_get_int(str,"height",&height); gst_structure_get_double(str,"framerate",&rate); - g_print("libARvideo: GStreamer negotiated %dx%d\n",width,height); - } else { - return; -#if 0 - g_print("Nothing yet!"); -#endif + g_print("libARvideo: GStreamer negotiated %dx%d @%3.3fps\n", width, height,rate); + vid->width = width; + vid->height = height; + + g_print("libARvideo: allocating %d bytes\n",(vid->width * vid->height * AR_PIX_SIZE_DEFAULT)); + + /* allocate the buffer */ + arMalloc(vid->videoBuffer, ARUint8, (vid->width * vid->height * AR_PIX_SIZE_DEFAULT) ); + + + } } @@ -193,6 +181,7 @@ GstPad *pad, *peerpad; GstXML *xml; GstStateChangeReturn _ret; + int is_live; char *config; /* If no config string is supplied, we should use the environment variable, otherwise set a sane default */ @@ -258,56 +247,52 @@ g_print("Pipeline has no element named 'artoolkit'!\n"); return 0; }; - + /* get the pad from the probe (the source pad seems to be more flexible) */ pad = gst_element_get_pad (vid->probe, "src"); - + /* get the peerpad aka sink */ + peerpad = gst_pad_get_peer(pad); + /* install the probe callback for capturing */ gst_pad_add_buffer_probe (pad, G_CALLBACK (cb_have_data), vid); - - -#if 0 - /* request ready state */ + + g_signal_connect(pad, "notify::caps", G_CALLBACK(video_caps_notify), vid); + + /* Needed to fill the information for ARVidInfo */ gst_element_set_state (vid->pipeline, GST_STATE_READY); - - /* check if stream is ready */ + + /* wait until it's up and running or failed */ if (gst_element_get_state (vid->pipeline, NULL, NULL, -1) == GST_STATE_CHANGE_FAILURE) { g_error ("libARvideo: failed to put GStreamer into READY state!\n"); } else { + + is_live = (_ret == GST_STATE_CHANGE_NO_PREROLL) ? 1 : 0; g_print ("libARvideo: GStreamer pipeline is READY!\n"); } -#endif /* Needed to fill the information for ARVidInfo */ - gst_element_set_state (vid->pipeline, GST_STATE_PAUSED); + _ret = gst_element_set_state (vid->pipeline, GST_STATE_PAUSED); - peerpad = gst_pad_get_peer(pad); - - testing_pad(peerpad); + is_live = (_ret == GST_STATE_CHANGE_NO_PREROLL) ? 1 : 0; + /* wait until it's up and running or failed */ + if (gst_element_get_state (vid->pipeline, NULL, NULL, -1) == GST_STATE_CHANGE_FAILURE) { + g_error ("libARvideo: failed to put GStreamer into PAUSED state!\n"); + } else { + g_print ("libARvideo: GStreamer pipeline is PAUSED!\n",is_live); + } + /* dismiss the pad */ gst_object_unref (pad); /* dismiss the peer-pad */ gst_object_unref (peerpad); - - /* wait until it's up and running or failed */ - if (gst_element_get_state (vid->pipeline, NULL, NULL, -1) == GST_STATE_CHANGE_FAILURE) { - g_error ("libARvideo: failed to put GStreamer into PAUSE state!\n"); - } else { - g_print ("libARvideo: GStreamer pipeline is PAUSED!\n"); - } - /* now preroll for V4L v2 interfaces */ - if ( - (strstr(config, "v4l2src") != 0) || - (strstr(config, "dv1394src") != 0) || - (strstr(config, "rtspsrc") != 0) /* || - (strstr(config, "videotestsrc") != 0) */) - { + /* now preroll for live sources */ + if (is_live) { - g_print ("libARvdeo: need special prerolling for GStreamer\n"); + g_print ("libARvdeo: need special prerolling for live sources\n"); /* set playing state of the pipeline */ gst_element_set_state (vid->pipeline, GST_STATE_PLAYING); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-03-04 11:26:55
|
Revision: 280 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=280&view=rev Author: retrakker Date: 2008-03-04 03:26:53 -0800 (Tue, 04 Mar 2008) Log Message: ----------- updated CMakeFiles to make the build system really source-tree agnostic. Added macros for bundling data files properly Modified Paths: -------------- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake Modified: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-02-18 23:50:16 UTC (rev 279) +++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-03-04 11:26:53 UTC (rev 280) @@ -1,6 +1,12 @@ +############################################################################## +# CMake build system for ARToolKit 2.7.x # +# # +# (c) Copyright 2007-2008, HITLabNZ, Hartmut Seichter # +############################################################################## + PROJECT(ARToolKit) -SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules") +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH}) SET(ARTOOLKIT_VERSION_MAJOR 2) SET(ARTOOLKIT_VERSION_MINOR 72) @@ -11,19 +17,6 @@ SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) -CONFIGURE_FILE( - ${CMAKE_SOURCE_DIR}/bin/Data/camera_para.dat - ${CMAKE_BINARY_DIR}/bin/Data/camera_para.dat - COPYONLY -) - -CONFIGURE_FILE( - ${CMAKE_SOURCE_DIR}/bin/Data/patt.hiro - ${CMAKE_BINARY_DIR}/bin/Data/patt.hiro - COPYONLY -) - - IF (APPLE) SET(CMAKE_OSX_ARCHITECTURES ppc;i386) SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) @@ -39,7 +32,11 @@ ENDIF(GSTREAMER_FOUND) ENDIF(UNIX) +# right order of include files is important +INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include) +INCLUDE(ARToolKitHelper) + ADD_SUBDIRECTORY(lib) ADD_SUBDIRECTORY(util) ADD_SUBDIRECTORY(examples) Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake 2008-03-04 11:26:53 UTC (rev 280) @@ -0,0 +1,19 @@ +# some simple macros to inject files into bundles + +MACRO(ARTOOLKIT_EXECUTABLE EXE_NAME SRCS) + FILE(GLOB _datafiles "${CMAKE_SOURCE_DIR}/bin/Data/*.dat") + FILE(GLOB _datafiles ${_datafiles} "${CMAKE_SOURCE_DIR}/bin/Data/*.xml") + FILE(GLOB _datafiles ${_datafiles} "${CMAKE_SOURCE_DIR}/bin/Data/patt.*") + IF(APPLE) + SET_SOURCE_FILES_PROPERTIES( + ${_datafiles} + PROPERTIES + MACOSX_PACKAGE_LOCATION "Resources/Data" + ) + + ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS} ${_datafiles}) + ELSE(APPLE) + ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS} ${_datafiles}) + ENDIF(APPLE) +ENDMACRO(ARTOOLKIT_EXECUTABLE) + Modified: branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-02-18 23:50:16 UTC (rev 279) +++ branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-03-04 11:26:53 UTC (rev 280) @@ -2,15 +2,9 @@ SET(SRCS simpleLite.c) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) - INCLUDE(FindOpenGL) INCLUDE(FindGLUT) -IF (APPLE) - ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS}) -ELSE (APPLE) - ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS}) -ENDIF(APPLE) +ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) Modified: branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in =================================================================== --- branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in 2008-02-18 23:50:16 UTC (rev 279) +++ branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in 2008-03-04 11:26:53 UTC (rev 280) @@ -75,12 +75,15 @@ #undef AR_INPUT_GSTREAMER /* - * CMake based configure + * CMake based configuration: */ -#if (@USE_GSTREAMER@ == 1) +#define USE_GSTREAMER @USE_GSTREAMER@ + +#if (USE_GSTREAMER) #define AR_INPUT_GSTREAMER 1 #endif + # ifdef AR_INPUT_V4L # ifdef USE_EYETOY # define AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt 2008-02-18 23:50:16 UTC (rev 279) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt 2008-03-04 11:26:53 UTC (rev 280) @@ -4,12 +4,13 @@ CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/include/${LIB_NAME}/config.h.in - ${CMAKE_SOURCE_DIR}/include/${LIB_NAME}/config.h + ${CMAKE_BINARY_DIR}/include/${LIB_NAME}/config.h ) + FILE(GLOB SRCS *.c) -SET(HDRS ${HDRS} ${CMAKE_SOURCE_DIR}/include/AR/config.h) +SET(HDRS ${HDRS} ${CMAKE_BINARY_DIR}/include/AR/config.h) SET(HDRS ${HDRS} ${CMAKE_SOURCE_DIR}/include/AR/ar.h) ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) Modified: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-02-18 23:50:16 UTC (rev 279) +++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-03-04 11:26:53 UTC (rev 280) @@ -2,15 +2,9 @@ SET(SRCS mk_patt.c) -INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) - INCLUDE(FindOpenGL) INCLUDE(FindGLUT) -IF (APPLE) - ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS}) -ELSE (APPLE) - ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS}) -ENDIF(APPLE) +ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <phi...@us...> - 2008-02-18 23:50:16
|
Revision: 279 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=279&view=rev Author: philip_lamb Date: 2008-02-18 15:50:16 -0800 (Mon, 18 Feb 2008) Log Message: ----------- - Pulldowns from ARToolKit4: Add Linux/Unix scripts to set ARTOOLKIT_2_ROOT env variable. Add share/artoolkit-config script to ease linking to ARToolKit in third-party binaries. Remove Xmu and add pthread to link libs on Linux. - Correct version number in config.h.in. - Add share directory in Xcode project files list. Modified Paths: -------------- trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj trunk/artoolkit/Configure trunk/artoolkit/Makefile.in trunk/artoolkit/include/AR/config.h.in Added Paths: ----------- trunk/artoolkit/share/artoolkit-config.in trunk/artoolkit/share/artoolkit-setenv trunk/artoolkit/share/artoolkit-unsetenv Modified: trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj =================================================================== --- trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj 2008-02-17 22:34:52 UTC (rev 278) +++ trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj 2008-02-18 23:50:16 UTC (rev 279) @@ -1424,6 +1424,13 @@ 4A934D80086A2DB700DF2FAC /* libARvrml.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libARvrml.a; sourceTree = "<group>"; }; 4A99C6520A59DCC3001B4C35 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Makefile.in; sourceTree = "<group>"; }; 4A99C6530A59DCC3001B4C35 /* video.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = video.c; sourceTree = "<group>"; }; + 4A9F9ABD0D6A4E7B00C7456B /* artoolkit-config */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "artoolkit-config"; sourceTree = "<group>"; }; + 4A9F9ABE0D6A4E7B00C7456B /* artoolkit-config.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "artoolkit-config.in"; sourceTree = "<group>"; }; + 4A9F9ABF0D6A4E7B00C7456B /* artoolkit-setenv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "artoolkit-setenv"; sourceTree = "<group>"; }; + 4A9F9AC00D6A4E7B00C7456B /* artoolkit-unsetenv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "artoolkit-unsetenv"; sourceTree = "<group>"; }; + 4A9F9AC10D6A4E7B00C7456B /* globals.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = globals.lua; sourceTree = "<group>"; }; + 4A9F9AC20D6A4E7B00C7456B /* modules.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = modules.lua; sourceTree = "<group>"; }; + 4A9F9AC30D6A4E7B00C7456B /* premake.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = premake.lua; sourceTree = "<group>"; }; 4AAB8C740728934300708844 /* ARToolKit.dsw */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; lineEnding = 2; path = ARToolKit.dsw; sourceTree = "<group>"; }; 4AAB8C750728934300708844 /* ARToolKit.sln */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ARToolKit.sln; sourceTree = "<group>"; }; 4AAB8C760728937100708844 /* libARvideo.dsp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = libARvideo.dsp; sourceTree = "<group>"; }; @@ -1948,6 +1955,7 @@ 4A427C06048431FA00B56093 /* patterns */, 4A427C10048431FA00B56093 /* util */, 4A461B5C04843FAA00B56093 /* bin */, + 4A9F9ABC0D6A4E7B00C7456B /* share */, 4A3F1552064A0C7C0042B0D7 /* External Libraries & Frameworks */, 4AE2305E0659B7D10047D402 /* Products */, ); @@ -2469,6 +2477,20 @@ path = VideoGStreamer; sourceTree = "<group>"; }; + 4A9F9ABC0D6A4E7B00C7456B /* share */ = { + isa = PBXGroup; + children = ( + 4A9F9ABD0D6A4E7B00C7456B /* artoolkit-config */, + 4A9F9ABE0D6A4E7B00C7456B /* artoolkit-config.in */, + 4A9F9ABF0D6A4E7B00C7456B /* artoolkit-setenv */, + 4A9F9AC00D6A4E7B00C7456B /* artoolkit-unsetenv */, + 4A9F9AC10D6A4E7B00C7456B /* globals.lua */, + 4A9F9AC20D6A4E7B00C7456B /* modules.lua */, + 4A9F9AC30D6A4E7B00C7456B /* premake.lua */, + ); + path = share; + sourceTree = "<group>"; + }; 4AC3C076075188AB0073D2C6 /* graphicsTest */ = { isa = PBXGroup; children = ( Modified: trunk/artoolkit/Configure =================================================================== --- trunk/artoolkit/Configure 2008-02-17 22:34:52 UTC (rev 278) +++ trunk/artoolkit/Configure 2008-02-18 23:50:16 UTC (rev 279) @@ -1,32 +1,51 @@ #!/bin/sh -# ARToolKit Configure for Linux Video Devices +# ARToolKit Configure for Linux/Unix Video Devices # ##################################################### MDIR=". \ lib/SRC \ - lib/SRC/AR lib/SRC/ARMulti lib/SRC/Gl \ - lib/SRC/VideoLinux1394Cam lib/SRC/VideoLinuxDV \ - lib/SRC/VideoLinuxV4L lib/SRC/VideoSGI \ + lib/SRC/AR \ + lib/SRC/ARMulti \ + lib/SRC/Gl \ + lib/SRC/VideoLinux1394Cam \ + lib/SRC/VideoLinuxDV \ + lib/SRC/VideoLinuxV4L \ + lib/SRC/VideoSGI \ lib/SRC/VideoMacOSX \ lib/SRC/VideoGStreamer \ lib/SRC/ARvrml \ util \ - util/calib_camera2 util/calib_cparam util/calib_distortion \ - util/mk_patt util/graphicsTest util/videoTest \ + util/calib_camera2 \ + util/calib_cparam \ + util/calib_distortion \ + util/mk_patt \ + util/graphicsTest \ + util/videoTest \ examples \ - examples/collide examples/exview \ - examples/loadMultiple examples/modeTest examples/multi examples/optical \ - examples/paddle examples/paddleDemo examples/paddleInteraction examples/range \ - examples/relation examples/simple examples/simple2 examples/simpleLite \ - examples/twoView examples/simpleVRML \ + examples/collide \ + examples/exview \ + examples/loadMultiple \ + examples/modeTest \ + examples/multi \ + examples/optical \ + examples/paddle \ + examples/paddleDemo \ + examples/paddleInteraction \ + examples/range \ + examples/relation \ + examples/simple \ + examples/simple2 \ + examples/simpleLite \ + examples/twoView \ + examples/simpleVRML \ " SED=/tmp/SED.$$ trap "rm -f $SED; exit 0" 0 1 2 3 15 +VERSION=`grep -E 'AR_HEADER_VERSION_STRING[[:space:]]+"[0-9]+\.[0-9]+(\.[0-9]+)*"' include/AR/config.h.in | grep -Eo "[0-9]+\.[0-9]+(\.[0-9]+)*"` - E=`uname` if [ "$E" = "Linux" ] then @@ -42,7 +61,7 @@ then echo echo "Color conversion should use x86 assembly (choose 'n' for 64bit systems)?" - echo -n "Enter : " + echo -n "Enter : " read ANS if [ "$ANS" = "y" ] then @@ -59,13 +78,13 @@ LDFLAG="-L/usr/X11R6/lib" ARFLAG="rs" RANLIB="" - LIBS="-lglut -lGLU -lGL -lXi -lXmu -lX11 -lm" + LIBS="-lglut -lGLU -lGL -lXi -lX11 -lm -lpthread" CONFIG="AR_INPUT_V4L" elif [ "$ANS" = "2" ] then echo - echo "Color conversion should use x86 assembly (not working for 64bit)?" - echo -n "Enter : " + echo "Color conversion should use x86 assembly (Answer n if compiling for 64 bit)?" + echo -n "Enter : " read ANS if [ "$ANS" = "y" ] then @@ -82,16 +101,16 @@ LDFLAG="-L/usr/X11R6/lib" ARFLAG="rs" RANLIB="" - LIBS="-lglut -lGLU -lGL -lXi -lXmu -lX11 -lm -ljpeg" + LIBS="-lglut -lGLU -lGL -lXi -lX11 -lm -lpthread -ljpeg" CONFIG="AR_INPUT_V4L" elif [ "$ANS" = "3" ] then VIDEO_DRIVER="VideoLinuxDV" - CFLAG="-O -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include" - LDFLAG="-L/usr/X11R6/lib -L/usr/local/lib" + CFLAG="-O -I/usr/X11R6/include" + LDFLAG="-L/usr/X11R6/lib" ARFLAG="rs" RANLIB="" - LIBS="-lraw1394 -ldv -lpthread -lglut -lGLU -lGL -lXi -lXmu -lX11 -lm" + LIBS="-lglut -lGLU -lGL -lXi -lX11 -lm -lpthread -lraw1394 -ldv" CONFIG="AR_INPUT_DV" elif [ "$ANS" = "4" ] then @@ -100,20 +119,21 @@ LDFLAG="-L/usr/X11R6/lib" ARFLAG="rs" RANLIB="" - LIBS="-lglut -lGLU -lGL -lXi -lXmu -lX11 -lm -lraw1394 -ldc1394_control" + LIBS="-lglut -lGLU -lGL -lXi -lX11 -lm -lpthread -lraw1394 -ldc1394_control" CONFIG="AR_INPUT_1394CAM" elif [ "$ANS" = "5" ] then VIDEO_DRIVER="VideoGStreamer" - GST_INCLUDE=`pkg-config --cflags gstreamer-0.10` - GST_LIBS=`pkg-config --libs gstreamer-0.10` - - CFLAG="-O $GST_INCLUDE -I/usr/X11R6/include -fPIC" - LDFLAG="$GST_LIBS -L/usr/X11R6/lib -L/usr/local/lib" + CFLAG="-O -I/usr/X11R6/include -fPIC" + LDFLAG="-L/usr/X11R6/lib" ARFLAG="rs" RANLIB="" - LIBS="-lpthread -lglut -lGLU -lGL -lXi -lX11 -lm" + LIBS="-lglut -lGLU -lGL -lXi -lX11 -lm -lpthread" CONFIG="AR_INPUT_GSTREAMER" + GST_CFLAGS=`pkg-config --cflags gstreamer-0.10` + GST_LIBS=`pkg-config --libs gstreamer-0.10` + CFLAG="$CFLAG $GST_CFLAGS" + LIBS="$LIBS $GST_LIBS" else echo "Please enter 1,2,3,4 or 5." exit 0 @@ -155,7 +175,7 @@ LDFLAG="" ARFLAG="-r" RANLIB="ranlib \$\@" - LIBS="-framework Carbon -framework QuickTime -framework GLUT -framework OpenGL -framework AppKit -framework Foundation -lobjc" + LIBS="-framework Carbon -framework QuickTime -framework GLUT -framework OpenGL -framework Cocoa" echo "Does your Mac have fast texture mapping hardware? (y or n)" echo -n "Enter : " @@ -192,6 +212,12 @@ exit 0 fi +# +# Output step 1. +# Create Makefiles, setting symbols, and selecting directories for compilation. +# + +# Prefix any slashes with '\' for sed. echo $VIDEO_DRIVER | sed -e 's/\//\\\//g' >$SED VIDEO_DRIVER=`cat $SED` echo $CFLAG | sed -e 's/\//\\\//g' >$SED @@ -223,7 +249,15 @@ echo " create $i/Makefile" sed -f $SED <$i/Makefile.in > $i/Makefile done +echo " create share/artoolkit-config" +sed -f $SED <share/artoolkit-config.in > share/artoolkit-config +chmod ugo+rx share/artoolkit-config +# +# Output step 2. +# Record configuration in config.h. +# + if [ "$NVEXT" = "y" ] then cat > $SED <<EOF Modified: trunk/artoolkit/Makefile.in =================================================================== --- trunk/artoolkit/Makefile.in 2008-02-17 22:34:52 UTC (rev 278) +++ trunk/artoolkit/Makefile.in 2008-02-18 23:50:16 UTC (rev 279) @@ -14,3 +14,4 @@ (cd examples; make -f Makefile allclean) rm -f Makefile rm -f include/AR/config.h + rm -f share/artoolkit-config Modified: trunk/artoolkit/include/AR/config.h.in =================================================================== --- trunk/artoolkit/include/AR/config.h.in 2008-02-17 22:34:52 UTC (rev 278) +++ trunk/artoolkit/include/AR/config.h.in 2008-02-18 23:50:16 UTC (rev 279) @@ -19,7 +19,7 @@ // The TINY version number defines bug-fixes to existing // functionality. Range: [0-99]. -#define AR_HEADER_VERSION_TINY 0 +#define AR_HEADER_VERSION_TINY 1 // The BUILD version number will always be zero in releases, // but may be non-zero in internal builds or in version-control @@ -28,7 +28,7 @@ // The string representation below must match the major, minor // and tiny release numbers. -#define AR_HEADER_VERSION_STRING "2.72.0" +#define AR_HEADER_VERSION_STRING "2.72.1" // The macros below are convenience macros to enable use // of certain ARToolKit header functionality by the release Added: trunk/artoolkit/share/artoolkit-config.in =================================================================== --- trunk/artoolkit/share/artoolkit-config.in (rev 0) +++ trunk/artoolkit/share/artoolkit-config.in 2008-02-18 23:50:16 UTC (rev 279) @@ -0,0 +1,100 @@ +#! /bin/sh + +prefix="${ARTOOLKIT_2_ROOT}" +exec_prefix="${prefix}" +includedir="${prefix}/include" +libdir="${exec_prefix}/lib" +version=@VERSION@ +cflags="@CFLAG@" +ldflags="@LDFLAG@" +libs="@LIBS@" + +usage() +{ + cat <<EOF +Usage: artoolkit-config [OPTION] + +Known values for OPTION are: + + --prefix=DIR change artoolkit prefix [default $prefix] + --exec-prefix=DIR change artoolkit exec prefix [default $exec_prefix] + --libs print all library linking information + --libs-only-l print only -l library linking information + --cflags print pre-processor and compiler flags + --help display this help and exit + --version output version information +EOF + + exit $1 +} + +if test $# -eq 0; then + usage 1 +fi + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case "$1" in + --prefix=*) + prefix=$optarg + includedir=$prefix/include + libdir=$prefix/lib + ;; + + --prefix) + echo $prefix + ;; + + --exec-prefix=*) + exec_prefix=$optarg + libdir=$exec_prefix/lib + ;; + + --exec-prefix) + echo $exec_prefix + ;; + + --version) + echo $version + exit 0 + ;; + + --help) + usage 0 + ;; + + --cflags) + echo $cflags + ;; + + --libs-only-l) + echo $libs + ;; + + --libs) + if [ "`uname`" = "Linux" ] + then + if [ "-L${libdir}" = "-L/usr/lib64" ] + then + echo "$ldflags $libs" + else + echo "-L${libdir} $ldflags $libs" + fi + else + echo "-L${libdir} $ldflags $libs" + fi + ;; + + *) + usage + exit 1 + ;; + esac + shift +done + +exit 0 Added: trunk/artoolkit/share/artoolkit-setenv =================================================================== --- trunk/artoolkit/share/artoolkit-setenv (rev 0) +++ trunk/artoolkit/share/artoolkit-setenv 2008-02-18 23:50:16 UTC (rev 279) @@ -0,0 +1,15 @@ +#! /bin/sh + +# Assume we're in the share dir. +ARTOOLKIT_2_ROOT=`echo $0 | sed "s/\/share\/.*//"` +if [ "`echo ${ARTOOLKIT_2_ROOT} | cut -c 1`" != "/" ] +then + ARTOOLKIT_2_ROOT="`pwd`/${ARTOOLKIT_2_ROOT}" +fi + +echo "ARTOOLKIT_2_ROOT=${ARTOOLKIT_2_ROOT}; export ARTOOLKIT_2_ROOT" >> ~/.profile +echo "setenv ARTOOLKIT_2_ROOT ${ARTOOLKIT_2_ROOT}" >> ~/.cshrc +if [ "`uname`" = "Darwin" ] +then + defaults write ~/.MacOSX/environment ARTOOLKIT_2_ROOT -string "${ARTOOLKIT_2_ROOT}"; plutil -convert xml1 ~/.MacOSX/environment.plist +fi Property changes on: trunk/artoolkit/share/artoolkit-setenv ___________________________________________________________________ Name: svn:executable + * Added: trunk/artoolkit/share/artoolkit-unsetenv =================================================================== --- trunk/artoolkit/share/artoolkit-unsetenv (rev 0) +++ trunk/artoolkit/share/artoolkit-unsetenv 2008-02-18 23:50:16 UTC (rev 279) @@ -0,0 +1,7 @@ +#! /bin/sh +sed -i.bak '/ARTOOLKIT_2_ROOT=/d' ~/.profile +sed -i.bak '/setenv ARTOOLKIT_2_ROOT/d' ~/.cshrc +if [ "`uname`" = "Darwin" ] +then + defaults delete ~/.MacOSX/environment ARTOOLKIT_2_ROOT; plutil -convert xml1 ~/.MacOSX/environment.plist +fi Property changes on: trunk/artoolkit/share/artoolkit-unsetenv ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-02-17 22:34:52
|
Revision: 278 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=278&view=rev Author: retrakker Date: 2008-02-17 14:34:52 -0800 (Sun, 17 Feb 2008) Log Message: ----------- updated CMake for usage with GStreamer. Added Find module for GStreamer Modified Paths: -------------- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c Added Paths: ----------- branches/hartmut-pre-2_8/artoolkit/CMakeModules/ branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt Modified: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) +++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278) @@ -1,7 +1,45 @@ PROJECT(ARToolKit) -SET(CMAKE_OSX_ARCHITECTURES "ppc;i386") -SET(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/") +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules") +SET(ARTOOLKIT_VERSION_MAJOR 2) +SET(ARTOOLKIT_VERSION_MINOR 72) +SET(ARTOOLKIT_VERSION_TINY 3) +SET(ARTOOLKIT_VERSION_REV 99) + +SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin) +SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) + + +CONFIGURE_FILE( + ${CMAKE_SOURCE_DIR}/bin/Data/camera_para.dat + ${CMAKE_BINARY_DIR}/bin/Data/camera_para.dat + COPYONLY +) + +CONFIGURE_FILE( + ${CMAKE_SOURCE_DIR}/bin/Data/patt.hiro + ${CMAKE_BINARY_DIR}/bin/Data/patt.hiro + COPYONLY +) + + +IF (APPLE) + SET(CMAKE_OSX_ARCHITECTURES ppc;i386) + SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk) +ENDIF(APPLE) + +IF (UNIX) + SET(USE_GSTREAMER 0) + + INCLUDE(FindGStreamer) + + IF(GSTREAMER_FOUND) + SET(USE_GSTREAMER 1) + ENDIF(GSTREAMER_FOUND) +ENDIF(UNIX) + + ADD_SUBDIRECTORY(lib) +ADD_SUBDIRECTORY(util) ADD_SUBDIRECTORY(examples) Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindGStreamer.cmake 2008-02-17 22:34:52 UTC (rev 278) @@ -0,0 +1,83 @@ +# - Try to find GStreamer +# Once done this will define +# +# GSTREAMER_FOUND - system has GStreamer +# GSTREAMER_INCLUDE_DIR - the GStreamer include directory +# GSTREAMER_LIBRARIES - the libraries needed to use GStreamer +# GSTREAMER_DEFINITIONS - Compiler switches required for using GStreamer +# +# (c)2006, Tim Beaulen <tb...@gm...> + +# TODO: Other versions --> GSTREAMER_X_Y_FOUND (Example: GSTREAMER_0_8_FOUND and GSTREAMER_0_10_FOUND etc) + +IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY) + # in cache already + SET(GStreamer_FIND_QUIETLY TRUE) +ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY) + SET(GStreamer_FIND_QUIETLY FALSE) +ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY) + +IF (NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + INCLUDE(UsePkgConfig) + PKGCONFIG(gstreamer-0.10 _GStreamerIncDir _GStreamerLinkDir _GStreamerLinkFlags _GStreamerCflags) + #MESSAGE(STATUS "DEBUG: GStreamer include directory = ${_GStreamerIncDir}") + #MESSAGE(STATUS "DEBUG: GStreamer link directory = ${_GStreamerLinkDir}") + #MESSAGE(STATUS "DEBUG: GStreamer link flags = ${_GStreamerLinkFlags}") + #MESSAGE(STATUS "DEBUG: GStreamer CFlags = ${_GStreamerCflags}") + SET(GSTREAMER_DEFINITIONS ${_GStreamerCflags}) +ENDIF (NOT WIN32) + +FIND_PATH(GSTREAMER_INCLUDE_DIR gst/gst.h + PATHS + ${_GStreamerIncDir} + #PATH_SUFFIXES gst + ) + +FIND_LIBRARY(GSTREAMER_LIBRARIES NAMES gstreamer-0.10 + PATHS + ${_GStreamerLinkDir} + ) + +FIND_LIBRARY(GSTREAMER_INTERFACE_LIBRARY NAMES gstinterfaces-0.10 + PATHS + ${_GStreamerLinkDir} + ) + +IF (GSTREAMER_INCLUDE_DIR) + #MESSAGE(STATUS "DEBUG: Found GStreamer include dir: ${GSTREAMER_INCLUDE_DIR}") +ELSE (GSTREAMER_INCLUDE_DIR) + MESSAGE(STATUS "GStreamer: WARNING: include dir not found") +ENDIF (GSTREAMER_INCLUDE_DIR) + +IF (GSTREAMER_LIBRARIES) + #MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_LIBRARIES}") +ELSE (GSTREAMER_LIBRARIES) + MESSAGE(STATUS "GStreamer: WARNING: library not found") +ENDIF (GSTREAMER_LIBRARIES) + +IF (GSTREAMER_INTERFACE_LIBRARY) + #MESSAGE(STATUS "DEBUG: Found GStreamer interface library: ${GSTREAMER_INTERFACE_LIBRARY}") +ELSE (GSTREAMER_INTERFACE_LIBRARY) + MESSAGE(STATUS "GStreamer: WARNING: interface library not found") +ENDIF (GSTREAMER_INTERFACE_LIBRARY) + +IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY) + SET(GSTREAMER_FOUND TRUE) +ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY) + SET(GSTREAMER_FOUND FALSE) +ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_INTERFACE_LIBRARY) + +IF (GSTREAMER_FOUND) + IF (NOT GStreamer_FIND_QUIETLY) + MESSAGE(STATUS "Found GStreamer: ${GSTREAMER_LIBRARIES}") + ENDIF (NOT GStreamer_FIND_QUIETLY) +ELSE (GSTREAMER_FOUND) + IF (GStreamer_FIND_REQUIRED) + MESSAGE(SEND_ERROR "Could NOT find GStreamer") + ENDIF (GStreamer_FIND_REQUIRED) +ENDIF (GSTREAMER_FOUND) + +MARK_AS_ADVANCED(GSTREAMER_INCLUDE_DIR GSTREAMER_LIBRARIES GSTREAMER_INTERFACE_LIBRARY) + Modified: branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in =================================================================== --- branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in 2008-02-17 11:02:49 UTC (rev 277) +++ branches/hartmut-pre-2_8/artoolkit/include/AR/config.h.in 2008-02-17 22:34:52 UTC (rev 278) @@ -10,21 +10,21 @@ // The MAJOR version number defines non-backwards compatible // changes in the ARToolKit API. Range: [0-99]. -#define AR_HEADER_VERSION_MAJOR 2 +#define AR_HEADER_VERSION_MAJOR @ARTOOLKIT_VERSION_MAJOR@ // The MINOR version number defines additions to the ARToolKit // API, or (occsasionally) other significant backwards-compatible // changes in runtime functionality. Range: [0-99]. -#define AR_HEADER_VERSION_MINOR 72 +#define AR_HEADER_VERSION_MINOR @ARTOOLKIT_VERSION_MINOR@ // The TINY version number defines bug-fixes to existing // functionality. Range: [0-99]. -#define AR_HEADER_VERSION_TINY 0 +#define AR_HEADER_VERSION_TINY @ARTOOLKIT_VERSION_TINY@ // The BUILD version number will always be zero in releases, // but may be non-zero in internal builds or in version-control // repository-sourced code. Range: [0-99]. -#define AR_HEADER_VERSION_BUILD 0 +#define AR_HEADER_VERSION_BUILD @ARTOOLKIT_VERSION_REV@ // The string representation below must match the major, minor // and tiny release numbers. @@ -74,6 +74,13 @@ #undef AR_INPUT_1394CAM #undef AR_INPUT_GSTREAMER +/* + * CMake based configure + */ +#if (@USE_GSTREAMER@ == 1) +#define AR_INPUT_GSTREAMER 1 +#endif + # ifdef AR_INPUT_V4L # ifdef USE_EYETOY # define AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB Modified: branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278) @@ -8,4 +8,10 @@ # Video IF (APPLE) ADD_SUBDIRECTORY(VideoMacOSX) -ENDIF(APPLE) \ No newline at end of file +ENDIF(APPLE) + +IF (UNIX) + IF (USE_GSTREAMER) + ADD_SUBDIRECTORY(VideoGStreamer) + ENDIF(USE_GSTREAMER) +ENDIF(UNIX) Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoGStreamer/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278) @@ -0,0 +1,19 @@ +SET(LIB_NAME ARvideo) + +INCLUDE_DIRECTORIES( + ${CMAKE_SOURCE_DIR}/include + ${GSTREAMER_INCLUDE_DIR} + ) + +SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/video.h) + +SET(SRCS video.c) + +ADD_DEFINITIONS(${GSTREAMER_DEFINITIONS}) + +ADD_LIBRARY(${LIB_NAME} SHARED ${HDRS} ${SRCS}) + +TARGET_LINK_LIBRARIES(${LIB_NAME} + AR + ${GSTREAMER_LIBRARIES} + ) Added: branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/util/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278) @@ -0,0 +1 @@ +ADD_SUBDIRECTORY(mk_patt) Added: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-02-17 22:34:52 UTC (rev 278) @@ -0,0 +1,16 @@ +SET(EXE_NAME mk_patt) + +SET(SRCS mk_patt.c) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +INCLUDE(FindOpenGL) +INCLUDE(FindGLUT) + +IF (APPLE) + ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS}) +ELSE (APPLE) + ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS}) +ENDIF(APPLE) + +TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) Modified: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c =================================================================== --- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c 2008-02-17 11:02:49 UTC (rev 277) +++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/mk_patt.c 2008-02-17 22:34:52 UTC (rev 278) @@ -58,7 +58,7 @@ char *vconf = "-size=FULL"; #elif defined(__linux) # if defined(AR_INPUT_GSTREAMER) -char *vconf = "videotestsrc"; +char *vconf = ""; # elif defined(AR_INPUT_V4L) char *vconf = "-width=640 -height=480"; # elif defined(AR_INPUT_1394CAM) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-02-17 11:02:46
|
Revision: 277 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=277&view=rev Author: retrakker Date: 2008-02-17 03:02:49 -0800 (Sun, 17 Feb 2008) Log Message: ----------- added initial CMake build system (for now only working on Mac OS X) Added Paths: ----------- branches/hartmut-pre-2_8/ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/examples/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/ARMulti/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoMacOSX/CMakeLists.txt Copied: branches/hartmut-pre-2_8 (from rev 276, trunk) Added: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,7 @@ +PROJECT(ARToolKit) + +SET(CMAKE_OSX_ARCHITECTURES "ppc;i386") +SET(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/") + +ADD_SUBDIRECTORY(lib) +ADD_SUBDIRECTORY(examples) Added: branches/hartmut-pre-2_8/artoolkit/examples/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/examples/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/examples/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,6 @@ +ADD_SUBDIRECTORY(simpleLite) + + + + + Added: branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,16 @@ +SET(EXE_NAME simpleLite) + +SET(SRCS simpleLite.c) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +INCLUDE(FindOpenGL) +INCLUDE(FindGLUT) + +IF (APPLE) + ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS}) +ELSE (APPLE) + ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS}) +ENDIF(APPLE) + +TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES}) Added: branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1 @@ +ADD_SUBDIRECTORY(SRC) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/AR/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,17 @@ +SET(LIB_NAME AR) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +CONFIGURE_FILE( + ${CMAKE_SOURCE_DIR}/include/${LIB_NAME}/config.h.in + ${CMAKE_SOURCE_DIR}/include/${LIB_NAME}/config.h + ) + +FILE(GLOB SRCS *.c) + +SET(HDRS ${HDRS} ${CMAKE_SOURCE_DIR}/include/AR/config.h) +SET(HDRS ${HDRS} ${CMAKE_SOURCE_DIR}/include/AR/ar.h) + +ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) + +TARGET_LINK_LIBRARIES(${LIB_NAME} AR) Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/ARMulti/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/ARMulti/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/ARMulti/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,9 @@ +SET(LIB_NAME ARMulti) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/arMulti.h) + +FILE(GLOB SRCS *.c) + +ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,11 @@ +# Core library +ADD_SUBDIRECTORY(AR) +ADD_SUBDIRECTORY(ARMulti) + +# GL utility +ADD_SUBDIRECTORY(Gl) + +# Video +IF (APPLE) + ADD_SUBDIRECTORY(VideoMacOSX) +ENDIF(APPLE) \ No newline at end of file Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/Gl/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,40 @@ +SET(LIB_NAME ARgsub) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsub.h) + +FILE(GLOB SRCS gsub.c) + +ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) + +TARGET_LINK_LIBRARIES(${LIB_NAME} AR) + + +SET(LIB_NAME ARgsub_lite) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsub_lite.h) + +FILE(GLOB SRCS gsub_lite.c) + +ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) + +TARGET_LINK_LIBRARIES(${LIB_NAME} AR) + + +SET(LIB_NAME ARgsubUtil) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/gsubUtil.h) + +FILE(GLOB SRCS gsubUtil.c) + +ADD_LIBRARY(${LIB_NAME} ${HDRS} ${SRCS}) + +TARGET_LINK_LIBRARIES(${LIB_NAME} AR) + + + Added: branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoMacOSX/CMakeLists.txt =================================================================== --- branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoMacOSX/CMakeLists.txt (rev 0) +++ branches/hartmut-pre-2_8/artoolkit/lib/SRC/VideoMacOSX/CMakeLists.txt 2008-02-17 11:02:49 UTC (rev 277) @@ -0,0 +1,17 @@ +SET(LIB_NAME ARvideo) + +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) + +SET(HDRS ${CMAKE_SOURCE_DIR}/include/AR/video.h) + +SET(SRCS video.c ARVideoSettingsController.m ARVideoSettingsController.h videoInternal.h) + +ADD_LIBRARY(${LIB_NAME} SHARED ${HDRS} ${SRCS}) + +TARGET_LINK_LIBRARIES(${LIB_NAME} + AR + "-framework QuickTime" + "-framework System" + "-framework Cocoa" + "-framework Carbon" + ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2008-01-22 22:13:34
|
Revision: 276 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=276&view=rev Author: retrakker Date: 2008-01-22 14:13:36 -0800 (Tue, 22 Jan 2008) Log Message: ----------- Updated GStreamer video capture: - if no configuration string is given at all, fall back to video test image - dereference pad on the sink - changed license to LGPL v2 Updated Configure script: - added fPIC flag to fix compilation issues on x86_ia64 systems where only relocatable code is allowed Modified Paths: -------------- trunk/artoolkit/Configure trunk/artoolkit/include/AR/sys/videoGStreamer.h trunk/artoolkit/lib/SRC/VideoGStreamer/video.c Modified: trunk/artoolkit/Configure =================================================================== --- trunk/artoolkit/Configure 2008-01-04 10:10:10 UTC (rev 275) +++ trunk/artoolkit/Configure 2008-01-22 22:13:36 UTC (rev 276) @@ -108,7 +108,7 @@ GST_INCLUDE=`pkg-config --cflags gstreamer-0.10` GST_LIBS=`pkg-config --libs gstreamer-0.10` - CFLAG="-O $GST_INCLUDE -I/usr/X11R6/include" + CFLAG="-O $GST_INCLUDE -I/usr/X11R6/include -fPIC" LDFLAG="$GST_LIBS -L/usr/X11R6/lib -L/usr/local/lib" ARFLAG="rs" RANLIB="" Modified: trunk/artoolkit/include/AR/sys/videoGStreamer.h =================================================================== --- trunk/artoolkit/include/AR/sys/videoGStreamer.h 2008-01-04 10:10:10 UTC (rev 275) +++ trunk/artoolkit/include/AR/sys/videoGStreamer.h 2008-01-22 22:13:36 UTC (rev 276) @@ -1,9 +1,9 @@ /* * Video capture module utilising the GStreamer pipeline for AR Toolkit * - * (c) Copyrights 2003-2006 Hartmut Seichter + * (c) Copyrights 2003-2008 Hartmut Seichter <http://www.technotecture.com> * - * Licensed under the terms of the GPL + * Licensed under the terms of the LGPL v2 * */ #ifndef AR_VIDEO_GSTREAMER_H Modified: trunk/artoolkit/lib/SRC/VideoGStreamer/video.c =================================================================== --- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2008-01-04 10:10:10 UTC (rev 275) +++ trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2008-01-22 22:13:36 UTC (rev 276) @@ -1,9 +1,9 @@ /* * Video capture module utilising the GStreamer pipeline for AR Toolkit * - * (c) Copyrights 2003-2007 Hartmut Seichter + * (c) Copyrights 2003-2008 Hartmut Seichter <http://www.technotecture.com> * - * licensed under the terms of the GPL v2.0 + * licensed under the terms of the LGPL v2 * */ @@ -22,6 +22,9 @@ #include <string.h> +#define GSTREAMER_TEST_LAUNCH_CFG "videotestsrc ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink" + + struct _AR2VideoParamT { /* size of the image */ @@ -201,8 +204,14 @@ g_printf ("Using config string from environment [%s].\n", envconf); } else { config = NULL; - g_printf ("No video config string supplied, using defaults.\n"); + + g_printf ("Warning: no video config string supplied, using default!.\n"); + + /* setting up defaults - we fall back to the TV test signal simulator */ + config = GSTREAMER_TEST_LAUNCH_CFG; + } + } else { config = config_in; g_printf ("Using supplied video config string [%s].\n", config_in); @@ -254,13 +263,10 @@ pad = gst_element_get_pad (vid->probe, "src"); - /* install the probe callback for capturing */ - + /* install the probe callback for capturing */ gst_pad_add_buffer_probe (pad, G_CALLBACK (cb_have_data), vid); - /* gst_object_unref(pad);*/ - #if 0 /* request ready state */ gst_element_set_state (vid->pipeline, GST_STATE_READY); @@ -282,6 +288,9 @@ /* dismiss the pad */ gst_object_unref (pad); + + /* dismiss the peer-pad */ + gst_object_unref (peerpad); /* wait until it's up and running or failed */ if (gst_element_get_state (vid->pipeline, NULL, NULL, -1) == GST_STATE_CHANGE_FAILURE) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <phi...@us...> - 2008-01-04 10:10:06
|
Revision: 275 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=275&view=rev Author: philip_lamb Date: 2008-01-04 02:10:10 -0800 (Fri, 04 Jan 2008) Log Message: ----------- - Define project root for Xcode 3.0. Modified Paths: -------------- trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj Modified: trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj =================================================================== --- trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj 2007-11-19 09:29:38 UTC (rev 274) +++ trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj 2008-01-04 10:10:10 UTC (rev 275) @@ -3285,6 +3285,7 @@ mainGroup = 08FB7794FE84155DC02AAC07 /* ARToolKit */; productRefGroup = 08FB7794FE84155DC02AAC07 /* ARToolKit */; projectDirPath = ""; + projectRoot = ""; targets = ( 4AB9FFA10651CE85003B9097 /* ARToolKit complete */, 4A8486680728DD530063B1B3 /* Configure */, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2007-11-19 09:29:38
|
Revision: 274 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=274&view=rev Author: retrakker Date: 2007-11-19 01:29:38 -0800 (Mon, 19 Nov 2007) Log Message: ----------- Attempt to fix GStreamer capture with newest GStreamer > 0.10.11 Modified Paths: -------------- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c Modified: trunk/artoolkit/lib/SRC/VideoGStreamer/video.c =================================================================== --- trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2007-11-06 20:33:30 UTC (rev 273) +++ trunk/artoolkit/lib/SRC/VideoGStreamer/video.c 2007-11-19 09:29:38 UTC (rev 274) @@ -23,29 +23,30 @@ struct _AR2VideoParamT { + + /* size of the image */ + int width, height; + /* the actual video buffer */ + ARUint8 *videoBuffer; + /* GStreamer pipeline */ GstElement *pipeline; /* GStreamer identity needed for probing */ GstElement *probe; - - /* size of the image */ - int width, height; - /* the actual video buffer */ - ARUint8 *videoBuffer; - }; -static AR2VideoParamT *gVid = 0; +static AR2VideoParamT *gVid = NULL; static gboolean cb_have_data (GstPad *pad, GstBuffer *buffer, gpointer u_data) { + const GstCaps *caps; GstStructure *str; @@ -53,10 +54,12 @@ gdouble rate; AR2VideoParamT *vid = (AR2VideoParamT*)u_data; + + if (vid == NULL) return FALSE; /* only do initialy for the buffer */ - if (vid->videoBuffer == 0) + if (vid->videoBuffer == NULL && buffer) { /* @@ -70,23 +73,22 @@ gst_structure_get_int(str,"width",&width); gst_structure_get_int(str,"height",&height); gst_structure_get_double(str,"framerate",&rate); - - g_print("libARvideo: GStreamer negotiated %dx%d\n",width,height); vid->width = width; vid->height = height; + + g_print("libARvideo: GStreamer negotiated %dx%d (size: %d / expected: %d)\n",width,height,buffer->size, (vid->width * vid->height * AR_PIX_SIZE_DEFAULT) ); /* allocate the buffer */ - vid->videoBuffer = malloc(buffer->size); + + arMalloc(vid->videoBuffer, ARUint8, (vid->width * vid->height * AR_PIX_SIZE_DEFAULT) ); - return TRUE; - } - else + + if (vid->videoBuffer) { - /* copy the video buffer */ - memcpy(vid->videoBuffer, buffer->data, buffer->size); - } + memcpy(vid->videoBuffer, buffer->data, buffer->size); + } return TRUE; } @@ -213,7 +215,7 @@ arMalloc( vid, AR2VideoParamT, 1 ); /* initialise buffer */ - vid->videoBuffer = 0; + vid->videoBuffer = NULL; /* report the current version and features */ g_print ("libARvideo: %s\n", gst_version_string()); @@ -253,11 +255,12 @@ /* install the probe callback for capturing */ + gst_pad_add_buffer_probe (pad, G_CALLBACK (cb_have_data), vid); + + /* gst_object_unref(pad);*/ - - #if 0 /* request ready state */ gst_element_set_state (vid->pipeline, GST_STATE_READY); @@ -288,10 +291,15 @@ } /* now preroll for V4L v2 interfaces */ - if ((strstr(config, "v4l2src") != 0) || + if ( + (strstr(config, "v4l2src") != 0) || (strstr(config, "dv1394src") != 0) || - (strstr(config, "rtspsrc") != 0) ) + (strstr(config, "rtspsrc") != 0) /* || + (strstr(config, "videotestsrc") != 0) */) { + + g_print ("libARvdeo: need special prerolling for GStreamer\n"); + /* set playing state of the pipeline */ gst_element_set_state (vid->pipeline, GST_STATE_PLAYING); @@ -388,3 +396,4 @@ *y = vid->height; // height of your static image } + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <phi...@us...> - 2007-11-06 20:33:32
|
Revision: 273 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=273&view=rev Author: philip_lamb Date: 2007-11-06 12:33:30 -0800 (Tue, 06 Nov 2007) Log Message: ----------- Provide linkage to OpenVRML-0.14.3 for Visual Studio .NET 2003. Fix usage in libARvrml for openvrml-0.16.6 under Windows. Modified Paths: -------------- trunk/artoolkit/lib/SRC/ARvrml/arViewer.cpp trunk/artoolkit/lib/SRC/ARvrml/arViewer.h trunk/artoolkit/lib/SRC/ARvrml/libARvrml.vcproj Added Paths: ----------- trunk/artoolkit/lib/SRC/ARvrml/arViewerCapi_openvrml-0.14.3.cpp trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.cpp trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.h Modified: trunk/artoolkit/lib/SRC/ARvrml/arViewer.cpp =================================================================== --- trunk/artoolkit/lib/SRC/ARvrml/arViewer.cpp 2007-10-29 02:05:23 UTC (rev 272) +++ trunk/artoolkit/lib/SRC/ARvrml/arViewer.cpp 2007-11-06 20:33:30 UTC (rev 273) @@ -58,8 +58,8 @@ public: explicit file_resource_istream(const std::string & path): resource_istream(&this->buf_) { - if (!this->buf_.open(path.c_str(), ios_base::in)) { - this->setstate(ios_base::failbit); + if (!this->buf_.open(path.c_str(), ios_base::in | ios_base::binary)) { + this->setstate(ios_base::badbit); } } @@ -78,7 +78,8 @@ { // // A real application should use OS facilities for this. This - // is a crude hack. + // is a crude hack because sdl-viewer uses std::filebuf in + // order to remain simple and portable. // using std::find; using std::string; @@ -95,9 +96,9 @@ find(next(dot_pos.base()), this->url_.end(), '#'); const string ext(dot_pos.base(), hash_pos); if (iequals(ext, "wrl")) { - media_type = "model/vrml"; + media_type = openvrml::vrml_media_type; } else if (iequals(ext, "x3dv")) { - media_type = "model/x3d+vrml"; + media_type = openvrml::x3d_vrml_media_type; } else if (iequals(ext, "png")) { media_type = "image/png"; } else if (iequals(ext, "jpg") || iequals(ext, "jpeg")) { @@ -120,8 +121,23 @@ // file:// // ^ // 01234567 + static const string::size_type authority_start_index = 7; + // - string path = uri.substr(uri.find_first_of('/', 7)); + // On Windows we want to start at the drive letter, which is after the + // first slash in the path. + // + // We ignore the content of the authority; a smarter implementation + // should confirm that it is localhost, the machine name, or zero + // length. + // + string::size_type path_start_index = +# ifdef _WIN32 + uri.find_first_of('/', authority_start_index) + 1; +# else + uri.find_first_of('/', authority_start_index); +# endif + string path = uri.substr(path_start_index); auto_ptr<resource_istream> in(new file_resource_istream(path)); static_cast<file_resource_istream *>(in.get())->url(uri); @@ -130,7 +146,7 @@ } -arVrmlViewer::arVrmlViewer() : gl::viewer::viewer() +arVrmlViewer::arVrmlViewer() { internal_light = true; Modified: trunk/artoolkit/lib/SRC/ARvrml/arViewer.h =================================================================== --- trunk/artoolkit/lib/SRC/ARvrml/arViewer.h 2007-10-29 02:05:23 UTC (rev 272) +++ trunk/artoolkit/lib/SRC/ARvrml/arViewer.h 2007-11-06 20:33:30 UTC (rev 273) @@ -45,7 +45,7 @@ class arVrmlViewer : public openvrml::gl::viewer { public: - arVrmlViewer(); + explicit arVrmlViewer(); ~arVrmlViewer() throw (); char filename[512]; Added: trunk/artoolkit/lib/SRC/ARvrml/arViewerCapi_openvrml-0.14.3.cpp =================================================================== --- trunk/artoolkit/lib/SRC/ARvrml/arViewerCapi_openvrml-0.14.3.cpp (rev 0) +++ trunk/artoolkit/lib/SRC/ARvrml/arViewerCapi_openvrml-0.14.3.cpp 2007-11-06 20:33:30 UTC (rev 273) @@ -0,0 +1,165 @@ +#include <AR/arvrml.h> +#include "arViewer_openvrml-0.14.3.h" +#include <iostream> +#include <vector> +#include <string> +#ifdef __APPLE__ +# include <GLUT/glut.h> +#else +# include <GL/glut.h> +#endif +#include <stdio.h> +#include <string.h> + +#define AR_VRML_MAX 100 + +static arVrmlViewer *viewer[AR_VRML_MAX]; +static int init = 1; +static int vrID = -1; + +static char *get_buff( char *buf, int n, FILE *fp ); + + +int arVrmlLoadFile(const char *file) +{ + + FILE *fp; + openvrml::browser * myBrowser = 0; + char buf[256], buf1[256]; + char buf2[256]; + int id; + int i; + + if( init ) { + for( i = 0; i < AR_VRML_MAX; i++ ) viewer[i] = NULL; + init = 0; + } + for( i = 0; i < AR_VRML_MAX; i++ ) { + if( viewer[i] == NULL ) break; + } + if( i == AR_VRML_MAX ) return -1; + id = i; + + + if( (fp=fopen(file, "r")) == NULL ) return -1; + + get_buff(buf, 256, fp); + if( sscanf(buf, "%s", buf1) != 1 ) {fclose(fp); return -1;} + for( i = 0; file[i] != '\0'; i++ ) buf2[i] = file[i]; + for( ; i >= 0; i-- ) { + if( buf2[i] == '/' ) break; + } + buf2[i+1] = '\0'; + sprintf(buf, "%s%s", buf2, buf1); + + myBrowser = new openvrml::browser(std::cout, std::cerr); + if( !myBrowser) {fclose(fp); return -1;} + + std::vector<std::string> uri(1, buf); + std::vector<std::string> parameter; + myBrowser->load_url(uri, parameter); + + viewer[id] = new arVrmlViewer(*myBrowser); + if(!viewer[id]) + { + delete myBrowser; + fclose(fp); + return -1; + } + strcpy( viewer[id]->filename, buf ); + + get_buff(buf, 256, fp); + if( sscanf(buf, "%lf %lf %lf", &viewer[id]->translation[0], + &viewer[id]->translation[1], &viewer[id]->translation[2]) != 3 ) { + delete viewer[id]; + viewer[id] = NULL; + fclose(fp); + return -1; + } + + get_buff(buf, 256, fp); + if( sscanf(buf, "%lf %lf %lf %lf", &viewer[id]->rotation[0], + &viewer[id]->rotation[1], &viewer[id]->rotation[2], &viewer[id]->rotation[3]) != 4 ) { + delete viewer[id]; + viewer[id] = NULL; + fclose(fp); + return -1; + } + + get_buff(buf, 256, fp); + if( sscanf(buf, "%lf %lf %lf", &viewer[id]->scale[0], &viewer[id]->scale[1], + &viewer[id]->scale[2]) != 3 ) { + delete viewer[id]; + viewer[id] = NULL; + fclose(fp); + return -1; + } + fclose(fp); + + return id; +} + +int arVrmlFree( int id ) +{ + if( viewer[id] == NULL ) return -1; + + delete viewer[id]; + viewer[id] = NULL; + + if( vrID == id ) { + vrID = -1; + } + + return 0; +} + +int arVrmlTimerUpdate() +{ + int i; + + for( i = 0; i < AR_VRML_MAX; i++ ) { + if( viewer[i] == NULL ) continue; + viewer[i]->timerUpdate(); + } + return 0; +} + +int arVrmlDraw( int id ) +{ + if( viewer[id] == NULL ) return -1; + viewer[id]->redraw(); + return 0; +} + +int arVrmlSetInternalLight( int flag ) +{ + int i; + + if( flag ) { + for( i = 0; i < AR_VRML_MAX; i++ ) { + if( viewer[i] == NULL ) continue; + viewer[i]->setInternalLight(true); + } + } + else { + for( i = 0; i < AR_VRML_MAX; i++ ) { + if( viewer[i] == NULL ) continue; + viewer[i]->setInternalLight(false); + } + } + + return 0; +} + +static char *get_buff( char *buf, int n, FILE *fp ) +{ + char *ret, buf1[256]; + + for(;;) { + ret = fgets( buf, n, fp ); + if( ret == NULL ) return(NULL); + if( sscanf(buf, "%s", buf1) != 1 ) continue; + + if( buf1[0] != '#' ) return(ret); + } +} Added: trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.cpp =================================================================== --- trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.cpp (rev 0) +++ trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.cpp 2007-11-06 20:33:30 UTC (rev 273) @@ -0,0 +1,196 @@ +/* +modif: +version 0.14.3 + +remove vrmlScene since we use reference now. +remove culling pb +*/ + +#include <iostream> +#include <math.h> +#ifdef __APPLE__ +# include <GLUT/glut.h> +#else +# include <GL/glut.h> +#endif +#include "arViewer_openvrml-0.14.3.h" + +using namespace openvrml; + +arVrmlViewer::arVrmlViewer(openvrml::browser& browser) : gl::viewer(browser) +{ + internal_light = true; + + translation[0] = 0.0; + translation[1] = 0.0; + translation[2] = 0.0; + + rotation[0] = 0.0; + rotation[1] = 0.0; + rotation[2] = 0.0; + rotation[3] = 0.0; + + scale[0] = 1.0; + scale[1] = 1.0; + scale[2] = 1.0; +} + +arVrmlViewer::~arVrmlViewer() +{ + +} + +void arVrmlViewer::timerUpdate() +{ + this->update(0.0); +} + + + +void arVrmlViewer::setInternalLight(bool flag) +{ + internal_light = flag; +} + +void arVrmlViewer::redraw() +{ + double start = browser::current_time(); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glTranslated( translation[0], translation[1], translation[2] ); + if (rotation[0] != 0.0) { + glRotated(rotation[0], rotation[1], rotation[2], rotation[3]); + } + glScaled(scale[0], scale[1], scale[2]); + +#if USE_STENCIL_SHAPE + glEnable(GL_STENCIL_TEST); + glStencilFunc(GL_ALWAYS, 1, 1); + glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); +#endif + glEnable(GL_DEPTH_TEST); + glDepthFunc(GL_LEQUAL); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glDisable(GL_FOG); // this is a global attribute + glDisable(GL_TEXTURE_2D); + glEnable(GL_CULL_FACE); + glFrontFace(GL_CCW); + glCullFace(GL_BACK); + + if (internal_light) { + if (lit) glEnable(GL_LIGHTING); + glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE); + glEnable(GL_NORMALIZE); + glDisable(GL_COLOR_MATERIAL); + glDisable(GL_BLEND); + glShadeModel(GL_SMOOTH); + + for (int i = 0; i < max_lights; ++i) { + light_info_[i].type = light_unused; + GLenum light = (GLenum) (GL_LIGHT0 + i); + glDisable(light); + } + } + + objects = 0; + nested_objects = 0; + sensitive = 0; + + this->browser.render(*this); + + if (internal_light) { + if (lit) glDisable(GL_LIGHTING); + } + glDisable(GL_BLEND); + glDisable(GL_CULL_FACE); + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); +} + +void arVrmlViewer::post_redraw() +{ + +} +void arVrmlViewer::set_cursor(cursor_style c) +{ + +} + +void arVrmlViewer::swap_buffers() +{ + +} + +void arVrmlViewer::set_timer(double t) +{ + +} + + +void arVrmlViewer::set_viewpoint(const openvrml::vec3f & position, + const openvrml::rotation & orientation, + float fieldOfView, + float avatarSize, + float visibilityLimit) +{ + +} + +viewer::object_t arVrmlViewer::insert_background(const std::vector<float> & groundAngle, + const std::vector<openvrml::color> & groundColor, + const std::vector<float> & skyAngle, + const std::vector<openvrml::color> & skyColor, + size_t * whc, + unsigned char ** pixels) +{ + return 0; +} + +viewer::object_t arVrmlViewer::insert_dir_light(float ambientIntensity, + float intensity, + const openvrml::color & color, + const openvrml::vec3f & direction) +{ + if (internal_light) return gl::viewer::insert_dir_light(ambientIntensity, intensity, color, direction); + return 0; +} + +viewer::object_t arVrmlViewer::insert_point_light(float ambientIntensity, + const openvrml::vec3f & attenuation, + const openvrml::color & color, + float intensity, + const openvrml::vec3f & location, + float radius) +{ + if (internal_light) return gl::viewer::insert_point_light(ambientIntensity, attenuation, color, intensity, location, radius); + + return 0; +} + + +viewer::object_t arVrmlViewer::insert_spot_light(float ambientIntensity, + const openvrml::vec3f & attenuation, + float beamWidth, + const openvrml::color & color, + float cutOffAngle, + const openvrml::vec3f & direction, + float intensity, + const openvrml::vec3f & location, + float radius) +{ + if (internal_light) return gl::viewer::insert_spot_light(ambientIntensity, attenuation, beamWidth, color,cutOffAngle, direction, intensity, location, radius); + return 0; +} + + bounding_volume::intersection +arVrmlViewer::intersect_view_volume(const bounding_volume & bvolume) const +{ + // if( d_cull ) { + //return openvrml::viewer::intersect_view_volume(bvolume); + // } + // else { + return bounding_volume::inside; + //} +} Added: trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.h =================================================================== --- trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.h (rev 0) +++ trunk/artoolkit/lib/SRC/ARvrml/arViewer_openvrml-0.14.3.h 2007-11-06 20:33:30 UTC (rev 273) @@ -0,0 +1,71 @@ +// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- + +#ifndef AR_VRMLINT_H +#define AR_VRMLINT_H + +#include <openvrml/browser.h> +#include <openvrml/gl/viewer.h> +#include <openvrml/bounding_volume.h> + +class arVrmlViewer : public openvrml::gl::viewer { + +public: + arVrmlViewer(openvrml::browser& browser); + ~arVrmlViewer(); + + char filename[512]; + double translation[3]; + double rotation[4]; + double scale[3]; + bool internal_light; + + void timerUpdate(); + void redraw(); + void setInternalLight( bool f ); + +protected: + virtual void post_redraw(); + virtual void set_cursor(openvrml::gl::viewer::cursor_style c); + virtual void swap_buffers(); + virtual void set_timer(double); + + + virtual void set_viewpoint(const openvrml::vec3f & position, + const openvrml::rotation & orientation, + float fieldOfView, + float avatarSize, + float visibilityLimit); + + virtual viewer::object_t insert_background(const std::vector<float> & groundAngle, + const std::vector<openvrml::color> & groundColor, + const std::vector<float> & skyAngle, + const std::vector<openvrml::color> & skyColor, + size_t * whc = 0, + unsigned char ** pixels = 0); + + virtual viewer::object_t insert_dir_light(float ambientIntensity, + float intensity, + const openvrml::color & color, + const openvrml::vec3f & direction); + + virtual viewer::object_t insert_point_light(float ambientIntensity, + const openvrml::vec3f & attenuation, + const openvrml::color & color, + float intensity, + const openvrml::vec3f & location, + float radius); + + virtual viewer::object_t insert_spot_light(float ambientIntensity, + const openvrml::vec3f & attenuation, + float beamWidth, + const openvrml::color & color, + float cutOffAngle, + const openvrml::vec3f & direction, + float intensity, + const openvrml::vec3f & location, + float radius); + virtual openvrml::bounding_volume::intersection + intersect_view_volume(const openvrml::bounding_volume & bvolume) const; +}; + +#endif Modified: trunk/artoolkit/lib/SRC/ARvrml/libARvrml.vcproj =================================================================== --- trunk/artoolkit/lib/SRC/ARvrml/libARvrml.vcproj 2007-10-29 02:05:23 UTC (rev 272) +++ trunk/artoolkit/lib/SRC/ARvrml/libARvrml.vcproj 2007-11-06 20:33:30 UTC (rev 273) @@ -20,7 +20,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir)..\..\..\include;$(ProjectDir)..\..\..\OpenVRML\include;$(ProjectDir)..\..\..\OpenVRML\dependencies\include" - PreprocessorDefinitions="WIN32;_DEBUG;_LIB;S;OPENVRML_ENABLE_IMAGETEXTURE_NODE;OPENVRML_ENABLE_GZIP" + PreprocessorDefinitions="WIN32;_DEBUG;_LIB;" BasicRuntimeChecks="3" RuntimeLibrary="3" UsePrecompiledHeader="0" @@ -99,10 +99,10 @@ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> <File - RelativePath=".\arViewer.cpp"> + RelativePath=".\arViewer_openvrml-0.14.3.cpp"> </File> <File - RelativePath=".\arViewerCapi.cpp"> + RelativePath=".\arViewerCapi_openvrml-0.14.3.cpp"> </File> </Filter> <Filter @@ -110,10 +110,10 @@ Filter="h;hpp;hxx;hm;inl;inc;xsd" UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> <File - RelativePath=".\arViewer.h"> + RelativePath=".\arViewer_openvrml-0.14.3.h"> </File> <File - RelativePath="..\..\..\include\Ar\arvrml.h"> + RelativePath="..\..\..\include\AR\arvrml.h"> </File> </Filter> <Filter @@ -121,9 +121,6 @@ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> </Filter> - <File - RelativePath=".\ReadMe.txt"> - </File> </Files> <Globals> </Globals> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ret...@us...> - 2007-10-29 02:05:20
|
Revision: 272 http://artoolkit.svn.sourceforge.net/artoolkit/?rev=272&view=rev Author: retrakker Date: 2007-10-28 19:05:23 -0700 (Sun, 28 Oct 2007) Log Message: ----------- minor fixes for compilation on MacOS X Leopardand Ubuntu 7.10 Modified Paths: -------------- trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj trunk/artoolkit/doc/gsub_lite/CompositePage.html trunk/artoolkit/doc/gsub_lite/DataTypes/DataTypes.html trunk/artoolkit/doc/gsub_lite/Functions/Functions.html trunk/artoolkit/doc/gsub_lite/gsub_lite.html trunk/artoolkit/doc/gsub_lite/index.html trunk/artoolkit/doc/gsub_lite/toc.html trunk/artoolkit/util/calib_camera2/main.c trunk/artoolkit/util/calib_cparam/calib_cparam.c trunk/artoolkit/util/calib_distortion/calib_dist.c Modified: trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj =================================================================== --- trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj 2007-10-01 02:11:58 UTC (rev 271) +++ trunk/artoolkit/ARToolKit.xcodeproj/project.pbxproj 2007-10-29 02:05:23 UTC (rev 272) @@ -3280,6 +3280,7 @@ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 4A7E913D085904A2001E80E8 /* Build configuration list for PBXProject "ARToolKit" */; + compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 08FB7794FE84155DC02AAC07 /* ARToolKit */; productRefGroup = 08FB7794FE84155DC02AAC07 /* ARToolKit */; Modified: trunk/artoolkit/doc/gsub_lite/CompositePage.html =================================================================== --- trunk/artoolkit/doc/gsub_lite/CompositePage.html 2007-10-01 02:11:58 UTC (rev 271) +++ trunk/artoolkit/doc/gsub_lite/CompositePage.html 2007-10-29 02:05:23 UTC (rev 272) @@ -1,16 +1,20 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd"> <html><head> - <title>gsub_lite</title> + <title>gsub_lite </title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <meta name="generator" content="HeaderDoc"> -<style type="text/css"><!--a:link {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}a:visited {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}a:visited:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}a:active {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}a:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}h4 {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: tiny; font-weight: bold;}body {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: 10pt;}--></style></head><body bgcolor="#ffffff"> -<h1><font face="Geneva,Arial,Helvtica">gsub_lite</font></h1><br> -<a name="//apple_ref/doc/header/gsub_lite.h" title="gsub_lite"></a> -<h2>Abstract</h2> -A collection of useful OpenGL routines for ARToolKit. -<h2>Discussion</h2> -Sample code for example usage of gsub_lite is included with + <meta name="generator" content="HeaderDoc" /> +<style type="text/css"><!--.keyword {background:#ffffff; color:#761550;}.template {background:#ffffff; color:#761550;}.number {background: #ffffff; color:#0000ff;}.function {background:#ffffff; color:#000000;}.string {background: #ffffff; color:#891315;}.preprocessor {background:#ffffff; color:#236e25}.comment {background:#ffffff; color:#236e25}.char {background: #ffffff; color:#0000ff;}.var {background:#ffffff; color:#000000;}.type {background:#ffffff; color:#761550;}.param {background:#ffffff; color:#000000;}a:link {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}a:visited {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}a:visited:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}a:active {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}a:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}h4 {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: tiny; font-weight: bold;}body {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: 10pt;}--></style></head><body bgcolor="#ffffff"> +<a name="top"></a> +<a name="//apple_ref/doc/header/gsub_lite.h" title="gsub_lite "></a> +<hr><table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h1><a name="gsub_lite">gsub_lite </a></h1> +</td></tr></table><hr><p><!-- begin abstract -->A collection of useful OpenGL routines for ARToolKit. +<!-- end abstract --></p> +<p></p><dl><b>Includes:</b> <!-- a logicalPath="//apple_ref/doc/header/config.h" --><AR/config.h><!-- /a -->, +<!-- a logicalPath="//apple_ref/doc/header/ar.h" --><AR/ar.h><!-- /a -->, +<!-- a logicalPath="//apple_ref/doc/header/param.h" --><AR/param.h><!-- /a --><br> +</dl><h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->Sample code for example usage of gsub_lite is included with ARToolKit, in the directory <AR/examples/simpleLite>. <br><br> gsub_lite is the preferred means for drawing camera video @@ -66,87 +70,89 @@ along with ARToolKit; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA <br><br> +<!-- end discussion --></p> +<p></p><dl><dt><i>Updated:</i></dt><dd>Tuesday, May 23, 2006</dd> +</dl> <hr><br><h2>Functions</h2> <a name="HeaderDoc_functions"></a> <dl> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraFrustum" target="_top">arglCameraFrustum</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraFrustum" target="_top">arglCameraFrustum </a></tt></dt> <dd>Create an OpenGL perspective projection matrix. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH" target="_top">arglCameraFrustumRH</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH" target="_top">arglCameraFrustumRH </a></tt></dt> <dd>(description) </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraView" target="_top">arglCameraView</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraView" target="_top">arglCameraView </a></tt></dt> <dd>Create an OpenGL viewing transformation matrix. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraViewRH" target="_top">arglCameraViewRH</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraViewRH" target="_top">arglCameraViewRH </a></tt></dt> <dd>(description) </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCleanup" target="_top">arglCleanup</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCleanup" target="_top">arglCleanup </a></tt></dt> <dd>Free memory used by gsub_lite associated with the specified context. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDispImage" target="_top">arglDispImage</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDispImage" target="_top">arglDispImage </a></tt></dt> <dd>Display an ARVideo image, by drawing it using OpenGL. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDispImageStateful" target="_top">arglDispImageStateful</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDispImageStateful" target="_top">arglDispImageStateful </a></tt></dt> <dd>Display an ARVideo image, by drawing it using OpenGL, using and modifying current OpenGL state. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet" target="_top">arglDistortionCompensationGet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet" target="_top">arglDistortionCompensationGet </a></tt></dt> <dd>Enquire as to the enable state of camera lens distortion compensation in arglDispImage. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDistortionCompensationSet" target="_top">arglDistortionCompensationSet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDistortionCompensationSet" target="_top">arglDistortionCompensationSet </a></tt></dt> <dd>Set compensation for camera lens distortion in arglDispImage to off or on. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDrawModeGet" target="_top">arglDrawModeGet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDrawModeGet" target="_top">arglDrawModeGet </a></tt></dt> <dd>Get method by which arglDispImage() is transfering pixels. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDrawModeSet" target="_top">arglDrawModeSet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDrawModeSet" target="_top">arglDrawModeSet </a></tt></dt> <dd>Set method by which arglDispImage() will transfer pixels. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglPixelFormatGet" target="_top">arglPixelFormatGet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglPixelFormatGet" target="_top">arglPixelFormatGet </a></tt></dt> <dd>Get the format of pixel data in which arglDispImage*() is expecting data to be passed. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglPixelFormatSet" target="_top">arglPixelFormatSet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglPixelFormatSet" target="_top">arglPixelFormatSet </a></tt></dt> <dd>Set the format of pixel data which will be passed to arglDispImage*() </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglSetupForCurrentContext" target="_top">arglSetupForCurrentContext</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglSetupForCurrentContext" target="_top">arglSetupForCurrentContext </a></tt></dt> <dd>Initialise the gsub_lite library for the current OpenGL context. </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexmapModeGet" target="_top">arglTexmapModeGet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexmapModeGet" target="_top">arglTexmapModeGet </a></tt></dt> <dd>Enquire whether full or half-resolution TexImage2D pixel-transfer is being used in arglDispImage(). </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexmapModeSet" target="_top">arglTexmapModeSet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexmapModeSet" target="_top">arglTexmapModeSet </a></tt></dt> <dd>Determines use of full or half-resolution TexImage2D pixel-transfer in arglDispImage(). </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexRectangleGet" target="_top">arglTexRectangleGet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexRectangleGet" target="_top">arglTexRectangleGet </a></tt></dt> <dd>Enquire as to use of rectangular TexImage2D pixel-transfer in arglDispImage(). </dd> -<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexRectangleSet" target="_top">arglTexRectangleSet</a></tt></dt> +<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexRectangleSet" target="_top">arglTexRectangleSet </a></tt></dt> <dd>Determines use of rectangular TexImage2D pixel-transfer in arglDispImage(). </dd> </dl> <hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCameraFrustum; name=arglCameraFrustum --> <a name="//apple_ref/doc/compositePage/c/func/arglCameraFrustum"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraFrustum">arglCameraFrustum</a></h3> -</td></tr></table><hr><dl></dl><p>Create an OpenGL perspective projection matrix. -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraFrustum //apple_ref/c/clm/arglCameraFrustum //apple_ref/c/intfcm/arglCameraFrustum //apple_ref/c/func/arglCameraFrustum //apple_ref/c/ftmplt/arglCameraFrustum //apple_ref/c/defn/arglCameraFrustum //apple_ref/c/macro/arglCameraFrustum" --><font class="function">arglCameraFrustum</font><!-- /a -->( - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmin</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmax</font>, - <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_projection //apple_ref/c/cl/m_projection //apple_ref/c/tdef/m_projection //apple_ref/c/tag/m_projection //apple_ref/c/econst/m_projection //apple_ref/c/struct/m_projection //apple_ref/c/clconst/m_projection" --><font class="type">m_projection</font><!-- /a -->[<font class="number">16</font>]); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraFrustum">arglCameraFrustum </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->Create an OpenGL perspective projection matrix. +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraFrustum //apple_ref/c/clm/arglCameraFrustum //apple_ref/c/intfcm/arglCameraFrustum //apple_ref/c/intfm/arglCameraFrustum //apple_ref/c/func/arglCameraFrustum //apple_ref/c/ftmplt/arglCameraFrustum //apple_ref/c/defn/arglCameraFrustum //apple_ref/c/macro/arglCameraFrustum" --><span class="function">arglCameraFrustum</span><!-- /a -->( + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam //apple_ref/c/intf/ARParam" --><span class="type">ARParam</span><!-- /a --> *<span class="param">cparam</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">focalmin</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">focalmax</span>, + <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble //apple_ref/c/intf/GLdouble" --><span class="type">GLdouble</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_projection //apple_ref/c/tdef/m_projection //apple_ref/c/tag/m_projection //apple_ref/c/econst/m_projection //apple_ref/c/struct/m_projection //apple_ref/c/clconst/m_projection //apple_ref/c/intf/m_projection" --><span class="type">m_projection</span><!-- /a -->[<span class="number">16</span>]); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Parameters</font></h5> <dl> -<dt><code><i>cparam</i></code></dt><dd>Pointer to a set of ARToolKit camera parameters for the +<dt><code>cparam </code></dt><dd>Pointer to a set of ARToolKit camera parameters for the current video source.</dd> -<dt><code><i>focalmax</i></code></dt><dd>The maximum distance at which geometry will be rendered. +<dt><code>focalmax </code></dt><dd>The maximum distance at which geometry will be rendered. Any geometry further away from the camera than this distance will be clipped and will not be appear in a rendered frame. Thus, this value should be set high enough to avoid clipping of any geometry you care about. However, the precision of the depth buffer is correlated with the ratio of focalmin to focalmax, thus you should not set focalmax any higher than it needs to be. This value should be specified in the same units as your OpenGL drawing.</dd> -<dt><code><i>focalmin</i></code></dt><dd>The minimum distance at which geometry will be rendered. +<dt><code>focalmin </code></dt><dd>The minimum distance at which geometry will be rendered. Any geometry closer to the camera than this distance will be clipped and will not be appear in a rendered frame. Thus, this value should be set low enough to avoid clipping of any geometry you care about. However, @@ -157,125 +163,119 @@ perspectives you should set this value no lower than the near-point of the eyes. The near point in humans varies, but usually lies between 0.1 m 0.3 m. This value should be specified in the same units as your OpenGL drawing.</li></ol></dd> -<dt><code><i>m_projection</i></code></dt><dd>Pointer to a array of 16 GLdoubles, which will be filled +<dt><code>m_projection </code></dt><dd>Pointer to a array of 16 GLdoubles, which will be filled out with a projection matrix suitable for passing to OpenGL. The matrix is specified in column major order.</dd> </dl> -</blockquote> -<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Use this function to create a matrix suitable for passing to OpenGL +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->Use this function to create a matrix suitable for passing to OpenGL to set the viewing projection. -</p> -<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. +<!-- end discussion --></p> +<p></p><dl><dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. </dd> </dl> <hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH; name=arglCameraFrustumRH --> <a name="//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraFrustumRH">arglCameraFrustumRH</a></h3> -</td></tr></table><hr><dl></dl><p>(description) -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraFrustumRH //apple_ref/c/clm/arglCameraFrustumRH //apple_ref/c/intfcm/arglCameraFrustumRH //apple_ref/c/func/arglCameraFrustumRH //apple_ref/c/ftmplt/arglCameraFrustumRH //apple_ref/c/defn/arglCameraFrustumRH //apple_ref/c/macro/arglCameraFrustumRH" --><font class="function">arglCameraFrustumRH</font><!-- /a -->( - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmin</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmax</font>, - <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_projection //apple_ref/c/cl/m_projection //apple_ref/c/tdef/m_projection //apple_ref/c/tag/m_projection //apple_ref/c/econst/m_projection //apple_ref/c/struct/m_projection //apple_ref/c/clconst/m_projection" --><font class="type">m_projection</font><!-- /a -->[<font class="number">16</font>]); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraFrustumRH">arglCameraFrustumRH </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->(description) +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraFrustumRH //apple_ref/c/clm/arglCameraFrustumRH //apple_ref/c/intfcm/arglCameraFrustumRH //apple_ref/c/intfm/arglCameraFrustumRH //apple_ref/c/func/arglCameraFrustumRH //apple_ref/c/ftmplt/arglCameraFrustumRH //apple_ref/c/defn/arglCameraFrustumRH //apple_ref/c/macro/arglCameraFrustumRH" --><span class="function">arglCameraFrustumRH</span><!-- /a -->( + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam //apple_ref/c/intf/ARParam" --><span class="type">ARParam</span><!-- /a --> *<span class="param">cparam</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">focalmin</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">focalmax</span>, + <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble //apple_ref/c/intf/GLdouble" --><span class="type">GLdouble</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_projection //apple_ref/c/tdef/m_projection //apple_ref/c/tag/m_projection //apple_ref/c/econst/m_projection //apple_ref/c/struct/m_projection //apple_ref/c/clconst/m_projection //apple_ref/c/intf/m_projection" --><span class="type">m_projection</span><!-- /a -->[<span class="number">16</span>]); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Parameters</font></h5> <dl> -<dt><code><i>(name)</i></code></dt><dd>(description)</dd> +<dt><code>(name) </code></dt><dd>(description)</dd> </dl> -</blockquote> -<dl><dt><i>function result</i></dt><dd>(description) -</dd> -<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>(description) -</p> -</dl> -<hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCameraView; name=arglCameraView --> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Return Value</font></h5><p><!-- begin return value -->(description) + +<!-- end return value --></p><h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->(description) +<!-- end discussion --></p> +<p></p><hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCameraView; name=arglCameraView --> <a name="//apple_ref/doc/compositePage/c/func/arglCameraView"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraView">arglCameraView</a></h3> -</td></tr></table><hr><dl></dl><p>Create an OpenGL viewing transformation matrix. -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraView //apple_ref/c/clm/arglCameraView //apple_ref/c/intfcm/arglCameraView //apple_ref/c/func/arglCameraView //apple_ref/c/ftmplt/arglCameraView //apple_ref/c/defn/arglCameraView //apple_ref/c/macro/arglCameraView" --><font class="function">arglCameraView</font><!-- /a -->( - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/para //apple_ref/c/cl/para //apple_ref/c/tdef/para //apple_ref/c/tag/para //apple_ref/c/econst/para //apple_ref/c/struct/para //apple_ref/c/clconst/para" --><font class="type">para</font><!-- /a -->[<font class="number">3</font>][<font class="number">4</font>], - <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_modelview //apple_ref/c/cl/m_modelview //apple_ref/c/tdef/m_modelview //apple_ref/c/tag/m_modelview //apple_ref/c/econst/m_modelview //apple_ref/c/struct/m_modelview //apple_ref/c/clconst/m_modelview" --><font class="type">m_modelview</font><!-- /a -->[<font class="number">16</font>], - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">scale</font>); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraView">arglCameraView </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->Create an OpenGL viewing transformation matrix. +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraView //apple_ref/c/clm/arglCameraView //apple_ref/c/intfcm/arglCameraView //apple_ref/c/intfm/arglCameraView //apple_ref/c/func/arglCameraView //apple_ref/c/ftmplt/arglCameraView //apple_ref/c/defn/arglCameraView //apple_ref/c/macro/arglCameraView" --><span class="function">arglCameraView</span><!-- /a -->( + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/para //apple_ref/c/tdef/para //apple_ref/c/tag/para //apple_ref/c/econst/para //apple_ref/c/struct/para //apple_ref/c/clconst/para //apple_ref/c/intf/para" --><span class="type">para</span><!-- /a -->[<span class="number">3</span>][<span class="number">4</span>], + <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble //apple_ref/c/intf/GLdouble" --><span class="type">GLdouble</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_modelview //apple_ref/c/tdef/m_modelview //apple_ref/c/tag/m_modelview //apple_ref/c/econst/m_modelview //apple_ref/c/struct/m_modelview //apple_ref/c/clconst/m_modelview //apple_ref/c/intf/m_modelview" --><span class="type">m_modelview</span><!-- /a -->[<span class="number">16</span>], + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">scale</span>); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Parameters</font></h5> <dl> -<dt><code><i>para</i></code></dt><dd>Pointer to 3x4 matrix array of doubles which specify the +<dt><code>para </code></dt><dd>Pointer to 3x4 matrix array of doubles which specify the position of an ARToolKit marker, as returned by arGetTransMat().</dd> -<dt><code><i>m_modelview</i></code></dt><dd>Pointer to a array of 16 GLdoubles, which will be filled +<dt><code>m_modelview </code></dt><dd>Pointer to a array of 16 GLdoubles, which will be filled out with a modelview matrix suitable for passing to OpenGL. The matrix is specified in column major order.</dd> -<dt><code><i>scale</i></code></dt><dd>Specifies a scaling between ARToolKit's +<dt><code>scale </code></dt><dd>Specifies a scaling between ARToolKit's units (usually millimeters) and OpenGL's coordinate system units. What you pass for the scalefactor parameter depends on what units you -want to do your OpenGL drawing in. If you use a scalefactor of 1.0, then<br> +want to do your OpenGL drawing in. If you use a scalefactor of 1.0, then +1.0 OpenGL unit will equal 1.0 millimetre (ARToolKit's default units). To use different OpenGL units, e.g. metres, then you would pass 0.001.</li></ol></dd> </dl> -</blockquote> -<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Use this function to create a matrix suitable for passing to OpenGL +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->Use this function to create a matrix suitable for passing to OpenGL to set the viewing transformation of the virtual camera. -</p> -<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. +<!-- end discussion --></p> +<p></p><dl><dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. </dd> </dl> <hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCameraViewRH; name=arglCameraViewRH --> <a name="//apple_ref/doc/compositePage/c/func/arglCameraViewRH"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraViewRH">arglCameraViewRH</a></h3> -</td></tr></table><hr><dl></dl><p>(description) -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraViewRH //apple_ref/c/clm/arglCameraViewRH //apple_ref/c/intfcm/arglCameraViewRH //apple_ref/c/func/arglCameraViewRH //apple_ref/c/ftmplt/arglCameraViewRH //apple_ref/c/defn/arglCameraViewRH //apple_ref/c/macro/arglCameraViewRH" --><font class="function">arglCameraViewRH</font><!-- /a -->( - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/para //apple_ref/c/cl/para //apple_ref/c/tdef/para //apple_ref/c/tag/para //apple_ref/c/econst/para //apple_ref/c/struct/para //apple_ref/c/clconst/para" --><font class="type">para</font><!-- /a -->[<font class="number">3</font>][<font class="number">4</font>], - <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_modelview //apple_ref/c/cl/m_modelview //apple_ref/c/tdef/m_modelview //apple_ref/c/tag/m_modelview //apple_ref/c/econst/m_modelview //apple_ref/c/struct/m_modelview //apple_ref/c/clconst/m_modelview" --><font class="type">m_modelview</font><!-- /a -->[<font class="number">16</font>], - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">scale</font>); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraViewRH">arglCameraViewRH </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->(description) +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraViewRH //apple_ref/c/clm/arglCameraViewRH //apple_ref/c/intfcm/arglCameraViewRH //apple_ref/c/intfm/arglCameraViewRH //apple_ref/c/func/arglCameraViewRH //apple_ref/c/ftmplt/arglCameraViewRH //apple_ref/c/defn/arglCameraViewRH //apple_ref/c/macro/arglCameraViewRH" --><span class="function">arglCameraViewRH</span><!-- /a -->( + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/para //apple_ref/c/tdef/para //apple_ref/c/tag/para //apple_ref/c/econst/para //apple_ref/c/struct/para //apple_ref/c/clconst/para //apple_ref/c/intf/para" --><span class="type">para</span><!-- /a -->[<span class="number">3</span>][<span class="number">4</span>], + <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble //apple_ref/c/intf/GLdouble" --><span class="type">GLdouble</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_modelview //apple_ref/c/tdef/m_modelview //apple_ref/c/tag/m_modelview //apple_ref/c/econst/m_modelview //apple_ref/c/struct/m_modelview //apple_ref/c/clconst/m_modelview //apple_ref/c/intf/m_modelview" --><span class="type">m_modelview</span><!-- /a -->[<span class="number">16</span>], + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">scale</span>); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Parameters</font></h5> <dl> -<dt><code><i>(name)</i></code></dt><dd>(description)</dd> +<dt><code>(name) </code></dt><dd>(description)</dd> </dl> -</blockquote> -<dl><dt><i>function result</i></dt><dd>(description) -</dd> -<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>(description) -</p> -</dl> -<hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCleanup; name=arglCleanup --> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Return Value</font></h5><p><!-- begin return value -->(description) + +<!-- end return value --></p><h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->(description) +<!-- end discussion --></p> +<p></p><hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglCleanup; name=arglCleanup --> <a name="//apple_ref/doc/compositePage/c/func/arglCleanup"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCleanup">arglCleanup</a></h3> -</td></tr></table><hr><dl></dl><p>Free memory used by gsub_lite associated with the specified context. -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCleanup //apple_ref/c/clm/arglCleanup //apple_ref/c/intfcm/arglCleanup //apple_ref/c/func/arglCleanup //apple_ref/c/ftmplt/arglCleanup //apple_ref/c/defn/arglCleanup //apple_ref/c/macro/arglCleanup" --><font class="function">arglCleanup</font><!-- /a -->( - <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCleanup">arglCleanup </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->Free memory used by gsub_lite associated with the specified context. +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCleanup //apple_ref/c/clm/arglCleanup //apple_ref/c/intfcm/arglCleanup //apple_ref/c/intfm/arglCleanup //apple_ref/c/func/arglCleanup //apple_ref/c/ftmplt/arglCleanup //apple_ref/c/defn/arglCleanup //apple_ref/c/macro/arglCleanup" --><span class="function">arglCleanup</span><!-- /a -->( + <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/intf/ARGL_CONTEXT_SETTINGS_REF" --><span class="type">ARGL_CONTEXT_SETTINGS_REF</span><!-- /a --> <span class="param">contextSettings</span>); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Parameters</font></h5> <dl> -<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for an OpenGL +<dt><code>contextSettings </code></dt><dd>A reference to ARGL's settings for an OpenGL context, as returned by arglSetupForCurrentContext().</dd> </dl> -</blockquote> -<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Should be called after no more argl* functions are needed, in order +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->Should be called after no more argl* functions are needed, in order to prevent memory leaks etc. <br><br> The library can be setup again for the context at a later time by calling arglSetupForCurrentContext() again. -</p> -<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. +<!-- end discussion --></p> +<p></p><dl><dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. </dd> </dl> <hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglDispImage; name=arglDispImage --> <a name="//apple_ref/doc/compositePage/c/func/arglDispImage"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDispImage">arglDispImage</a></h3> -</td></tr></table><hr><dl></dl><p>Display an ARVideo image, by drawing it using OpenGL. -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDispImage //apple_ref/c/clm/arglDispImage //apple_ref/c/intfcm/arglDispImage //apple_ref/c/func/arglDispImage //apple_ref/c/ftmplt/arglDispImage //apple_ref/c/defn/arglDispImage //apple_ref/c/macro/arglDispImage" --><font class="function">arglDispImage</font><!-- /a -->( - <!-- a logicalPath="//apple_ref/c/cl/ARUint8 //apple_ref/c/cl/ARUint8 //apple_ref/c/tdef/ARUint8 //apple_ref/c/tag/ARUint8 //apple_ref/c/econst/ARUint8 //apple_ref/c/struct/ARUint8 //apple_ref/c/clconst/ARUint8" --><font class="type">ARUint8</font><!-- /a --> *<font class="param">image</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">zoom</font>, - <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDispImage">arglDispImage </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->Display an ARVideo image, by drawing it using OpenGL. +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDispImage //apple_ref/c/clm/arglDispImage //apple_ref/c/intfcm/arglDispImage //apple_ref/c/intfm/arglDispImage //apple_ref/c/func/arglDispImage //apple_ref/c/ftmplt/arglDispImage //apple_ref/c/defn/arglDispImage //apple_ref/c/macro/arglDispImage" --><span class="function">arglDispImage</span><!-- /a -->( + <!-- a logicalPath="//apple_ref/c/cl/ARUint8 //apple_ref/c/tdef/ARUint8 //apple_ref/c/tag/ARUint8 //apple_ref/c/econst/ARUint8 //apple_ref/c/struct/ARUint8 //apple_ref/c/clconst/ARUint8 //apple_ref/c/intf/ARUint8" --><span class="type">ARUint8</span><!-- /a --> *<span class="param">image</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam //apple_ref/c/intf/ARParam" --><span class="type">ARParam</span><!-- /a --> *<span class="param">cparam</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">zoom</span>, + <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/intf/ARGL_CONTEXT_SETTINGS_REF" --><span class="type">ARGL_CONTEXT_SETTINGS_REF</span><!-- /a --> <span class="param">contextSettings</span>); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Parameters</font></h5> <dl> -<dt><code><i>image</i></code></dt><dd>Pointer to the tightly-packed image data (as returned by +<dt><code>image </code></dt><dd>Pointer to the tightly-packed image data (as returned by arVideoGetImage()). The horizontal and vertical dimensions of the image data must exactly match the values specified in the fields cparam->xsize and cparam->ysize (see below). @@ -285,24 +285,24 @@ pixels of the first row, followed immediately by the pixels of the second row, and so on to the last byte of the image data, which corresponds to the last component of the bottom-right-most pixel.</dd> -<dt><code><i>cparam</i></code></dt><dd>Pointer to a set of ARToolKit camera parameters for the +<dt><code>cparam </code></dt><dd>Pointer to a set of ARToolKit camera parameters for the current video source. The size of the source image is taken from the fields xsize and ysize of the ARParam structure pointed to. Also, when the draw mode is AR_DRAW_BY_TEXTURE_MAPPING (see the documentation for the global variable arglDrawMode) the field dist_factor of the ARParam structure pointed to will be taken as the amount to un-warp the supplied image.</dd> -<dt><code><i>zoom</i></code></dt><dd>The amount to scale the video image up or down. To draw the video +<dt><code>zoom </code></dt><dd>The amount to scale the video image up or down. To draw the video image double size, use a zoom value of 2.0. To draw the video image half size use a zoom value of 0.5.</dd> -<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for the current OpenGL +<dt><code>contextSettings </code></dt><dd>A reference to ARGL's settings for the current OpenGL context, as returned by arglSetupForCurrentContext() for this context. It is the callers responsibility to make sure that the current context at the time arglDisplayImage() is called matches that under which contextSettings was created.</dd> </dl> -</blockquote> -<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This function draws an image from an ARVideo source to the current +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->This function draws an image from an ARVideo source to the current OpenGL context. This operation is most useful in video see-through augmented reality applications for drawing the camera view as a background image, but can also be used in other ways. @@ -322,21 +322,22 @@ the drawing is done in replacement texture environment mode. The depth test enable and lighting enable state and the texture environment mode are restored before the function returns. -</p> -<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. +<!-- end discussion --></p> +<p></p><dl><dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68. </dd> </dl> <hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglDispImageStateful; name=arglDispImageStateful --> <a name="//apple_ref/doc/compositePage/c/func/arglDispImageStateful"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDispImageStateful">arglDispImageStateful</a></h3> -</td></tr></table><hr><dl></dl><p>Display an ARVideo image, by drawing it using OpenGL, using and modifying current OpenGL state. -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDispImageStateful //apple_ref/c/clm/arglDispImageStateful //apple_ref/c/intfcm/arglDispImageStateful //apple_ref/c/func/arglDispImageStateful //apple_ref/c/ftmplt/arglDispImageStateful //apple_ref/c/defn/arglDispImageStateful //apple_ref/c/macro/arglDispImageStateful" --><font class="function">arglDispImageStateful</font><!-- /a -->( - <!-- a logicalPath="//apple_ref/c/cl/ARUint8 //apple_ref/c/cl/ARUint8 //apple_ref/c/tdef/ARUint8 //apple_ref/c/tag/ARUint8 //apple_ref/c/econst/ARUint8 //apple_ref/c/struct/ARUint8 //apple_ref/c/clconst/ARUint8" --><font class="type">ARUint8</font><!-- /a --> *<font class="param">image</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>, - <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">zoom</font>, - <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote> -<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This function is identical to arglDispImage except that whereas +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDispImageStateful">arglDispImageStateful </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->Display an ARVideo image, by drawing it using OpenGL, using and modifying current OpenGL state. +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void //apple_ref/c/intf/void" --><span class="type">void</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDispImageStateful //apple_ref/c/clm/arglDispImageStateful //apple_ref/c/intfcm/arglDispImageStateful //apple_ref/c/intfm/arglDispImageStateful //apple_ref/c/func/arglDispImageStateful //apple_ref/c/ftmplt/arglDispImageStateful //apple_ref/c/defn/arglDispImageStateful //apple_ref/c/macro/arglDispImageStateful" --><span class="function">arglDispImageStateful</span><!-- /a -->( + <!-- a logicalPath="//apple_ref/c/cl/ARUint8 //apple_ref/c/tdef/ARUint8 //apple_ref/c/tag/ARUint8 //apple_ref/c/econst/ARUint8 //apple_ref/c/struct/ARUint8 //apple_ref/c/clconst/ARUint8 //apple_ref/c/intf/ARUint8" --><span class="type">ARUint8</span><!-- /a --> *<span class="param">image</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam //apple_ref/c/intf/ARParam" --><span class="type">ARParam</span><!-- /a --> *<span class="param">cparam</span>, + <span class="keyword">const</span> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double //apple_ref/c/intf/double" --><span class="type">double</span><!-- /a --> <span class="param">zoom</span>, + <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/intf/ARGL_CONTEXT_SETTINGS_REF" --><span class="type">ARGL_CONTEXT_SETTINGS_REF</span><!-- /a --> <span class="param">contextSettings</span>); </pre> +<h5 class="tight"><font face="Lucida Grande,Helvetica,Arial">Discussion</font> +</h5><p><!-- begin discussion -->This function is identical to arglDispImage except that whereas arglDispImage sets an orthographic 2D projection and the OpenGL state prior to drawing, this function does not. It also does not restore any changes made to OpenGL state. @@ -350,56 +351,54 @@ and leave depth-testing enabled. <br><br> See the documentation for arglDispImage() for more information. -</p> -<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.2. +<!-- end discussion --></p> +<p></p><dl><dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.2. </dd> </dl> <hr><!-- headerDoc=func; uid=//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet; name=arglDistortionCompensationGet --> <a name="//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet"></a> -<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDistortionCompensationGet">arglDistortionCompensationGet</a></h3> -</td></tr></table><hr><dl></dl><p>Enquire as to the enable state of camera lens distortion compensation in arglDispImage. -</p> -<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDistortionCompensationGet //apple_ref/c/clm/arglDistortionCompensationGet //apple_ref/c/intfcm/arglDistortionCompensationGet //apple_ref/c/func/arglDistortionCompensationGet //apple_ref/c/ftmplt/arglDistortionCompensationGet //apple_ref/c/defn/arglDistortionCompensationGet //apple_ref/c/macro/arglDistortionCompensationGet" --><font class="function">arglDistortionCompensationGet</font><!-- /a -->( - <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>, - <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> *<font class="param">enable</font>); </pre></blockquote> -<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5> -<blockquote> +<table border="0" cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDistortionCompensationGet">arglDistortionCompensationGet </a></h3> +</td></tr></table><hr><p><!-- begin abstract -->Enquire as to the enable state of camera lens distortion compensation in arglDispImage. +<!-- end abstract --></p> +<p></p><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int //apple_ref/c/intf/int" --><span class="type">int</span><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDistortionCompensationGet //apple_ref/c/clm/arglDistortionCompensationGet //apple_ref/c/intfcm/arglDistortionCompensationGet //apple_ref/c/intfm/arglDistortionCompensationGet //apple_ref/c/func/arglDistortionCompensationGet //apple_ref/c/ftmplt/arglDistortionCompensationGet //apple_ref/c/defn/arglDistortionCompensationGet //apple_ref/c/macro/arglDistortionCompensationGet" --><span class="function">arglDistortionCompensationGet</span><!-- /a -->( + <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/intf/ARGL_CONTEXT_SETTINGS_REF" --><span class="type">ARGL_CONTEXT_SETTINGS_REF</span><!-- /a ... [truncated message content] |
From: Philip L. <phi...@us...> - 2007-09-27 09:26:10
|
Update of /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3172 Modified Files: video.c Log Message: Fix for pixelFormat bug on Intel, noted by John Galeotti. Index: video.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX/video.c,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** video.c 6 Aug 2007 02:40:56 -0000 1.27 --- video.c 27 Sep 2007 09:26:11 -0000 1.28 *************** *** 25,28 **** --- 25,29 ---- * to allow earlier versions, AR_VIDEO_SUPPORT_OLD_QUICKTIME must * be uncommented at compile time. + * 1.4.2 2007-09-26 GALEOTTI Made -pixelformat work for format 40 and for Intel Macs. * */ *************** *** 1326,1330 **** --- 1327,1335 ---- if (strlen(line) <= 13) err_i = 1; else { + #ifdef AR_BIG_ENDIAN if (strlen(line) == 17) err_i = (sscanf(&line[13], "%4c", (char *)&pixFormat) < 1); + #else + if (strlen(line) == 17) err_i = (sscanf(&line[13], "%c%c%c%c", &(((char *)&pixFormat)[3]), &(((char *)&pixFormat)[2]), &(((char *)&pixFormat)[1]), &(((char *)&pixFormat)[0])) < 1); + #endif else err_i = (sscanf(&line[13], "%li", (long *)&pixFormat) < 1); // Integer. } *************** *** 1396,1401 **** case k8IndexedGrayPixelFormat: bytesPerPixel = 1l; default: ! fprintf(stderr, "ar2VideoOpen(): Unsupported pixel format requested.\n"); return(NULL); break; --- 1401,1413 ---- case k8IndexedGrayPixelFormat: bytesPerPixel = 1l; + break; default: ! fprintf(stderr, "ar2VideoOpen(): Unsupported pixel format requested: 0x%08x = %u = '%c%c%c%c'.\n", (unsigned int)pixFormat, (unsigned int)pixFormat, ! #ifdef AR_BIG_ENDIAN ! ((char *)&pixFormat)[0], ((char *)&pixFormat)[1], ((char *)&pixFormat)[2], ((char *)&pixFormat)[3] ! #else ! ((char *)&pixFormat)[3], ((char *)&pixFormat)[2], ((char *)&pixFormat)[1], ((char *)&pixFormat)[0] ! #endif ! ); return(NULL); break; |
From: Hartmut S. <ret...@us...> - 2007-08-15 06:07:58
|
Update of /cvsroot/artoolkit/artoolkit/etc In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14323 Added Files: globals.lua modules.lua premake.lua Log Message: - added premake scripts for creating solutions/projects for VS 6, 2002 (7.0), 2003 (7.1), 2005 (8.0) - only Windows supported --- NEW FILE: modules.lua --- -- modules require "globals" function createLibrary(longname,shortname) package = newpackage() package.path = project.path package.target = "lib" .. shortname package.name = longname package.language = "c" package.kind = "lib" package.libdir = "../../lib" package.bindir = "../../bin" package.objdir = "obj/" .. package.target table.insert(package.config['Release'].defines,"NDEBUG") package.defines = { "_CRT_SECURE_NO_WARNINGS" } if (OS == "windows") then table.insert(package.defines,"WIN32") table.insert(package.defines,"_WINDOWS") end package.files = { matchfiles("../../lib/SRC/".. shortname .. "/*.c"), } package.includepaths = { "../../include", } package.excludes = { } -- package.libpaths = globals.osg.libpaths() if (OS == "windows") then end if (shortname ~= "AR") then package.links = { "libAR",} end package.config["Debug"].target = package.target .. globals.targetsuffix return package end function createVideoLibrary(longname,shortname) package = newpackage() package.path = project.path package.target = "lib" .. shortname package.name = longname package.language = "c++" package.kind = "dll" package.libdir = "../../lib" package.bindir = "../../bin" package.objdir = "obj/" .. package.target table.insert(package.config['Release'].defines,"NDEBUG") package.defines = { "_CRT_SECURE_NO_WARNINGS", "_USRDLL", "LIBARVIDEO_EXPORTS" } if (OS == "windows") then table.insert(package.defines,"WIN32") table.insert(package.defines,"_WINDOWS") end if (OS == "windows") then package.files = { matchfiles("../../lib/SRC/VideoWin32DirectShow/*.cpp"), } end package.includepaths = { "../../include", "../../DSVL/src" } package.excludes = { } -- package.libpaths = globals.osg.libpaths() if (OS == "windows") then package.libpaths = { "../../DSVL/lib" } package.config["Debug"].links = {"DSVLd"} package.config["Release"].links = {"DSVL"} end if (shortname ~= "AR") then package.links = { "libAR",} end package.config["Debug"].target = package.target .. globals.targetsuffix return package end function createExample(longname,shortname) package = newpackage() package.path = project.path package.target = shortname package.name = longname package.language = "c" package.kind = "dll" package.libdir = "../../lib" package.bindir = "../../bin" package.objdir = "obj/" .. package.target table.insert(package.config['Release'].defines,"NDEBUG") package.defines = { "_CRT_SECURE_NO_WARNINGS" } if (OS == "windows") then table.insert(package.defines,"WIN32") table.insert(package.defines,"_WINDOWS") end if (OS == "windows") then package.files = { matchfiles("../../examples/shortName/*.c"), } end package.includepaths = { "../../include", "../../DSVL/src" } package.excludes = { } -- package.libpaths = globals.osg.libpaths() if (OS == "windows") then end if (shortname ~= "AR") then package.links = { "libAR","libARMulti", "libARvideo"} end package.config["Debug"].target = package.target .. globals.targetsuffix return package end --- NEW FILE: globals.lua --- -- -- ARToolKit premake script -- -- Global settings used -- -- globals globals = {} -- debug needs to have a suffix globals['targetsuffix'] = "_debug" --- NEW FILE: premake.lua --- -- -- premake script to create various versions of project files -- require "globals" require "modules" project.name = "ARToolKit" project.configs = { "Debug", "Release" } if (target == "vs2003") then project.path = "../VisualStudio/VS2003" elseif (target == "vs2005") then project.path = "../VisualStudio/VS2005" end -- -- ARToolKit -- createLibrary("Core Library","AR") package = createLibrary("MultiMarker Library","ARmulti") package = createVideoLibrary("Video Library","ARvideo") -- package = createVideoLibrary("Graphics Library (Light)","gsub_lite") -- package = createGraphicsLibrary("Graphics Library (GLUT)","gsub_lite") |
From: Hartmut S. <ret...@us...> - 2007-08-15 06:05:41
|
Update of /cvsroot/artoolkit/artoolkit/etc In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv12945/etc Log Message: Directory /cvsroot/artoolkit/artoolkit/etc added to the repository |
From: Philip L. <phi...@us...> - 2007-08-06 02:42:56
|
Update of /cvsroot/artoolkit/artoolkit/ARToolKit.xcodeproj In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14351 Modified Files: project.pbxproj Log Message: Cleanup of some unnecessary universal building in Development builds, remove some unnecessary paths in build settings. Index: project.pbxproj =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/ARToolKit.xcodeproj/project.pbxproj,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** project.pbxproj 15 Jan 2007 22:11:03 -0000 1.18 --- project.pbxproj 6 Aug 2007 02:42:55 -0000 1.19 *************** *** 5444,5458 **** isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); HEADER_SEARCH_PATHS = include; INFOPLIST_FILE = "util/calib_camera2/calib_camera2-Info.plist"; INSTALL_PATH = "$(SRCROOT)/bin"; ! LIBRARY_SEARCH_PATHS = ( ! lib, ! "$(SRCROOT)/lib", ! ); PRODUCT_NAME = calib_camera2; }; --- 5444,5451 ---- isa = XCBuildConfiguration; buildSettings = { HEADER_SEARCH_PATHS = include; INFOPLIST_FILE = "util/calib_camera2/calib_camera2-Info.plist"; INSTALL_PATH = "$(SRCROOT)/bin"; ! LIBRARY_SEARCH_PATHS = lib; PRODUCT_NAME = calib_camera2; }; *************** *** 5469,5476 **** INFOPLIST_FILE = "util/calib_camera2/calib_camera2-Info.plist"; INSTALL_PATH = "$(SRCROOT)/bin"; ! LIBRARY_SEARCH_PATHS = ( ! lib, ! "$(SRCROOT)/lib", ! ); PRODUCT_NAME = calib_camera2; }; --- 5462,5466 ---- INFOPLIST_FILE = "util/calib_camera2/calib_camera2-Info.plist"; INSTALL_PATH = "$(SRCROOT)/bin"; ! LIBRARY_SEARCH_PATHS = lib; PRODUCT_NAME = calib_camera2; }; *************** *** 5480,5487 **** isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); HEADER_SEARCH_PATHS = include; INFOPLIST_FILE = "util/calib_cparam/calib_cparam-Info.plist"; --- 5470,5473 ---- *************** *** 5516,5523 **** isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); HEADER_SEARCH_PATHS = include; INFOPLIST_FILE = "util/calib_distortion/calib_dist-Info.plist"; --- 5502,5505 ---- *************** *** 5552,5559 **** isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); HEADER_SEARCH_PATHS = include; INFOPLIST_FILE = "util/mk_patt/mk_patt-Info.plist"; --- 5534,5537 ---- |
From: Philip L. <phi...@us...> - 2007-08-06 02:40:55
|
Update of /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv13603 Modified Files: video.c Log Message: Remove extraneous buffer copy in idle thread. Add some parameter checking. Remove some outdated code. Add early modifications for compiling against QuickTime 6.4 for Windows. Index: video.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/lib/SRC/VideoMacOSX/video.c,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** video.c 23 Jan 2007 00:39:28 -0000 1.26 --- video.c 6 Aug 2007 02:40:56 -0000 1.27 *************** *** 79,101 **** // ============================================================================ ! #include <Carbon/Carbon.h> ! #include <QuickTime/QuickTime.h> ! #include <CoreServices/CoreServices.h> // Gestalt() ! #include <pthread.h> ! #include <sys/time.h> ! #include <unistd.h> // usleep() ! #include <sys/types.h> // sysctlbyname() ! #include <sys/sysctl.h> // sysctlbyname() #include <AR/config.h> #include <AR/ar.h> #include <AR/video.h> - #include "videoInternal.h" // ============================================================================ // Private definitions // ============================================================================ //#define AR_VIDEO_SUPPORT_OLD_QUICKTIME // Uncomment to allow use of non-thread safe QuickTime (pre-6.4). - #define AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE #define AR_VIDEO_IDLE_INTERVAL_MILLISECONDS_MIN 20L --- 79,118 ---- // ============================================================================ ! #ifdef __APPLE__ ! # include <Carbon/Carbon.h> ! # include <QuickTime/QuickTime.h> ! # include <CoreServices/CoreServices.h> // Gestalt() ! # include <unistd.h> // usleep(), valloc() ! # include <sys/types.h> // sysctlbyname() ! # include <sys/sysctl.h> // sysctlbyname() ! # include "videoInternal.h" ! #elif defined(_WIN32) ! # ifndef __MOVIES__ ! # include <Movies.h> ! # endif ! # ifndef __QTML__ ! # include <QTML.h> ! # endif ! # ifndef __GXMATH__ ! # include <GXMath.h> ! # endif ! #else ! # error ! #endif ! #include <pthread.h> // Use pthreads-win32 on Windows. ! #include <string.h> // memcpy() #include <AR/config.h> #include <AR/ar.h> #include <AR/video.h> // ============================================================================ // Private definitions // ============================================================================ + #ifdef _WIN32 + # define valloc malloc + # define usleep(t) Sleep((DWORD)(t/1000u)); + #endif //#define AR_VIDEO_SUPPORT_OLD_QUICKTIME // Uncomment to allow use of non-thread safe QuickTime (pre-6.4). #define AR_VIDEO_IDLE_INTERVAL_MILLISECONDS_MIN 20L *************** *** 112,115 **** --- 129,147 ---- #endif + // pthreads-win32 cleanup functions must be declared using the cdecl calling convention. + #if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__) + # ifndef ARVIDEO_APIENTRY + # define ARVIDEO_APIENTRY __cdecl + # endif + #elif defined(__CYGWIN__) || defined(__MINGW32__) + # ifndef ARVIDEO_APIENTRY + # define ARVIDEO_APIENTRY __attribute__ ((__cdecl__)) + # endif + #else // non-Win32 case. + # ifndef ARVIDEO_APIENTRY + # define ARVIDEO_APIENTRY + # endif + #endif + // ============================================================================ // Private types *************** *** 353,361 **** // Use the SG Dialog to allow the user to select device and compression settings ! if (err = RequestSGSettings(inputIndex, pVdg->seqGrab, pVdg->sgchanVideo, showDialog, standardDialog)) { fprintf(stderr, "RequestSGSettings err=%ld\n", err); goto endFunc; ! } ! if (err = vdgGetSettings(pVdg)) { fprintf(stderr, "vdgGetSettings err=%ld\n", err); --- 385,402 ---- // Use the SG Dialog to allow the user to select device and compression settings ! #ifdef __APPLE__ ! if ((err = RequestSGSettings(inputIndex, pVdg->seqGrab, pVdg->sgchanVideo, showDialog, standardDialog) != noErr)) { fprintf(stderr, "RequestSGSettings err=%ld\n", err); goto endFunc; ! } ! #else ! if (showDialog) { ! if ((err = SGSettingsDialog(pVdg->seqGrab, pVdg->sgchanVideo, 0, 0, seqGrabSettingsPreviewOnly, NULL, 0L)) != noErr)) { ! fprintf(stderr, "SGSettingsDialog err=%ld\n", err); ! goto endFunc; ! } ! } ! #endif ! if (err = vdgGetSettings(pVdg)) { fprintf(stderr, "vdgGetSettings err=%ld\n", err); *************** *** 967,971 **** } ! static void ar2VideoInternalThreadCleanup(void *arg) { AR2VideoParamT *vid; --- 1008,1012 ---- } ! static void ARVIDEO_APIENTRY ar2VideoInternalThreadCleanup(void *arg) { AR2VideoParamT *vid; *************** *** 995,1003 **** int keepAlive = 1; - #ifndef AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE - struct timeval tv; // Seconds and microseconds since Jan 1, 1970. - struct timespec ts; // Seconds and nanoseconds since Jan 1, 1970. - int err_i; - #endif // !AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE ComponentResult err; int isUpdated = 0; --- 1036,1039 ---- *************** *** 1027,1041 **** while (keepAlive && vdgIsGrabbing(vid->pVdg)) { ! ! #ifndef AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE ! gettimeofday(&tv, NULL); ! ts.tv_sec = tv.tv_sec; ! ts.tv_nsec = tv.tv_usec * 1000 + vid->milliSecPerTimer * 1000000; ! if (ts.tv_nsec >= 1000000000) { ! ts.tv_nsec -= 1000000000; ! ts.tv_sec += 1; ! } ! #endif // AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a lock to access QuickTime (for SGIdle()), but only if more than one thread is running. --- 1063,1067 ---- while (keepAlive && vdgIsGrabbing(vid->pVdg)) { ! #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a lock to access QuickTime (for SGIdle()), but only if more than one thread is running. *************** *** 1127,1151 **** //vid->lastTime = time; } - // Now copy the frame (if double-buffering). - if (vid->bufCopyFlag) { - if (vid->status & AR_VIDEO_STATUS_BIT_BUFFER) { - memcpy((void *)(vid->bufPixelsCopy2), (void *)(vid->bufPixels), vid->bufSize); - } else { - memcpy((void *)(vid->bufPixelsCopy1), (void *)(vid->bufPixels), vid->bufSize); - } - } // Mark status to indicate we have a frame available. vid->status |= AR_VIDEO_STATUS_BIT_READY; } ! // All done. Wewease Wodger! ! #ifndef AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE ! err_i = pthread_cond_timedwait(&(vid->condition), &(vid->bufMutex), &ts); ! if (err_i != 0 && err_i != ETIMEDOUT) { ! fprintf(stderr, "ar2VideoInternalThread(): Error %d waiting for condition.\n", err_i); ! keepAlive = 0; ! break; ! } ! #else ar2VideoInternalUnlock(&(vid->bufMutex)); usleep(vid->milliSecPerTimer * 1000); --- 1153,1161 ---- //vid->lastTime = time; } // Mark status to indicate we have a frame available. vid->status |= AR_VIDEO_STATUS_BIT_READY; } ! // All done. Welease Wodger! ar2VideoInternalUnlock(&(vid->bufMutex)); usleep(vid->milliSecPerTimer * 1000); *************** *** 1155,1159 **** break; } - #endif // AR_VIDEO_DEBUG_FIX_DUAL_PROCESSOR_RACE pthread_testcancel(); --- 1165,1168 ---- *************** *** 1164,1167 **** --- 1173,1177 ---- } + #ifdef __APPLE__ static int sysctlbyname_with_pid (const char *name, pid_t pid, void *oldp, size_t *oldlenp, *************** *** 1194,1198 **** // Pass 0 to use current PID. ! int is_pid_native (pid_t pid) { int ret = 0; --- 1204,1208 ---- // Pass 0 to use current PID. ! static int is_pid_native (pid_t pid) { int ret = 0; *************** *** 1211,1214 **** --- 1221,1225 ---- return ret; } + #endif // __APPLE__ #pragma mark - *************** *** 1394,1399 **** if (gVidCount == 0) { if ((err_s = Gestalt(gestaltQuickTimeVersion, &qtVersion)) != noErr) { ! fprintf(stderr,"ar2VideoOpen(): QuickTime not installed (%d).\n", err_s); return (NULL); } --- 1405,1417 ---- if (gVidCount == 0) { + #ifdef _WIN32 + if ((err_s = InitializeQTML(0)) != noErr) { + fprintf(stderr, "ar2VideoOpen(): OS error: QuickTime not installed.\n"); + return (NULL); + } + #endif // _WIN32 + if ((err_s = Gestalt(gestaltQuickTimeVersion, &qtVersion)) != noErr) { ! fprintf(stderr, "ar2VideoOpen(): OS error: QuickTime not installed (%d).\n", err_s); return (NULL); } *************** *** 1451,1454 **** --- 1469,1473 ---- vid->bufCopyFlag = !singleBuffer; + #ifdef __APPLE__ // Find out if we are running on an Intel Mac. if ((err_s = Gestalt(gestaltNativeCPUtype, &cpuType) != noErr)) { *************** *** 1471,1474 **** --- 1490,1494 ---- } } + #endif // __APPLE__ if(!(vid->pVdg = vdgAllocAndInit(grabber))) { *************** *** 1534,1538 **** vid->width = (width ? width : (int)((*vid->vdImageDesc)->width)); vid->height = (height ? height : (int)((*vid->vdImageDesc)->height)); ! SetRect(&(vid->theRect), 0, 0, (short)vid->width, (short)vid->height); // Make a scaling matrix for the sequence if size of incoming video differs from GWorld dimensions. --- 1554,1558 ---- vid->width = (width ? width : (int)((*vid->vdImageDesc)->width)); vid->height = (height ? height : (int)((*vid->vdImageDesc)->height)); ! MacSetRect(&(vid->theRect), 0, 0, (short)vid->width, (short)vid->height); // Make a scaling matrix for the sequence if size of incoming video differs from GWorld dimensions. *************** *** 1602,1606 **** // Erase to black. ! #if 1 CGContextRef ctx; QDBeginCGContext(vid->pGWorld, &ctx); --- 1622,1626 ---- // Erase to black. ! #ifdef __APPLE__ CGContextRef ctx; QDBeginCGContext(vid->pGWorld, &ctx); *************** *** 1668,1672 **** if (!ar2VideoInternalUnlock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoOpen(): Unable to unlock mutex (for QuickTime).\n"); - return (NULL); } } --- 1688,1691 ---- *************** *** 1683,1686 **** --- 1702,1707 ---- #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME + if( vid == NULL ) return -1; + #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a hold on the QuickTime toolbox. *************** *** 1759,1762 **** --- 1780,1786 ---- // Probably a good idea to close down QuickTime. ExitMovies(); + #ifdef _WIN32 + TerminateQTML(); + #endif // _WIN32 } *************** *** 1772,1775 **** --- 1796,1801 ---- #endif // AR_VIDEO_SUPPORT_OLD_QUICKTIME + if( vid == NULL ) return -1; + #ifdef AR_VIDEO_SUPPORT_OLD_QUICKTIME // Get a hold on the QuickTime toolbox. *************** *** 1777,1781 **** if (!ar2VideoInternalLock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStart(): Unable to lock mutex (for QuickTime).\n"); ! return (1); } weLocked = 1; --- 1803,1807 ---- if (!ar2VideoInternalLock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStart(): Unable to lock mutex (for QuickTime).\n"); ! return (-1); } weLocked = 1; *************** *** 1803,1807 **** if (!ar2VideoInternalUnlock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStart(): Unable to unlock mutex (for QuickTime).\n"); ! return (1); } } --- 1829,1833 ---- if (!ar2VideoInternalUnlock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStart(): Unable to unlock mutex (for QuickTime).\n"); ! return (-1); } } *************** *** 1834,1837 **** --- 1860,1865 ---- ComponentResult err = noErr; + if( vid == NULL ) return -1; + if (vid->threadRunning) { // Cancel thread. *************** *** 1859,1863 **** if (!ar2VideoInternalLock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStop(): Unable to lock mutex (for QuickTime).\n"); ! return (1); } weLocked = 1; --- 1887,1891 ---- if (!ar2VideoInternalLock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStop(): Unable to lock mutex (for QuickTime).\n"); ! return (-1); } weLocked = 1; *************** *** 1877,1881 **** if (!ar2VideoInternalUnlock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStop(): Unable to unlock mutex (for QuickTime).\n"); ! return (1); } } --- 1905,1909 ---- if (!ar2VideoInternalUnlock(&gVidQuickTimeMutex)) { fprintf(stderr, "ar2VideoCapStop(): Unable to unlock mutex (for QuickTime).\n"); ! return (-1); } } *************** *** 1889,1896 **** int ar2VideoInqSize(AR2VideoParamT *vid, int *x,int *y) { // Need lock to guarantee exclusive access to vid. if (!ar2VideoInternalLock(&(vid->bufMutex))) { fprintf(stderr, "ar2VideoInqSize(): Unable to lock mutex.\n"); ! return (1); } --- 1917,1926 ---- int ar2VideoInqSize(AR2VideoParamT *vid, int *x,int *y) { + if( vid == NULL ) return -1; + // Need lock to guarantee exclusive access to vid. if (!ar2VideoInternalLock(&(vid->bufMutex))) { fprintf(stderr, "ar2VideoInqSize(): Unable to lock mutex.\n"); ! return (-1); } *************** *** 1900,1904 **** if (!ar2VideoInternalUnlock(&(vid->bufMutex))) { fprintf(stderr, "ar2VideoInqSize(): Unable to unlock mutex.\n"); ! return (1); } return (0); --- 1930,1934 ---- if (!ar2VideoInternalUnlock(&(vid->bufMutex))) { fprintf(stderr, "ar2VideoInqSize(): Unable to unlock mutex.\n"); ! return (-1); } return (0); *************** *** 1909,1912 **** --- 1939,1944 ---- ARUint8 *pix = NULL; + if (vid == NULL) return (NULL); + // ar2VideoGetImage() used to block waiting for a frame. // This locked the OpenGL frame rate to the camera frame rate. *************** *** 1916,1928 **** //fprintf(stderr, "For vid @ %p got frame %ld.\n", vid, vid->frameCount); ! ! // Prior Mac versions of ar2VideoInternal added 1 to the pixmap base address ! // returned to the caller to cope with the fact that neither ! // arDetectMarker() or argDispImage() knew how to cope with ! // pixel data with ARGB (Apple) or ABGR (SGI) byte ordering. ! // Adding 1 had the effect of passing a pointer to the first byte ! // of non-alpha data. This was an awful hack which caused all sorts ! // of problems and which can now be avoided after rewriting the ! // various bits of the toolkit to cope. if (vid->bufCopyFlag) { // Need lock to guarantee this thread exclusive access to vid. --- 1948,1952 ---- //fprintf(stderr, "For vid @ %p got frame %ld.\n", vid, vid->frameCount); ! // If triple-buffering, time to copy buffer. if (vid->bufCopyFlag) { // Need lock to guarantee this thread exclusive access to vid. |
From: Philip L. <phi...@us...> - 2007-08-06 02:39:01
|
Update of /cvsroot/artoolkit/artoolkit/util/calib_cparam In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv12768 Modified Files: calib_cparam.c Log Message: Rename some fns for clarity, change Quit to cleanup. Index: calib_cparam.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/calib_cparam/calib_cparam.c,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** calib_cparam.c 15 Sep 2006 03:08:18 -0000 1.14 --- calib_cparam.c 6 Aug 2007 02:39:02 -0000 1.15 *************** *** 116,120 **** static void Mouse(int button, int state, int x, int y); static void Quit(void); ! static void Idle(void); static void Visibility(int visible); static void Reshape(int w, int h); --- 116,120 ---- static void Mouse(int button, int state, int x, int y); static void Quit(void); ! static void mainLoop(void); static void Visibility(int visible); static void Reshape(int w, int h); *************** *** 158,162 **** // Register GLUT event-handling callbacks. ! // NB: Idle() is registered by Visibility. glutDisplayFunc(Display); glutReshapeFunc(Reshape); --- 158,162 ---- // Register GLUT event-handling callbacks. ! // NB: mainLoop() is registered by Visibility. glutDisplayFunc(Display); glutReshapeFunc(Reshape); *************** *** 250,254 **** // Cancel from mode 0 should quit program. arVideoCapStop(); ! Quit(); } else if (mode == 1) { if (line_num_current == 0) { --- 250,255 ---- // Cancel from mode 0 should quit program. arVideoCapStop(); ! cleanup(); ! exit(0); } else if (mode == 1) { if (line_num_current == 0) { *************** *** 328,333 **** scanf("%s", name); arParamSave( name, 1, &iparam ); ! ! Quit(); } } --- 329,334 ---- scanf("%s", name); arParamSave( name, 1, &iparam ); ! cleanup(); ! exit(0); } } *************** *** 405,409 **** } ! static void Quit(void) { if (gSaveArglSettings) arglCleanup(gSaveArglSettings); --- 406,410 ---- } ! static void cleanup(void) { if (gSaveArglSettings) arglCleanup(gSaveArglSettings); *************** *** 411,418 **** if (gWin) glutDestroyWindow(gWin); arVideoClose(); - exit(0); } ! static void Idle(void) { static int ms_prev; --- 412,418 ---- if (gWin) glutDestroyWindow(gWin); arVideoClose(); } ! static void mainLoop(void) { static int ms_prev; *************** *** 421,425 **** ARUint8 *image; ! // Find out how long since Idle() last ran. ms = glutGet(GLUT_ELAPSED_TIME); s_elapsed = (float)(ms - ms_prev) * 0.001; --- 421,425 ---- ARUint8 *image; ! // Find out how long since mainLoop() last ran. ms = glutGet(GLUT_ELAPSED_TIME); s_elapsed = (float)(ms - ms_prev) * 0.001; *************** *** 444,448 **** { if (visible == GLUT_VISIBLE) { ! glutIdleFunc(Idle); } else { glutIdleFunc(NULL); --- 444,448 ---- { if (visible == GLUT_VISIBLE) { ! glutIdleFunc(mainLoop); } else { glutIdleFunc(NULL); |
From: Philip L. <phi...@us...> - 2007-08-06 02:38:56
|
Update of /cvsroot/artoolkit/artoolkit/util/mk_patt In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv12751 Modified Files: mk_patt.c Log Message: Rename some fns for clarity, change Quit to cleanup. Index: mk_patt.c =================================================================== RCS file: /cvsroot/artoolkit/artoolkit/util/mk_patt/mk_patt.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** mk_patt.c 15 Sep 2006 03:08:18 -0000 1.10 --- mk_patt.c 6 Aug 2007 02:38:53 -0000 1.11 *************** *** 164,168 **** } ! static void Quit(void) { free(gARTsaveImage); gARTsaveImage = NULL; --- 164,168 ---- } ! static void cleanup(void) { free(gARTsaveImage); gARTsaveImage = NULL; *************** *** 170,174 **** arVideoCapStop(); arVideoClose(); - exit(0); } --- 170,173 ---- *************** *** 179,183 **** case 'Q': case 'q': ! Quit(); break; case 'T': --- 178,183 ---- case 'Q': case 'q': ! cleanup(); ! exit(0); break; case 'T': *************** *** 207,211 **** if (state == GLUT_DOWN) { if (button == GLUT_RIGHT_BUTTON) { ! Quit(); } else if (button == GLUT_MIDDLE_BUTTON) { printf("Enter new threshold value (default = 100): "); --- 207,212 ---- if (state == GLUT_DOWN) { if (button == GLUT_RIGHT_BUTTON) { ! cleanup(); ! exit(0); } else if (button == GLUT_MIDDLE_BUTTON) { printf("Enter new threshold value (default = 100): "); *************** *** 225,229 **** } ! static void Idle(void) { static int ms_prev; --- 226,230 ---- } ! static void mainLoop(void) { static int ms_prev; *************** *** 236,240 **** int i; ! // Find out how long since Idle() last ran. ms = glutGet(GLUT_ELAPSED_TIME); s_elapsed = (float)(ms - ms_prev) * 0.001; --- 237,241 ---- int i; ! // Find out how long since mainLoop() last ran. ms = glutGet(GLUT_ELAPSED_TIME); s_elapsed = (float)(ms - ms_prev) * 0.001; *************** *** 247,251 **** if (arDetectMarker(gARTImage, gARTThreshhold, &marker_info, &marker_num) < 0) { ! Quit(); } --- 248,252 ---- if (arDetectMarker(gARTImage, gARTThreshhold, &marker_info, &marker_num) < 0) { ! exit(-1); } *************** *** 272,276 **** { if (visible == GLUT_VISIBLE) { ! glutIdleFunc(Idle); } else { glutIdleFunc(NULL); --- 273,277 ---- { if (visible == GLUT_VISIBLE) { ! glutIdleFunc(mainLoop); } else { glutIdleFunc(NULL); *************** *** 382,386 **** // Register GLUT event-handling callbacks. ! // NB: Idle() is registered by Visibility. glutDisplayFunc(Display); glutReshapeFunc(Reshape); --- 383,387 ---- // Register GLUT event-handling callbacks. ! // NB: mainLoop() is registered by Visibility. glutDisplayFunc(Display); glutReshapeFunc(Reshape); |