[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Toon-members] tag Makefile.am Makefile.in libtool src/absorie...,
Gerhard Reitmayr <=