toon-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Toon-members] tag Makefile.am Makefile.in libtool src/absorie...


From: Gerhard Reitmayr
Subject: [Toon-members] tag Makefile.am Makefile.in libtool src/absorie...
Date: Mon, 20 Apr 2009 10:02:36 +0000

CVSROOT:        /cvsroot/toon
Module name:    tag
Changes by:     Gerhard Reitmayr <gerhard>      09/04/20 10:02:35

Modified files:
        .              : Makefile.am Makefile.in libtool 
        src            : absorient.cpp handeye.cpp threepointpose.cpp 
        tag            : absorient.h fourpointpose.h handeye.h stdpp.h 
                         threepointpose.h 

Log message:
        made tag work with TooN2, deprecated four point pose - use three point 
instread, much better

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/tag/Makefile.am?cvsroot=toon&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/tag/Makefile.in?cvsroot=toon&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/tag/libtool?cvsroot=toon&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/tag/src/absorient.cpp?cvsroot=toon&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/tag/src/handeye.cpp?cvsroot=toon&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/tag/src/threepointpose.cpp?cvsroot=toon&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/tag/tag/absorient.h?cvsroot=toon&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/tag/tag/fourpointpose.h?cvsroot=toon&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/tag/tag/handeye.h?cvsroot=toon&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/tag/tag/stdpp.h?cvsroot=toon&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/tag/tag/threepointpose.h?cvsroot=toon&r1=1.1&r2=1.2

Patches:
Index: Makefile.am
===================================================================
RCS file: /cvsroot/toon/tag/Makefile.am,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- Makefile.am 15 Aug 2008 13:24:48 -0000      1.10
+++ Makefile.am 20 Apr 2009 10:02:34 -0000      1.11
@@ -2,7 +2,7 @@
 
 lib_LTLIBRARIES     = libtoontag.la
 libtoontag_la_SOURCES   = src/quartic.cpp src/threepointpose.cpp 
src/absorient.cpp \
-                          src/fourpointpose.cpp  src/handeye.cpp
+                          src/handeye.cpp
 
 # the header files to be installed
 pkginclude_HEADERS  = \
@@ -10,7 +10,6 @@
        tag/threepointpose.h \
        tag/absorient.h \
        tag/array.h \
-       tag/fourpointpose.h \
        tag/kalmanfilter.h \
        tag/constantposition.h \
        tag/constantvelocity.h \

Index: Makefile.in
===================================================================
RCS file: /cvsroot/toon/tag/Makefile.in,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- Makefile.in 15 Aug 2008 13:24:48 -0000      1.10
+++ Makefile.in 20 Apr 2009 10:02:34 -0000      1.11
@@ -59,7 +59,7 @@
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libtoontag_la_LIBADD =
 am_libtoontag_la_OBJECTS = quartic.lo threepointpose.lo absorient.lo \
-       fourpointpose.lo handeye.lo
+       handeye.lo
 libtoontag_la_OBJECTS = $(am_libtoontag_la_OBJECTS)
 DEFAULT_INCLUDES = address@hidden@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -198,7 +198,7 @@
 top_srcdir = @top_srcdir@
 lib_LTLIBRARIES = libtoontag.la
 libtoontag_la_SOURCES = src/quartic.cpp src/threepointpose.cpp 
src/absorient.cpp \
-                          src/fourpointpose.cpp  src/handeye.cpp
+                          src/handeye.cpp
 
 
 # the header files to be installed
@@ -207,7 +207,6 @@
        tag/threepointpose.h \
        tag/absorient.h \
        tag/array.h \
-       tag/fourpointpose.h \
        tag/kalmanfilter.h \
        tag/constantposition.h \
        tag/constantvelocity.h \
@@ -297,7 +296,6 @@
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
address@hidden@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
 @AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
 @AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
 @AMDEP_TRUE@@am__include@ @address@hidden/$(DEPDIR)/address@hidden@
@@ -344,13 +342,6 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o absorient.lo `test -f 
'src/absorient.cpp' || echo '$(srcdir)/'`src/absorient.cpp
 
-fourpointpose.lo: src/fourpointpose.cpp
address@hidden@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fourpointpose.lo -MD -MP -MF 
$(DEPDIR)/fourpointpose.Tpo -c -o fourpointpose.lo `test -f 
'src/fourpointpose.cpp' || echo '$(srcdir)/'`src/fourpointpose.cpp
address@hidden@ mv -f $(DEPDIR)/fourpointpose.Tpo $(DEPDIR)/fourpointpose.Plo
address@hidden@@am__fastdepCXX_FALSE@   source='src/fourpointpose.cpp' 
object='fourpointpose.lo' libtool=yes @AMDEPBACKSLASH@
address@hidden@@am__fastdepCXX_FALSE@   DEPDIR=$(DEPDIR) $(CXXDEPMODE) 
$(depcomp) @AMDEPBACKSLASH@
address@hidden@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fourpointpose.lo `test -f 
'src/fourpointpose.cpp' || echo '$(srcdir)/'`src/fourpointpose.cpp
-
 handeye.lo: src/handeye.cpp
 @am__fastdepCXX_TRUE@  $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) 
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) 
$(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT handeye.lo -MD -MP -MF 
$(DEPDIR)/handeye.Tpo -c -o handeye.lo `test -f 'src/handeye.cpp' || echo 
'$(srcdir)/'`src/handeye.cpp
 @am__fastdepCXX_TRUE@  mv -f $(DEPDIR)/handeye.Tpo $(DEPDIR)/handeye.Plo

Index: libtool
===================================================================
RCS file: /cvsroot/toon/tag/libtool,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- libtool     5 Jan 2009 15:25:33 -0000       1.13
+++ libtool     20 Apr 2009 10:02:35 -0000      1.14
@@ -30,21 +30,21 @@
 # the same distribution terms that you use for the rest of that program.
 
 # A sed program that does not truncate output.
-SED="/bin/sed"
+SED="/usr/bin/sed"
 
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="/bin/sed -e 1s/^X//"
+Xsed="/usr/bin/sed -e 1s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # The names of the tagged configurations supported by this script.
-available_tags=" CXX F77"
+available_tags=" CXX"
 
 # ### BEGIN LIBTOOL CONFIG
 
-# Libtool was configured on host mesofrog:
+# Libtool was configured on host pirx.eng.cam.ac.uk:
 
 # Shell to use when invoking shell scripts.
 SHELL="/bin/sh"
@@ -62,20 +62,20 @@
 allow_libtool_libs_with_static_runtimes=no
 
 # Whether or not to optimize for fast installation.
-fast_install=yes
+fast_install=needless
 
 # The host system.
 host_alias=
-host=i686-pc-linux
-host_os=linux
+host=i686-apple-darwin9.6.0
+host_os=darwin9.6.0
 
 # The build system.
 build_alias=
-build=i686-pc-linux
-build_os=linux
+build=i686-apple-darwin9.6.0
+build_os=darwin9.6.0
 
 # An echo program that does not interpret backslashes.
-echo="echo"
+echo="/bin/echo"
 
 # The archiver.
 AR="ar"
@@ -85,7 +85,7 @@
 LTCC="gcc"
 
 # LTCC compiler flags.
-LTCFLAGS="-I /usr/local/include -L /usr/local/include"
+LTCFLAGS="-g -O2"
 
 # A language-specific compiler.
 CC="gcc"
@@ -94,16 +94,16 @@
 with_gcc=yes
 
 # An ERE matcher.
-EGREP="/bin/grep -E"
+EGREP="/usr/bin/grep -E"
 
 # The linker used to build libraries.
-LD="/usr/bin/ld"
+LD="/usr/libexec/gcc/i686-apple-darwin9/4.0.1/ld"
 
 # Whether we need hard or soft links.
 LN_S="ln -s"
 
 # A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
+NM="/usr/bin/nm -p"
 
 # A symbol stripping program
 STRIP="strip"
@@ -125,7 +125,7 @@
 
 # How to create reloadable object files.
 reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+reload_cmds="\$LTCC \$LTCFLAGS -nostdlib \${wl}-r -o \$output\$reload_objs"
 
 # How to pass a linker flag through the compiler.
 wl="-Wl,"
@@ -137,17 +137,17 @@
 libext="a"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='.so'
+shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
 
 # Executable file suffix (normally "").
 exeext=""
 
 # Additional compiler flags for building library objects.
-pic_flag=" -fPIC -DPIC"
+pic_flag=" -fno-common -DPIC"
 pic_mode=default
 
 # What is the maximum length of a command?
-max_cmd_len=1572864
+max_cmd_len=196608
 
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o="yes"
@@ -171,32 +171,32 @@
 dlopen_self_static=unknown
 
 # Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
+link_static_flag=""
 
 # Compiler flag to turn off builtin functions.
 no_builtin_flag=" -fno-builtin"
 
 # Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
+export_dynamic_flag_spec=""
 
 # Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience 
\${wl}--no-whole-archive"
+whole_archive_flag_spec=""
 
 # Compiler flag to generate thread-safe objects.
 thread_safe_flag_spec=""
 
 # Library versioning type.
-version_type=linux
+version_type=darwin
 
 # Format of library name prefix.
 libname_spec="lib\$name"
 
 # List of archive names.  First name is the real one, the rest are links.
 # The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix 
\${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+library_names_spec="\${libname}\${release}\${versuffix}\$shared_ext 
\${libname}\${release}\${major}\$shared_ext \${libname}\$shared_ext"
 
 # The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
+soname_spec="\${libname}\${release}\${major}\$shared_ext"
 
 # Commands used to build and install an old-style archive.
 RANLIB="ranlib"
@@ -211,21 +211,18 @@
 old_archive_from_expsyms_cmds=""
 
 # Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname 
\$wl\$soname -o \$lib"
-archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
-  cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> 
\$output_objdir/\$libname.ver~
-  \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
-         \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname 
\$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
+archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs 
\$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring"
+archive_expsym_cmds="sed -e \\\"s,#.*,,\\\" -e \\\"s,^[    ]*,,\\\" -e 
\\\"s,^\\\\(..*\\\\),_&,\\\" < \$export_symbols > 
\$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib 
\$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags 
-install_name \$rpath/\$soname \$verstring~nmedit -s 
\$output_objdir/\${libname}-symbols.expsym \${lib}"
 postinstall_cmds=""
 postuninstall_cmds=""
 
 # Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
+module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs 
\$deplibs\$compiler_flags"
+module_expsym_cmds="sed -e \\\"s,#.*,,\\\" -e \\\"s,^[    ]*,,\\\" -e 
\\\"s,^\\\\(..*\\\\),_&,\\\" < \$export_symbols > 
\$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag  -o 
\$lib -bundle \$libobjs \$deplibs\$compiler_flags~nmedit -s 
\$output_objdir/\${libname}-symbols.expsym \${lib}"
 
 # Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
+old_striplib="strip -S"
+striplib="strip -x"
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -254,19 +251,19 @@
 file_magic_cmd="\$MAGIC_CMD"
 
 # Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
+allow_undefined_flag="\${wl}-flat_namespace \${wl}-undefined \${wl}suppress"
 
 # Flag that forces no undefined symbols.
 no_undefined_flag=""
 
 # Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+finish_cmds=""
 
 # Same as above, but a single script fragment to be evaled but not shown.
 finish_eval=""
 
 # Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[  ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       
][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+global_symbol_pipe="sed -n -e 's/^.*[  ]\\([BCDEGRST][BCDEGRST]*\\)[   ][      
]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p'"
 
 # Transform the output of nm in a proper C declaration
 global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
@@ -275,23 +272,23 @@
 global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  
{\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  
{\"\\2\", (lt_ptr) \\&\\2},/p'"
 
 # This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
+runpath_var=
 
 # This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
+shlibpath_var=DYLD_LIBRARY_PATH
 
 # Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
+shlibpath_overrides_runpath=yes
 
 # How to hardcode a shared library path into an executable.
 hardcode_action=immediate
 
 # Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
+hardcode_into_libs=no
 
 # Flag to hardcode $libdir into a binary during linking.
 # This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
+hardcode_libdir_flag_spec=""
 
 # If ld is used when linking, flag to hardcode $libdir into
 # a binary during linking. This must work even if $libdir does
@@ -315,20 +312,20 @@
 
 # Set to yes if building a shared library automatically hardcodes DIR into the 
library
 # and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
+hardcode_automatic=yes
 
 # Variables whose values should be saved in libtool wrapper scripts and
 # restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX 
COMPILER_PATH LIBRARY_PATH"
+variables_saved_for_relink="PATH DYLD_LIBRARY_PATH  GCC_EXEC_PREFIX 
COMPILER_PATH LIBRARY_PATH"
 
 # Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
+link_all_deplibs=yes
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec="/usr/lib/gcc/i686-pc-linux-gnu/4.3.2 /usr/lib /lib"
+sys_lib_search_path_spec="/usr/lib/i686-apple-darwin9/4.0.1 /usr/lib 
/usr/lib/gcc/i686-apple-darwin9/4.0.1 /usr/local/lib"
 
 # Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/libfakeroot /lib /usr/lib 
/usr/local/lib /opt/qt/lib /usr/i486-linux-libc5/lib "
+sys_lib_dlsearch_path_spec="/usr/local/lib /lib /usr/lib"
 
 # Fix the shell variable $srcfile for the compiler.
 fix_srcfile_path=""
@@ -6812,7 +6809,7 @@
 # End:
 # ### BEGIN LIBTOOL TAG CONFIG: CXX
 
-# Libtool was configured on host mesofrog:
+# Libtool was configured on host pirx.eng.cam.ac.uk:
 
 # Shell to use when invoking shell scripts.
 SHELL="/bin/sh"
@@ -6830,20 +6827,20 @@
 allow_libtool_libs_with_static_runtimes=no
 
 # Whether or not to optimize for fast installation.
-fast_install=yes
+fast_install=needless
 
 # The host system.
 host_alias=
-host=i686-pc-linux
-host_os=linux
+host=i686-apple-darwin9.6.0
+host_os=darwin9.6.0
 
 # The build system.
 build_alias=
-build=i686-pc-linux
-build_os=linux
+build=i686-apple-darwin9.6.0
+build_os=darwin9.6.0
 
 # An echo program that does not interpret backslashes.
-echo="echo"
+echo="/bin/echo"
 
 # The archiver.
 AR="ar"
@@ -6853,7 +6850,7 @@
 LTCC="gcc"
 
 # LTCC compiler flags.
-LTCFLAGS="-I /usr/local/include -L /usr/local/include"
+LTCFLAGS="-g -O2"
 
 # A language-specific compiler.
 CC="g++"
@@ -6862,16 +6859,16 @@
 with_gcc=yes
 
 # An ERE matcher.
-EGREP="/bin/grep -E"
+EGREP="/usr/bin/grep -E"
 
 # The linker used to build libraries.
-LD="/usr/bin/ld"
+LD="/usr/libexec/gcc/i686-apple-darwin9/4.0.1/ld"
 
 # Whether we need hard or soft links.
 LN_S="ln -s"
 
 # A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
+NM="/usr/bin/nm -p"
 
 # A symbol stripping program
 STRIP="strip"
@@ -6893,7 +6890,7 @@
 
 # How to create reloadable object files.
 reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+reload_cmds="\$LTCC \$LTCFLAGS -nostdlib \${wl}-r -o \$output\$reload_objs"
 
 # How to pass a linker flag through the compiler.
 wl="-Wl,"
@@ -6905,17 +6902,17 @@
 libext="a"
 
 # Shared library suffix (normally ".so").
-shrext_cmds='.so'
+shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
 
 # Executable file suffix (normally "").
 exeext=""
 
 # Additional compiler flags for building library objects.
-pic_flag=" -fPIC -DPIC"
+pic_flag=" -fno-common -DPIC"
 pic_mode=default
 
 # What is the maximum length of a command?
-max_cmd_len=1572864
+max_cmd_len=196608
 
 # Does compiler simultaneously support -c and -o options?
 compiler_c_o="yes"
@@ -6939,32 +6936,32 @@
 dlopen_self_static=unknown
 
 # Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
+link_static_flag=""
 
 # Compiler flag to turn off builtin functions.
 no_builtin_flag=" -fno-builtin"
 
 # Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
+export_dynamic_flag_spec=""
 
 # Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience 
\${wl}--no-whole-archive"
+whole_archive_flag_spec=""
 
 # Compiler flag to generate thread-safe objects.
 thread_safe_flag_spec=""
 
 # Library versioning type.
-version_type=linux
+version_type=darwin
 
 # Format of library name prefix.
 libname_spec="lib\$name"
 
 # List of archive names.  First name is the real one, the rest are links.
 # The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix 
\${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+library_names_spec="\${libname}\${release}\${versuffix}\$shared_ext 
\${libname}\${release}\${major}\$shared_ext \${libname}\$shared_ext"
 
 # The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
+soname_spec="\${libname}\${release}\${major}\$shared_ext"
 
 # Commands used to build and install an old-style archive.
 RANLIB="ranlib"
@@ -6979,326 +6976,18 @@
 old_archive_from_expsyms_cmds=""
 
 # Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs 
\$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
-archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs 
\$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname 
\${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
+archive_cmds="\$CC -dynamiclib -single_module \$allow_undefined_flag -o \$lib 
\$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring"
+archive_expsym_cmds="sed -e \\\"s,#.*,,\\\" -e \\\"s,^[    ]*,,\\\" -e 
\\\"s,^\\\\(..*\\\\),_&,\\\" < \$export_symbols > 
\$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib -single_module 
\$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags 
-install_name \$rpath/\$soname \$verstring~nmedit -s 
\$output_objdir/\${libname}-symbols.expsym \${lib}"
 postinstall_cmds=""
 postuninstall_cmds=""
 
 # Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
+module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs 
\$deplibs\$compiler_flags"
+module_expsym_cmds="sed -e \\\"s,#.*,,\\\" -e \\\"s,^[    ]*,,\\\" -e 
\\\"s,^\\\\(..*\\\\),_&,\\\" < \$export_symbols > 
\$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag  -o 
\$lib -bundle \$libobjs \$deplibs\$compiler_flags~nmedit -s 
\$output_objdir/\${libname}-symbols.expsym \${lib}"
 
 # Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects="/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../crti.o 
/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/crtbeginS.o"
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects="/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/crtendS.o 
/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../crtn.o"
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=""
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path="-L/usr/lib/gcc/i686-pc-linux-gnu/4.3.2 
-L/usr/lib/gcc/i686-pc-linux-gnu/4.3.2 
-L/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../.."
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method="pass_all"
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd="\$MAGIC_CMD"
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=""
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=""
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[  ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       
][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  
{\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  
{\"\\2\", (lt_ptr) \\&\\2},/p'"
-
-# This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
-
-# This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=immediate
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
-
-# Flag to hardcode $libdir into a binary during linking.
-# This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
-
-# If ld is used when linking, flag to hardcode $libdir into
-# a binary during linking. This must work even if $libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=""
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=""
-
-# Set to yes if using DIR/libNAME during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=no
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=no
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=unsupported
-
-# Set to yes if building a shared library automatically hardcodes DIR into the 
library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX 
COMPILER_PATH LIBRARY_PATH"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec="/usr/lib/gcc/i686-pc-linux-gnu/4.3.2 /usr/lib /lib"
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/libfakeroot /lib /usr/lib 
/usr/local/lib /opt/qt/lib /usr/i486-linux-libc5/lib "
-
-# Fix the shell variable $srcfile for the compiler.
-fix_srcfile_path=""
-
-# Set to yes if exported symbols are required.
-always_export_symbols=no
-
-# The commands to list exported symbols.
-export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | 
\$SED 's/.* //' | sort | uniq > \$export_symbols"
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=""
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=""
-
-# Symbols that must always be exported.
-include_expsyms=""
-
-# ### END LIBTOOL TAG CONFIG: CXX
-
-# ### BEGIN LIBTOOL TAG CONFIG: F77
-
-# Libtool was configured on host mesofrog:
-
-# Shell to use when invoking shell scripts.
-SHELL="/bin/sh"
-
-# Whether or not to build shared libraries.
-build_libtool_libs=yes
-
-# Whether or not to build static libraries.
-build_old_libs=yes
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=no
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=no
-
-# Whether or not to optimize for fast installation.
-fast_install=yes
-
-# The host system.
-host_alias=
-host=i686-pc-linux
-host_os=linux
-
-# The build system.
-build_alias=
-build=i686-pc-linux
-build_os=linux
-
-# An echo program that does not interpret backslashes.
-echo="echo"
-
-# The archiver.
-AR="ar"
-AR_FLAGS="cru"
-
-# A C compiler.
-LTCC="gcc"
-
-# LTCC compiler flags.
-LTCFLAGS="-I /usr/local/include -L /usr/local/include"
-
-# A language-specific compiler.
-CC="gfortran"
-
-# Is the compiler the GNU C compiler?
-with_gcc=yes
-
-# An ERE matcher.
-EGREP="/bin/grep -E"
-
-# The linker used to build libraries.
-LD="/usr/bin/ld"
-
-# Whether we need hard or soft links.
-LN_S="ln -s"
-
-# A BSD-compatible nm program.
-NM="/usr/bin/nm -B"
-
-# A symbol stripping program
-STRIP="strip"
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=file
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="dlltool"
-
-# Used on cygwin: object dumper.
-OBJDUMP="objdump"
-
-# Used on cygwin: assembler.
-AS="as"
-
-# The name of the directory that contains temporary libtool files.
-objdir=.libs
-
-# How to create reloadable object files.
-reload_flag=" -r"
-reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
-
-# How to pass a linker flag through the compiler.
-wl="-Wl,"
-
-# Object file suffix (normally "o").
-objext="o"
-
-# Old archive suffix (normally "a").
-libext="a"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='.so'
-
-# Executable file suffix (normally "").
-exeext=""
-
-# Additional compiler flags for building library objects.
-pic_flag=" -fPIC"
-pic_mode=default
-
-# What is the maximum length of a command?
-max_cmd_len=1572864
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o="yes"
-
-# Must we lock files when doing compilation?
-need_locks="no"
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=no
-
-# Do we need a version for libraries?
-need_version=no
-
-# Whether dlopen is supported.
-dlopen_support=unknown
-
-# Whether dlopen of programs is supported.
-dlopen_self=unknown
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=unknown
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag="-static"
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=""
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec="\${wl}--export-dynamic"
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec="\${wl}--whole-archive\$convenience 
\${wl}--no-whole-archive"
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=""
-
-# Library versioning type.
-version_type=linux
-
-# Format of library name prefix.
-libname_spec="lib\$name"
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix 
\${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
-
-# The coded name of the library, if different from the real name.
-soname_spec="\${libname}\${release}\${shared_ext}\$major"
-
-# Commands used to build and install an old-style archive.
-RANLIB="ranlib"
-old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
-old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
-old_postuninstall_cmds=""
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=""
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=""
-
-# Commands used to build and install a shared archive.
-archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname 
\$wl\$soname -o \$lib"
-archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
-  cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> 
\$output_objdir/\$libname.ver~
-  \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
-         \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname 
\$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
-postinstall_cmds=""
-postuninstall_cmds=""
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=""
-module_expsym_cmds=""
-
-# Commands to strip libraries.
-old_striplib="strip --strip-debug"
-striplib="strip --strip-unneeded"
+old_striplib="strip -S"
+striplib="strip -x"
 
 # Dependencies to place before the objects being linked to create a
 # shared library.
@@ -7327,19 +7016,19 @@
 file_magic_cmd="\$MAGIC_CMD"
 
 # Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=""
+allow_undefined_flag="\${wl}-flat_namespace \${wl}-undefined \${wl}suppress"
 
 # Flag that forces no undefined symbols.
 no_undefined_flag=""
 
 # Commands used to finish a libtool library installation in a directory.
-finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+finish_cmds=""
 
 # Same as above, but a single script fragment to be evaled but not shown.
 finish_eval=""
 
 # Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe="sed -n -e 's/^.*[  ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       
][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+global_symbol_pipe="sed -n -e 's/^.*[  ]\\([BCDEGRST][BCDEGRST]*\\)[   ][      
]*_\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 _\\2 \\2/p'"
 
 # Transform the output of nm in a proper C declaration
 global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'"
@@ -7348,23 +7037,23 @@
 global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  
{\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/  
{\"\\2\", (lt_ptr) \\&\\2},/p'"
 
 # This is the shared library runtime path variable.
-runpath_var=LD_RUN_PATH
+runpath_var=
 
 # This is the shared library path variable.
-shlibpath_var=LD_LIBRARY_PATH
+shlibpath_var=DYLD_LIBRARY_PATH
 
 # Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=no
+shlibpath_overrides_runpath=yes
 
 # How to hardcode a shared library path into an executable.
 hardcode_action=immediate
 
 # Whether we should hardcode library paths into libraries.
-hardcode_into_libs=yes
+hardcode_into_libs=no
 
 # Flag to hardcode $libdir into a binary during linking.
 # This must work even if $libdir does not exist.
-hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir"
+hardcode_libdir_flag_spec=""
 
 # If ld is used when linking, flag to hardcode $libdir into
 # a binary during linking. This must work even if $libdir does
@@ -7388,20 +7077,20 @@
 
 # Set to yes if building a shared library automatically hardcodes DIR into the 
library
 # and all subsequent libraries and executables linked against it.
-hardcode_automatic=no
+hardcode_automatic=yes
 
 # Variables whose values should be saved in libtool wrapper scripts and
 # restored at relink time.
-variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX 
COMPILER_PATH LIBRARY_PATH"
+variables_saved_for_relink="PATH DYLD_LIBRARY_PATH  GCC_EXEC_PREFIX 
COMPILER_PATH LIBRARY_PATH"
 
 # Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=unknown
+link_all_deplibs=yes
 
 # Compile-time system search path for libraries
-sys_lib_search_path_spec="/usr/lib/gcc/i686-pc-linux-gnu/4.3.2 /usr/lib /lib"
+sys_lib_search_path_spec="/usr/lib/i686-apple-darwin9/4.0.1 /usr/lib 
/usr/lib/gcc/i686-apple-darwin9/4.0.1 /usr/local/lib"
 
 # Run-time system search path for libraries
-sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/libfakeroot /lib /usr/lib 
/usr/local/lib /opt/qt/lib /usr/i486-linux-libc5/lib "
+sys_lib_dlsearch_path_spec="/usr/local/lib /lib /usr/lib"
 
 # Fix the shell variable $srcfile for the compiler.
 fix_srcfile_path=""
@@ -7416,10 +7105,10 @@
 extract_expsyms_cmds=""
 
 # Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
+exclude_expsyms=""
 
 # Symbols that must always be exported.
 include_expsyms=""
 
-# ### END LIBTOOL TAG CONFIG: F77
+# ### END LIBTOOL TAG CONFIG: CXX
 

Index: src/absorient.cpp
===================================================================
RCS file: /cvsroot/toon/tag/src/absorient.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/absorient.cpp   9 Dec 2008 20:33:41 -0000       1.3
+++ src/absorient.cpp   20 Apr 2009 10:02:35 -0000      1.4
@@ -22,12 +22,11 @@
     return result;
 }
 
-TooN::SO3 computeOrientation( const std::vector<TooN::Vector<3> > & a, const 
std::vector<TooN::Vector<3> > & b ){
+TooN::SO3<>  computeOrientation( const std::vector<TooN::Vector<3> > & a, 
const std::vector<TooN::Vector<3> > & b ){
     const size_t N = a.size();
     // compute cross correlations
     const int x = 0, y = 1, z = 2;
-    TooN::Matrix<3> s;
-    TooN::Zero(s);
+    TooN::Matrix<3> s = TooN::Zero;
     for( unsigned int i = 0; i < N; i++){
         s += a[i].as_col() * b[i].as_row();
     }
@@ -53,40 +52,38 @@
         if( evals[i] > evals[index] )
             index = i;
     TooN::Vector<4> evec = ev.get_evectors()[index];
-    TooN::SO3 result;
+    TooN::SO3<>  result;
     result = quaternionToMatrix(evec);
     return result;
 }
 
 // computes the orientation from (e1,e2,e3) -> (a,(a^b)^a,a^b), which means 
that b the second vector is in the a, b plane
-static inline TooN::SO3 canonicalOrientation( const TooN::Vector<3> & a, const 
TooN::Vector<3> & b ){
+static inline TooN::SO3<>  canonicalOrientation( const TooN::Vector<3> & a, 
const TooN::Vector<3> & b ){
     TooN::Matrix<3> result;
     result.T()[0] = a;
     result.T()[2] = a ^ b;
-    TooN::normalize(result.T()[0]);
-    TooN::normalize(result.T()[2]);
+    result.T()[0] = TooN::unit(result.T()[0]);
+    result.T()[2] = TooN::unit(result.T()[2]);
     result.T()[1] = result.T()[2] ^ result.T()[0];
-    return TooN::SO3(result);
+    return TooN::SO3<> (result);
 }
 
-TooN::SO3 computeOrientation( const TooN::Vector<3> & a1, const 
TooN::Vector<3> & b1, const TooN::Vector<3> & a2, const TooN::Vector<3> & b2 ){
-    TooN::SO3 r1 = canonicalOrientation( a1, a2 );
-    TooN::SO3 r2 = canonicalOrientation( b1, b2 );
-    const TooN::SO3 rAB = r2 * r1.inverse();
+TooN::SO3<>  computeOrientation( const TooN::Vector<3> & a1, const 
TooN::Vector<3> & b1, const TooN::Vector<3> & a2, const TooN::Vector<3> & b2 ){
+    TooN::SO3<>  r1 = canonicalOrientation( a1, a2 );
+    TooN::SO3<>  r2 = canonicalOrientation( b1, b2 );
+    const TooN::SO3<>  rAB = r2 * r1.inverse();
     r1 = canonicalOrientation( a2, a1 );
     r2 = canonicalOrientation( b2, b1 );
-    const TooN::SO3 rBA = r2 * r1.inverse();
-    const TooN::SO3 diff = rBA * rAB.inverse();
-    return TooN::SO3::exp(diff.ln() * 0.5) * rAB;
+    const TooN::SO3<>  rBA = r2 * r1.inverse();
+    const TooN::SO3<>  diff = rBA * rAB.inverse();
+    return TooN::SO3<> ::exp(diff.ln() * 0.5) * rAB;
 }
 
-TooN::SE3 computeAbsoluteOrientation( const std::vector<TooN::Vector<3> > & a, 
const std::vector<TooN::Vector<3> > & b){
-    //std::assert(a.size() == b.size());
+TooN::SE3<>  computeAbsoluteOrientation( const std::vector<TooN::Vector<3> > & 
a, const std::vector<TooN::Vector<3> > & b){
+    // std::assert(a.size() <= b.size());
     const size_t N = a.size();
 
-    TooN::Vector<3> ma, mb;
-    TooN::Zero(ma);
-    TooN::Zero(mb);
+    TooN::Vector<3> ma = TooN::Zero, mb = TooN::Zero;
 
     // compute centroids
     for(unsigned int i = 0; i < N; i++){
@@ -104,55 +101,32 @@
     }
 
     // put resulting transformation together
-    TooN::SE3 result;
+    TooN::SE3<>  result;
     result.get_rotation() = computeOrientation( ap, bp );
     result.get_translation() = mb - result.get_rotation() * ma;
     return result;
 }
 
-#if 0
-// what is this actually doing? should give the same result as 
computeOrientation
-TooN::SO3 computeOrientationFitting( const std::vector<TooN::Vector<3> > & a, 
const std::vector<TooN::Vector<3> > & b ){
-    const unsigned int N = a.size();
-    // compute cross correlations
-    TooN::Matrix<3> m;
-    TooN::Zero(m);
-    for( unsigned int i = 0; i < N; i++){
-        m += a[i].as_col() * b[i].as_row();
-    }
-
-    // compute square root of s
-    TooN::Matrix<3> s = m.T() * m;
-    TooN::SymEigen<3> ev(s);
-    for( unsigned int i = 0; i < 3; i++)
-        ev.get_evalues()[i] = sqrt(ev.get_evalues()[i]);
-
-    TooN::SO3 result(ev.backsub(m.T()));
-    return result;
-}
-#endif
-
-TooN::SO3 computeMeanOrientation( const std::vector<TooN::SO3> & r){
+TooN::SO3<>  computeMeanOrientation( const std::vector<TooN::SO3<> > & r){
     const size_t N = r.size();
-    std::vector<TooN::SO3> rt(N);
-    TooN::SO3 base = r.front();
-    TooN::SO3 baseInv = base.inverse();
-    TooN::Vector<3> center;
-    Zero(center);
+    std::vector<TooN::SO3<> > rt(N);
+    TooN::SO3<>  base = r.front();
+    TooN::SO3<>  baseInv = base.inverse();
+    TooN::Vector<3> center = TooN::Zero;
     for(unsigned int i = 0; i < N; i++){
         rt[i] = r[i] * baseInv;
         center += rt[i].ln();
     }
     center /= N;
-    TooN::SO3 mean = TooN::SO3::exp(center);
+    TooN::SO3<> mean(center);
     do {
-        Zero(center);
+        center = TooN::Zero;
         for(unsigned int i = 0; i < N; i++){
-            TooN::SO3 diff = rt[i] * mean.inverse();
+            TooN::SO3<>  diff = rt[i] * mean.inverse();
             center += diff.ln();
         }
         center /= N;
-        mean = TooN::SO3::exp(center) * mean;
+        mean = TooN::SO3<>::exp(center) * mean;
     } while(center * center > 1e-12);
 
     return mean * base;

Index: src/handeye.cpp
===================================================================
RCS file: /cvsroot/toon/tag/src/handeye.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- src/handeye.cpp     15 Aug 2008 13:24:49 -0000      1.1
+++ src/handeye.cpp     20 Apr 2009 10:02:35 -0000      1.2
@@ -11,22 +11,22 @@
 
 namespace tag {
 
-static inline Vector<3> getRotationVector( const SO3 & r ){
+static inline Vector<3> getRotationVector( const SO3<>  & r ){
     const Matrix<3> & my_matrix = r.get_matrix();
     Vector<3> result;
     result[0] = (my_matrix[2][1]-my_matrix[1][2]);
     result[1] = (my_matrix[0][2]-my_matrix[2][0]);
     result[2] = (my_matrix[1][0]-my_matrix[0][1]);
-    normalize(result);
+    result = unit(result);
     return result;
 }
 
-static inline Vector<3> getRotationVector( const SE3 & t ){
+static inline Vector<3> getRotationVector( const SE3<>  & t ){
     return getRotationVector(t.get_rotation());
 }
 
 template<class T>
-static inline TooN::SO3 solveXABX( const std::vector<T> & A, const 
std::vector<T> & B ){
+static inline TooN::SO3<>  solveXABX( const std::vector<T> & A, const 
std::vector<T> & B ){
     vector<Vector<3> > va(A.size()), vb(A.size());
     for(unsigned int i = 0; i < A.size(); ++i){
         va[i] = getRotationVector(A[i]);
@@ -36,39 +36,36 @@
 }
 
 static inline Matrix<3> eyeMinus( const Matrix<3> & m ){
-    Matrix<3> result;
-    Identity(result);
+    Matrix<3> result = Identity;
     result -= m;
     return result;
 }
 
-SE3 computeHandEyeSingle( const vector<SE3> & AB, const vector<SE3> & CD ){
-    vector<SE3> A(AB.size()-1),B(AB.size()-1);
+SE3<>  computeHandEyeSingle( const vector<SE3<> > & AB, const vector<SE3<> > & 
CD ){
+    vector<SE3<> > A(AB.size()-1),B(AB.size()-1);
     for(unsigned int i = 0; i < AB.size() - 1; ++i){
         A[i] = CD[i] * CD[i+1].inverse();
         B[i] = AB[i].inverse() * AB[i+1];
     }
-    SO3 R = solveXABX(A,B);
-    Matrix<3> JTJ;
-    Vector<3> JTE;
-    Zero(JTJ);
-    Zero(JTE);
+    SO3<> R = solveXABX(A,B);
+    Matrix<3> JTJ = Zero;
+    Vector<3> JTE = Zero;
     for(unsigned int i = 0; i < A.size(); ++i){
         Matrix<3> m =  eyeMinus( B[i].get_rotation().get_matrix());
-        add_product(m.T(), m, JTJ);
-        add_product(m.T(), (B[i].get_translation() - R * 
A[i].get_translation()), JTE);
+        JTJ += m.T() * m;
+        JTE += m.T() * (B[i].get_translation() - R * A[i].get_translation());
     }
     Cholesky<3> chol(JTJ);
-    return SE3(R, chol.inverse_times(JTE));
+    return SE3<> (R, chol.backsub(JTE));
 }
 
-std::pair<TooN::SE3, TooN::SE3> computeHandEye( const std::vector<TooN::SE3> & 
AB, const std::vector<TooN::SE3> & CD ){
+std::pair<TooN::SE3<> , TooN::SE3<> > computeHandEye( const 
std::vector<TooN::SE3<> > & AB, const std::vector<TooN::SE3<> > & CD ){
     assert( AB.size() == CD.size() && AB.size() > 2 );
     return make_pair(computeHandEyeSingle(AB, CD), computeHandEyeSingle(CD, 
AB)); 
 }
 
-SO3 computeHandEyeSingle( const vector<SO3> & AB, const vector<SO3> & CD ){
-    vector<SO3> A(AB.size()-1),B(AB.size()-1);
+SO3<>  computeHandEyeSingle( const vector<SO3<> > & AB, const vector<SO3<> > & 
CD ){
+    vector<SO3<> > A(AB.size()-1),B(AB.size()-1);
     for(unsigned int i = 0; i < AB.size() - 1; ++i){
         A[i] = CD[i] * CD[i+1].inverse();
         B[i] = AB[i].inverse() * AB[i+1];
@@ -76,7 +73,7 @@
     return solveXABX(A,B);
 }
 
-std::pair<TooN::SO3, TooN::SO3> computeHandEye( const std::vector<TooN::SO3> & 
AB, const std::vector<TooN::SO3> & CD ){
+std::pair<TooN::SO3<> , TooN::SO3<> > computeHandEye( const 
std::vector<TooN::SO3<> > & AB, const std::vector<TooN::SO3<> > & CD ){
     assert( AB.size() == CD.size() && AB.size() > 2 );
     return make_pair(computeHandEyeSingle(AB, CD), computeHandEyeSingle(CD, 
AB));
 }

Index: src/threepointpose.cpp
===================================================================
RCS file: /cvsroot/toon/tag/src/threepointpose.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- src/threepointpose.cpp      31 Mar 2008 16:35:42 -0000      1.1
+++ src/threepointpose.cpp      20 Apr 2009 10:02:35 -0000      1.2
@@ -9,7 +9,7 @@
 
 inline double square(double x) { return x*x; }
 
-SE3 three_point_absolute_orientation(const Vector<3> x[], const Vector<3> y[])
+SE3<> three_point_absolute_orientation(const Vector<3> x[], const Vector<3> 
y[])
 {
     Matrix<3> D, D1;
     
@@ -22,14 +22,14 @@
     D1[2] = D1[1] ^ D1[0];
     
     
-    SO3 so3(gaussian_elimination(D, D1).T());
+    SO3<> so3(gaussian_elimination(D, D1).T());
     
     Vector<3> T = y[0] - so3 * x[0];
 
-    return SE3(so3, T);
+    return SE3<>(so3, T);
 }
 
-int three_point_pose(const Vector<3> xi[], const Vector<2> zi[], vector<SE3>& 
poses)
+int three_point_pose(const Vector<3> xi[], const Vector<2> zi[], vector<SE3<> 
>& poses)
 {    
     double ab_sq = norm_sq(xi[1] - xi[0]);
     double ac_sq = norm_sq(xi[2] - xi[0]);

Index: tag/absorient.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/absorient.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- tag/absorient.h     9 Dec 2008 20:33:42 -0000       1.3
+++ tag/absorient.h     20 Apr 2009 10:02:35 -0000      1.4
@@ -19,7 +19,7 @@
 /// @param[in] b vector of 3D points
 /// @return TooN::SO3 containing the rotation such that b = T a
 /// @ingroup absorient
-TooN::SO3 computeOrientation( const std::vector<TooN::Vector<3> > & a, const 
std::vector<TooN::Vector<3> > & b );
+TooN::SO3<> computeOrientation( const std::vector<TooN::Vector<3> > & a, const 
std::vector<TooN::Vector<3> > & b );
 
 /// directly computes a rotation between two pairs of rays in space maximizing 
b * T a
 /// its about 8x faster then using the general computeOrientation for 2 
correspondences.
@@ -29,7 +29,7 @@
 /// @param[in] b2 second output vector
 /// @return TooN::SO3 containing the rotation such that b = T a
 /// @ingroup absorient
-TooN::SO3 computeOrientation( const TooN::Vector<3> & a1, const 
TooN::Vector<3> & b1, const TooN::Vector<3> & a2, const TooN::Vector<3> & b2 );
+TooN::SO3<> computeOrientation( const TooN::Vector<3> & a1, const 
TooN::Vector<3> & b1, const TooN::Vector<3> & a2, const TooN::Vector<3> & b2 );
 
 /// computes the rigid transformation between two corresponding point sets 
after Horn
 /// The result is an SE3 that maps points from vector a to points from vector 
b : b[i] = SE3 * a[i]
@@ -37,13 +37,13 @@
 /// @param[in] b vector of 3D points
 /// @return TooN::SE3 containing the transformation such that b = T a
 /// @ingroup absorient
-TooN::SE3 computeAbsoluteOrientation( const std::vector<TooN::Vector<3> > & a, 
const std::vector<TooN::Vector<3> > & b);
+TooN::SE3<> computeAbsoluteOrientation( const std::vector<TooN::Vector<3> > & 
a, const std::vector<TooN::Vector<3> > & b);
 
 /// computes the mean rotation of a set of rotations. This is the rotation R 
such that R^{-1} * R_i is minimal for all R_i.
 /// @param[in] r a vector of rotations
 /// @return TooN::SO3 mean rotation of all input rotations
 /// @ingroup absorient
-TooN::SO3 computeMeanOrientation( const std::vector<TooN::SO3> & r);
+TooN::SO3<> computeMeanOrientation( const std::vector<TooN::SO3<> > & r);
 
 /// computes a rotation matrix corresponding to a unit quaternion. The 
quaternion
 /// is in the format (q0,qx,qy,qz) to fit the absolute orientation algorithm. 
This

Index: tag/fourpointpose.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/fourpointpose.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- tag/fourpointpose.h 31 Oct 2007 10:26:22 -0000      1.8
+++ tag/fourpointpose.h 20 Apr 2009 10:02:35 -0000      1.9
@@ -8,7 +8,7 @@
 
 namespace tag {
 
-/// @defgroup fourpointpose Pose estimation from 4 2D-3D point correspondences
+/// @defgroup fourpointpose DEPRECATED Pose estimation from 4 2D-3D point 
correspondences - use 3 point instead
 /// This group contains a function and a related RANSAC estimator to compute
 /// a camera pose from 4 2D-3D point correspondences.
 

Index: tag/handeye.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/handeye.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tag/handeye.h       15 Aug 2008 13:24:49 -0000      1.1
+++ tag/handeye.h       20 Apr 2009 10:02:35 -0000      1.2
@@ -2,7 +2,7 @@
 #define TAG_HANDEYE_H_
 
 #include <vector>
-#include <TooN/se3.h>
+#include <TooN/SE3.h>
 
 namespace tag {
 
@@ -17,36 +17,36 @@
 /// computed. AB, CD need to contain at least 3 entries to provide 2 
independent motions
 /// @param[in] AB a vector of measurements for AB
 /// @param[in] CD a vector of measurements for CD
-/// @return the SE3 X 
+/// @return the SE3<> X 
 /// @ingroup handeye
-TooN::SE3 computeHandEyeSingle( const std::vector<TooN::SE3> & AB, const 
std::vector<TooN::SE3> & CD );
+TooN::SE3<> computeHandEyeSingle( const std::vector<TooN::SE3<> > & AB, const 
std::vector<TooN::SE3<> > & CD );
 
 /// computes the pair of transformations that complete the circle:
 /// AB -> X -> CD -> Y, so that X is the transformation from B to C and Y the 
 /// transformation from D to A. AB, CD need to contain at least 3 entries to 
provide 2 independent motions
 /// @param[in] AB a vector of measurements for AB
 /// @param[in] CD a vector of measurements for CD
-/// @return pair of SE3s, X and Y
+/// @return pair of SE3<>s, X and Y
 /// @ingroup handeye
-std::pair<TooN::SE3, TooN::SE3> computeHandEye( const std::vector<TooN::SE3> & 
AB, const std::vector<TooN::SE3> & CD );
+std::pair<TooN::SE3<>, TooN::SE3<> > computeHandEye( const 
std::vector<TooN::SE3<> > & AB, const std::vector<TooN::SE3<> > & CD );
 
 /// computes the rotation in a circle of transformations:
 /// AB -> X -> CD -> ?, so that X is the rotation from B to C. ? is not
 /// computed. AB, CD need to contain at least 3 entries to provide 2 
independent motions
 /// @param[in] AB a vector of measurements for AB
 /// @param[in] CD a vector of measurements for CD
-/// @return the SE3 X 
+/// @return the SE3<> X 
 /// @ingroup handeye
-TooN::SO3 computeHandEyeSingle( const std::vector<TooN::SO3> & AB, const 
std::vector<TooN::SO3> & CD );
+TooN::SO3<>  computeHandEyeSingle( const std::vector<TooN::SO3<> > & AB, const 
std::vector<TooN::SO3<> > & CD );
 
 /// computes the pair of rotations that complete the circle:
 /// AB -> X -> CD -> Y, so that X is the transformation from B to C and Y the 
 /// transformation from D to A. AB, CD need to contain at least 3 entries to 
provide 2 independent motions
 /// @param[in] AB a vector of measurements for AB
 /// @param[in] CD a vector of measurements for CD
-/// @return pair of SO3s, X and Y
+/// @return pair of SO3<> s, X and Y
 /// @ingroup handeye
-std::pair<TooN::SO3, TooN::SO3> computeHandEye( const std::vector<TooN::SO3> & 
AB, const std::vector<TooN::SO3> & CD );
+std::pair<TooN::SO3<> , TooN::SO3<> > computeHandEye( const 
std::vector<TooN::SO3<> > & AB, const std::vector<TooN::SO3<> > & CD );
 
 }
 

Index: tag/stdpp.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/stdpp.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- tag/stdpp.h 12 Jul 2006 00:26:37 -0000      1.6
+++ tag/stdpp.h 20 Apr 2009 10:02:35 -0000      1.7
@@ -37,27 +37,47 @@
 
 #ifndef DOXYGEN_IGNORE_INTERNAL
 
+static struct noendl_s {} noendl;
+
 template <class T> struct NotFirst {
-    inline NotFirst(T & d) : data(d) {};
+    inline NotFirst(T & d) : data(d), last(true) {}
+    inline ~NotFirst() { if(last) data << std::endl; }
     T & data;
+    bool last;
+    
+    template <class S>
+    inline NotFirst<T> & operator,( const S & arg ){
+        data << data.fill() << arg;
+        return *this;
+    }
+
+    inline T & operator,(T & (*modifier)(T &)){
+        data << modifier;
+        last = false;
+        return data;
+    }
+
+    inline NotFirst<T> & operator,( noendl_s & arg ){
+        last = false;
+        return *this;
+    }
 };
 
 template <class T, class Char, class Traits>
-inline NotFirst<std::basic_ostream<Char,Traits> > 
operator,(std::basic_ostream<Char,Traits>  & stream, const T & data ){
-    stream << data;
+inline NotFirst<std::basic_ostream<Char,Traits> > 
operator,(std::basic_ostream<Char,Traits>  & stream, const T & arg ){
+    stream << arg;
     return NotFirst<std::basic_ostream<Char,Traits> >(stream);
 }
 
-template <class T, class Char, class Traits>
-inline NotFirst<std::basic_ostream<Char,Traits> > 
operator,(NotFirst<std::basic_ostream<Char,Traits> > nf, const T & data ){
-    nf.data << nf.data.fill() << data;
-    return nf;
+template <class Char, class Traits>
+inline std::basic_ostream<Char,Traits> & 
operator,(std::basic_ostream<Char,Traits>  & stream, 
std::basic_ostream<Char,Traits> & (*modifier)(std::basic_ostream<Char,Traits> 
&)){
+    stream << modifier;
+    return stream;
 }
 
 template <class Char, class Traits>
-inline std::basic_ostream<Char,Traits> & 
operator,(NotFirst<std::basic_ostream<Char,Traits> > nf, 
std::basic_ostream<Char,Traits> & (*modifier)(std::basic_ostream<Char,Traits> 
&)){
-    nf.data << modifier;
-    return nf.data;
+inline std::basic_ostream<Char,Traits> & 
operator,(std::basic_ostream<Char,Traits>  & stream, noendl_s & arg ){
+    return stream;
 }
 
 namespace Internal

Index: tag/threepointpose.h
===================================================================
RCS file: /cvsroot/toon/tag/tag/threepointpose.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tag/threepointpose.h        31 Mar 2008 16:35:41 -0000      1.1
+++ tag/threepointpose.h        20 Apr 2009 10:02:35 -0000      1.2
@@ -14,6 +14,6 @@
 /// @param[out] poses the vector onto which any valid poses are appended
 /// @return the number of  poses appended to the vector
 
-int three_point_pose(const TooN::Vector<3> x[], const TooN::Vector<2> z[], 
std::vector<TooN::SE3>& poses);
+int three_point_pose(const TooN::Vector<3> x[], const TooN::Vector<2> z[], 
std::vector<TooN::SE3<> >& poses);
 
 #endif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]