[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38198] branches/soc-2011-tomato: Camera tracking integration

Sergey Sharybin g.ulairi at gmail.com
Thu Jul 7 19:58:33 CEST 2011


Revision: 38198
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38198
Author:   nazgul
Date:     2011-07-07 17:58:33 +0000 (Thu, 07 Jul 2011)
Log Message:
-----------
Camera tracking integration
===========================

- ColaMD moved from OpenNL to extern/.
  It'll be needed for libmv. Also, it's a bit updated from
  year 1999 to 2007.
  Need to be tested for regressions.
- Updated bundling script for libmv. Now it uses fuller
  subset of this library.
- Bundled new libmv.
- Request from Keir: add command line argument to toggle logging
  stuff on. Currently, if Blender is launched with -d argument
  libmv would start printing logging messages. There's no
  argument to increase verbosity, but there's API in libmv-capi,
  so it'll be easy to add.
- Finally fixed crash when ibuf is acquiring with user=NULL.
- Added ActiveClip property to the scene. This clip is used
  as default value for new match-moving constraints.
- Added some flags to Display panel of View3D. Related on
  displaying match-moving stuff.
- Internal change: bundles data moved inside to MovieTrackingTrack.
- Initial implementation of 3d reconstruction.
- Added constraint "Camera Solver". This constraint is supposed
  to be used to make camera follow the reconstructed camera path.
- Added "reference" property to "Follow Track" constraint.
  Now object could be "parented" to 2D track position or to
  3D bundle position.

The very quick guide:

To use reconstruction you should have footage with tracked markers,
choose two keyframes in "Tracking settings" panel. There should be
quite noticeable parallax effect between this two frames. This
is used to initialize reconstruction stuff.
Camera data (focal length and optical center) should be filled in
"Camera Data" panel. Optical center is often the center of image,
so it'll be filled in automatically.
You should also set values for undistortion (K1, K2 and K3). Currently,
there's no any visualization for this parameters and approach of
"change value -> reconstruct -> see what've changed" is the only way
for now.
Libmv team is working on auto-calibration tool, so it should be
easier to gather this coefficients in nearest (i hope) future.
There's also no scene orientation stuff.

Basic workflow:
- Open footage.
- Set markers and track them.
- Fill in camera data and keyframes.
- Hit "Solve Camera" button.
- Add "Camera Solver" constraint to camera in scene.
- Choose movieclip in that constraint.
- To see bundles in 3D viewport active clip should be set
  in scene buttons.

Modified Paths:
--------------
    branches/soc-2011-tomato/build_files/scons/tools/Blender.py
    branches/soc-2011-tomato/extern/CMakeLists.txt
    branches/soc-2011-tomato/extern/SConscript
    branches/soc-2011-tomato/extern/libmv/CMakeLists.txt
    branches/soc-2011-tomato/extern/libmv/SConscript
    branches/soc-2011-tomato/extern/libmv/bundle.sh
    branches/soc-2011-tomato/extern/libmv/files.txt
    branches/soc-2011-tomato/extern/libmv/libmv/base/vector.h
    branches/soc-2011-tomato/extern/libmv/libmv/image/image.h
    branches/soc-2011-tomato/extern/libmv/libmv/logging/logging.h
    branches/soc-2011-tomato/extern/libmv/libmv/numeric/levenberg_marquardt.h
    branches/soc-2011-tomato/extern/libmv/libmv-capi.cpp
    branches/soc-2011-tomato/extern/libmv/libmv-capi.h
    branches/soc-2011-tomato/extern/libmv/mkfiles.sh
    branches/soc-2011-tomato/intern/opennl/CMakeLists.txt
    branches/soc-2011-tomato/intern/opennl/SConscript
    branches/soc-2011-tomato/intern/opennl/superlu/get_perm_c.c
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_object_constraint.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_scene.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_tracking.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/constraint.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/depsgraph.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/movieclip.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
    branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c
    branches/soc-2011-tomato/source/blender/editors/include/UI_resources.h
    branches/soc-2011-tomato/source/blender/editors/interface/resources.c
    branches/soc-2011-tomato/source/blender/editors/object/object_constraint.c
    branches/soc-2011-tomato/source/blender/editors/space_clip/clip_intern.h
    branches/soc-2011-tomato/source/blender/editors/space_clip/space_clip.c
    branches/soc-2011-tomato/source/blender/editors/space_clip/tracking_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/space_view3d.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_draw.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_constraint_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_scene_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_tracking_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_userdef_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_view3d_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_constraint.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_space.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_tracking.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_userdef.c
    branches/soc-2011-tomato/source/creator/CMakeLists.txt
    branches/soc-2011-tomato/source/creator/creator.c

Added Paths:
-----------
    branches/soc-2011-tomato/extern/colamd/
    branches/soc-2011-tomato/extern/colamd/CMakeLists.txt
    branches/soc-2011-tomato/extern/colamd/Doc/
    branches/soc-2011-tomato/extern/colamd/Doc/ChangeLog
    branches/soc-2011-tomato/extern/colamd/Doc/lesser.txt
    branches/soc-2011-tomato/extern/colamd/Include/
    branches/soc-2011-tomato/extern/colamd/Include/UFconfig.h
    branches/soc-2011-tomato/extern/colamd/Include/colamd.h
    branches/soc-2011-tomato/extern/colamd/README.txt
    branches/soc-2011-tomato/extern/colamd/SConscript
    branches/soc-2011-tomato/extern/colamd/Source/
    branches/soc-2011-tomato/extern/colamd/Source/colamd.c
    branches/soc-2011-tomato/extern/colamd/Source/colamd_global.c
    branches/soc-2011-tomato/extern/libmv/ChangeLog
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/conditioning.cc
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/conditioning.h
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/euclidean_resection.cc
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/euclidean_resection.h
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/fundamental.cc
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/fundamental.h
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/nviewtriangulation.h
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/projection.cc
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/projection.h
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/resection.h
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/triangulation.cc
    branches/soc-2011-tomato/extern/libmv/libmv/multiview/triangulation.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/bundle.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/bundle.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/camera_intrinsics.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/camera_intrinsics.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/initialize_reconstruction.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/initialize_reconstruction.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/intersect.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/intersect.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/pipeline.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/pipeline.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/reconstruction.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/reconstruction.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/resect.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/resect.h
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/tracks.cc
    branches/soc-2011-tomato/extern/libmv/libmv/simple_pipeline/tracks.h
    branches/soc-2011-tomato/extern/libmv/patches/
    branches/soc-2011-tomato/extern/libmv/patches/series
    branches/soc-2011-tomato/extern/libmv/third_party/
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/README.libmv
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/config.h
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/gflags.cc
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/gflags.h
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/gflags_completions.cc
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/gflags_completions.h
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/gflags_reporting.cc
    branches/soc-2011-tomato/extern/libmv/third_party/gflags/mutex.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/
    branches/soc-2011-tomato/extern/libmv/third_party/glog/AUTHORS
    branches/soc-2011-tomato/extern/libmv/third_party/glog/COPYING
    branches/soc-2011-tomato/extern/libmv/third_party/glog/ChangeLog
    branches/soc-2011-tomato/extern/libmv/third_party/glog/NEWS
    branches/soc-2011-tomato/extern/libmv/third_party/glog/README
    branches/soc-2011-tomato/extern/libmv/third_party/glog/README.libmv
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/base/
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/base/commandlineflags.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/base/googleinit.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/base/mutex.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/config.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/config_linux.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/config_mac.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/demangle.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/demangle.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/glog/
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/glog/log_severity.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/glog/logging.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/glog/raw_logging.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/glog/vlog_is_on.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/logging.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/raw_logging.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/signalhandler.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/stacktrace.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/stacktrace_generic-inl.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/stacktrace_libunwind-inl.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/stacktrace_powerpc-inl.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/stacktrace_x86-inl.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/stacktrace_x86_64-inl.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/symbolize.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/symbolize.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/utilities.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/utilities.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/vlog_is_on.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/config.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/glog/
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/glog/log_severity.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/glog/logging.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/glog/raw_logging.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/glog/vlog_is_on.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/port.cc
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/port.h
    branches/soc-2011-tomato/extern/libmv/third_party/glog/src/windows/preprocess.sh
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/CMakeLists.txt
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Doc/
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Doc/ChangeLog
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Doc/lesser.txt
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Include/
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Include/ldl.h
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/README.libmv
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/README.txt
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Source/
    branches/soc-2011-tomato/extern/libmv/third_party/ldl/Source/ldl.c
    branches/soc-2011-tomato/extern/libmv/third_party/msinttypes/
    branches/soc-2011-tomato/extern/libmv/third_party/msinttypes/README.libmv
    branches/soc-2011-tomato/extern/libmv/third_party/msinttypes/inttypes.h
    branches/soc-2011-tomato/extern/libmv/third_party/msinttypes/stdint.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/COPYING.TXT
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Geometry/
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Geometry/v3d_cameramatrix.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Geometry/v3d_distortion.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Geometry/v3d_metricbundle.cpp
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Geometry/v3d_metricbundle.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Math/
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Math/v3d_linear.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Math/v3d_linear_utils.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Math/v3d_mathutilities.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Math/v3d_optimization.cpp
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/Math/v3d_optimization.h
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/README.TXT
    branches/soc-2011-tomato/extern/libmv/third_party/ssba/README.libmv

Removed Paths:
-------------
    branches/soc-2011-tomato/intern/opennl/superlu/colamd.c
    branches/soc-2011-tomato/intern/opennl/superlu/colamd.h

Modified: branches/soc-2011-tomato/build_files/scons/tools/Blender.py
===================================================================
--- branches/soc-2011-tomato/build_files/scons/tools/Blender.py	2011-07-07 17:48:22 UTC (rev 38197)
+++ branches/soc-2011-tomato/build_files/scons/tools/Blender.py	2011-07-07 17:58:33 UTC (rev 38198)
@@ -315,6 +315,10 @@
     if not env['WITH_BF_SDL']:
         defs.append('DISABLE_SDL')
 
+    if env['WITH_BF_LIBMV']:
+        incs.append('#/extern/libmv')
+        defs.append('WITH_LIBMV')
+
     if env['WITH_BF_PYTHON']:
         incs.append('#/source/blender/python')
         defs.append('WITH_PYTHON')

Modified: branches/soc-2011-tomato/extern/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/extern/CMakeLists.txt	2011-07-07 17:48:22 UTC (rev 38197)
+++ branches/soc-2011-tomato/extern/CMakeLists.txt	2011-07-07 17:58:33 UTC (rev 38198)
@@ -27,6 +27,8 @@
 # Otherwise we get warnings here that we cant fix in external projects
 remove_strict_flags()
 
+add_subdirectory(colamd)
+
 if(WITH_BULLET)
 	add_subdirectory(bullet2)
 endif()

Modified: branches/soc-2011-tomato/extern/SConscript
===================================================================
--- branches/soc-2011-tomato/extern/SConscript	2011-07-07 17:48:22 UTC (rev 38197)
+++ branches/soc-2011-tomato/extern/SConscript	2011-07-07 17:58:33 UTC (rev 38198)
@@ -3,6 +3,7 @@
 Import('env')
 
 SConscript(['glew/SConscript'])
+SConscript(['colamd/SConscript'])
 
 if env['WITH_BF_ELTOPO']:
     SConscript(['eltopo/SConscript'])

Copied: branches/soc-2011-tomato/extern/colamd/CMakeLists.txt (from rev 38197, branches/soc-2011-tomato/extern/CMakeLists.txt)
===================================================================
--- branches/soc-2011-tomato/extern/colamd/CMakeLists.txt	                        (rev 0)
+++ branches/soc-2011-tomato/extern/colamd/CMakeLists.txt	2011-07-07 17:58:33 UTC (rev 38198)
@@ -0,0 +1,41 @@
+# $Id$
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2011, Blender Foundation
+# All rights reserved.
+#
+# Contributor(s): Blender Foundation,
+#                 Sergey Sharybin
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(INC
+	./Include
+)
+
+set(INC_SYS
+
+)
+
+set(SRC
+	Source/colamd.c
+	Source/colamd_global.c
+
+	Include//colamd.h
+)
+
+blender_add_lib(extern_colamd "${SRC}" "${INC}" "${INC_SYS}")

Added: branches/soc-2011-tomato/extern/colamd/Doc/ChangeLog
===================================================================
--- branches/soc-2011-tomato/extern/colamd/Doc/ChangeLog	                        (rev 0)
+++ branches/soc-2011-tomato/extern/colamd/Doc/ChangeLog	2011-07-07 17:58:33 UTC (rev 38198)
@@ -0,0 +1,129 @@
+May 31, 2007: version 2.7.0
+
+    * ported to 64-bit MATLAB
+
+    * subdirectories added (Source/, Include/, Lib/, Doc/, MATLAB/, Demo/)
+
+Dec 12, 2006, version 2.5.2
+
+    * minor MATLAB cleanup.  MATLAB functions renamed colamd2 and symamd2,
+	so that they do not conflict with the built-in versions.  Note that
+	the MATLAB built-in functions colamd and symamd are identical to
+	the colamd and symamd functions here.
+
+Aug 31, 2006: Version 2.5.1
+
+    * minor change to colamd.m and symamd.m, to use etree instead
+	of sparsfun.
+
+Apr. 30, 2006: Version 2.5
+
+    * colamd_recommended modified, to do more careful integer overflow
+	checking.  It now returns size_t, not int.  colamd_l_recommended
+	also returns size_t.  A zero is returned if an error occurs.  A
+	postive return value denotes success.  In v2.4 and earlier,
+	-1 was returned on error (an int or long).
+
+    * long replaced with UF_long integer, which is long except on WIN64.
+
+Nov 15, 2005:
+
+    * minor editting of comments; version number (2.4) unchanged.
+
+Changes from Version 2.3 to 2.4 (Aug 30, 2005)
+
+    * Makefile now relies on ../UFconfig/UFconfig.mk
+
+    * changed the dense row/col detection.  The meaning of the knobs
+	has thus changed.
+
+    * added an option to turn off aggressive absorption.  It was
+	always on in versions 2.3 and earlier.
+
+    * added a #define'd version number
+
+    * added a function pointer (colamd_printf) for COLAMD's printing.
+
+    * added a -DNPRINT option, to turn off printing at compile-time.
+
+    * added a check for integer overflow in colamd_recommended
+
+    * minor changes to allow for more simpler 100% test coverage
+
+    * bug fix.  If symamd v2.3 fails to allocate its copy of the input
+	matrix, then it erroneously frees a calloc'd workspace twice.
+	This bug has no effect on the MATLAB symamd mexFunction, since
+	mxCalloc terminates the mexFunction if it fails to allocate
+	memory.  Similarly, UMFPACK is not affected because it does not
+	use symamd.  The bug has no effect on the colamd ordering
+	routine in v2.3.
+
+Changes from Version 2.2 to 2.3 (Sept. 8, 2003)
+
+    * removed the call to the MATLAB spparms ('spumoni') function.
+	This can take a lot of time if you are ordering many small
+	matrices.  Only affects the MATLAB interface (colamdmex.c,
+	symamdmex.c, colamdtestmex.c, and symamdtestmex.c).  The
+	usage of the optional 2nd argument to the colamd and symamd
+	mexFunctions was changed accordingly.
+
+Changes from Version 2.1 to 2.2 (Sept. 23, 2002)
+
+    * extensive testing routines added (colamd_test.m, colamdtestmex.c,
+	and symamdtestmex.c), and the Makefile modified accordingly.
+
+    * a few typos in the comments corrected 
+
+    * use of the MATLAB "flops" command removed from colamd_demo, and an
+	m-file routine luflops.m added.
+
+    * an explicit typecast from unsigned to int added, for COLAMD_C and
+	COLAMD_R in colamd.h.
+
+    * #include <stdio.h> added to colamd_example.c
+
+
+Changes from Version 2.0 to 2.1 (May 4, 2001)
+
+    * TRUE and FALSE are predefined on some systems, so they are defined
+	    here only if not already defined.
+    
+    * web site changed
+
+    * UNIX Makefile modified, to handle the case if "." is not in your path.
+
+
+Changes from Version 1.0 to 2.0 (January 31, 2000)
+
+    No bugs were found in version 1.1.  These changes merely add new
+    functionality.
+
+    * added the COLAMD_RECOMMENDED (nnz, n_row, n_col) macro.
+
+    * moved the output statistics, from A, to a separate output argument.
+	    The arguments changed for the C-callable routines.
+
+    * added colamd_report and symamd_report.
+
+    * added a C-callable symamd routine.  Formerly, symamd was only
+	    available as a mexFunction from MATLAB.
+
+    * added error-checking to symamd.  Formerly, it assumed its input
+	    was error-free.
+
+    * added the optional stats and knobs arguments to the symamd mexFunction
+
+    * deleted colamd_help.  A help message is still available from
+	    "help colamd" and "help symamd" in MATLAB.
+
+    * deleted colamdtree.m and symamdtree.m.  Now, colamd.m and symamd.m
+	    also do the elimination tree post-ordering.  The Version 1.1
+	    colamd and symamd mexFunctions, which do not do the post-
+	    ordering, are now visible as colamdmex and symamdmex from
+	    MATLAB.  Essentialy, the post-ordering is now the default
+	    behavior of colamd.m and symamd.m, to match the behavior of
+	    colmmd and symmmd.  The post-ordering is only available in the
+	    MATLAB interface, not the C-callable interface.
+
+    * made a slight change to the dense row/column detection in symamd,
+	    to match the stated specifications.

Added: branches/soc-2011-tomato/extern/colamd/Doc/lesser.txt
===================================================================
--- branches/soc-2011-tomato/extern/colamd/Doc/lesser.txt	                        (rev 0)
+++ branches/soc-2011-tomato/extern/colamd/Doc/lesser.txt	2011-07-07 17:58:33 UTC (rev 38198)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list