[Bf-blender-cvs] [d166cdfa25] uv_unwrapping_slim_and_ceres: Category: UV Unwrapping SLIM Algorithm Integration

Aurel Gruber noreply at git.blender.org
Mon Feb 27 11:27:29 CET 2017


Commit: d166cdfa2556c8323a642d0bbf3570b37edf71a6
Author: Aurel Gruber
Date:   Thu Feb 23 16:26:08 2017 +0100
Branches: uv_unwrapping_slim_and_ceres
https://developer.blender.org/rBd166cdfa2556c8323a642d0bbf3570b37edf71a6

Category: UV Unwrapping SLIM Algorithm Integration

Adding SLIM code by means of git read-tree

===================================================================

D	intern/SLIM
A	intern/SLIM/.gitignore
A	intern/SLIM/CMakeLists.txt
A	intern/SLIM/LICENSE
A	intern/SLIM/ext/libigl_extract/EPS.cpp
A	intern/SLIM/ext/libigl_extract/EPS.h
A	intern/SLIM/ext/libigl_extract/IndexComparison.h
A	intern/SLIM/ext/libigl_extract/cat.cpp
A	intern/SLIM/ext/libigl_extract/cat.h
A	intern/SLIM/ext/libigl_extract/colon.cpp
A	intern/SLIM/ext/libigl_extract/colon.h
A	intern/SLIM/ext/libigl_extract/cotmatrix.cpp
A	intern/SLIM/ext/libigl_extract/cotmatrix.h
A	intern/SLIM/ext/libigl_extract/cotmatrix_entries.cpp
A	intern/SLIM/ext/libigl_extract/cotmatrix_entries.h
A	intern/SLIM/ext/libigl_extract/dihedral_angles.cpp
A	intern/SLIM/ext/libigl_extract/dihedral_angles.h
A	intern/SLIM/ext/libigl_extract/doublearea.cpp
A	intern/SLIM/ext/libigl_extract/doublearea.h
A	intern/SLIM/ext/libigl_extract/edge_lengths.cpp
A	intern/SLIM/ext/libigl_extract/edge_lengths.h
A	intern/SLIM/ext/libigl_extract/face_areas.cpp
A	intern/SLIM/ext/libigl_extract/face_areas.h
A	intern/SLIM/ext/libigl_extract/find.cpp
A	intern/SLIM/ext/libigl_extract/find.h
A	intern/SLIM/ext/libigl_extract/flip_avoiding_line_search.cpp
A	intern/SLIM/ext/libigl_extract/flip_avoiding_line_search.h
A	intern/SLIM/ext/libigl_extract/grad.cpp
A	intern/SLIM/ext/libigl_extract/grad.h
A	intern/SLIM/ext/libigl_extract/igl/Timer.h
A	intern/SLIM/ext/libigl_extract/igl/harmonic.cpp
A	intern/SLIM/ext/libigl_extract/igl/harmonic.h
A	intern/SLIM/ext/libigl_extract/igl/map_vertices_to_circle.cpp
A	intern/SLIM/ext/libigl_extract/igl/map_vertices_to_circle.h
A	intern/SLIM/ext/libigl_extract/igl_inline.h
A	intern/SLIM/ext/libigl_extract/invert_diag.cpp
A	intern/SLIM/ext/libigl_extract/invert_diag.h
A	intern/SLIM/ext/libigl_extract/is_symmetric.cpp
A	intern/SLIM/ext/libigl_extract/is_symmetric.h
A	intern/SLIM/ext/libigl_extract/isdiag.cpp
A	intern/SLIM/ext/libigl_extract/isdiag.h
A	intern/SLIM/ext/libigl_extract/line_search.cpp
A	intern/SLIM/ext/libigl_extract/line_search.h
A	intern/SLIM/ext/libigl_extract/local_basis.cpp
A	intern/SLIM/ext/libigl_extract/local_basis.h
A	intern/SLIM/ext/libigl_extract/massmatrix.cpp
A	intern/SLIM/ext/libigl_extract/massmatrix.h
A	intern/SLIM/ext/libigl_extract/min_quad_with_fixed.cpp
A	intern/SLIM/ext/libigl_extract/min_quad_with_fixed.h
A	intern/SLIM/ext/libigl_extract/normalize_row_sums.cpp
A	intern/SLIM/ext/libigl_extract/normalize_row_sums.h
A	intern/SLIM/ext/libigl_extract/parallel_for.cpp
A	intern/SLIM/ext/libigl_extract/parallel_for.h
A	intern/SLIM/ext/libigl_extract/per_face_normals.cpp
A	intern/SLIM/ext/libigl_extract/per_face_normals.h
A	intern/SLIM/ext/libigl_extract/polar_svd.cpp
A	intern/SLIM/ext/libigl_extract/polar_svd.h
A	intern/SLIM/ext/libigl_extract/reorder.cpp
A	intern/SLIM/ext/libigl_extract/reorder.h
A	intern/SLIM/ext/libigl_extract/repmat.cpp
A	intern/SLIM/ext/libigl_extract/repmat.h
A	intern/SLIM/ext/libigl_extract/slice.cpp
A	intern/SLIM/ext/libigl_extract/slice.h
A	intern/SLIM/ext/libigl_extract/sort.cpp
A	intern/SLIM/ext/libigl_extract/sort.h
A	intern/SLIM/ext/libigl_extract/sparse.cpp
A	intern/SLIM/ext/libigl_extract/sparse.h
A	intern/SLIM/ext/libigl_extract/squared_edge_lengths.cpp
A	intern/SLIM/ext/libigl_extract/squared_edge_lengths.h
A	intern/SLIM/ext/libigl_extract/verbose.h
A	intern/SLIM/ext/libigl_extract/volume.cpp
A	intern/SLIM/ext/libigl_extract/volume.h
A	intern/SLIM/src/Slim.cpp
A	intern/SLIM/src/Slim.h
A	intern/SLIM/src/UVInitializer.cpp
A	intern/SLIM/src/UVInitializer.h
A	intern/SLIM/src/area_compensation.cpp
A	intern/SLIM/src/area_compensation.h
A	intern/SLIM/src/geometry_data_retrieval.cpp
A	intern/SLIM/src/geometry_data_retrieval.h
A	intern/SLIM/src/least_squares_relocator.cpp
A	intern/SLIM/src/least_squares_relocator.h
A	intern/SLIM/src/matrix_transfer.h
A	intern/SLIM/src/slim_C_interface.cpp
A	intern/SLIM/src/slim_C_interface.h
A	intern/SLIM/src/slim_parametrizer.cpp
A	intern/SLIM/src/slim_parametrizer.h
M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/tools

===================================================================

diff --git a/intern/SLIM b/intern/SLIM
deleted file mode 160000
index 8bdd2ea2de..0000000000
--- a/intern/SLIM
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8bdd2ea2ded2dffa5b02ba51cd00e46af19af87d
diff --git a/intern/SLIM/.gitignore b/intern/SLIM/.gitignore
new file mode 100644
index 0000000000..496ee2ca6a
--- /dev/null
+++ b/intern/SLIM/.gitignore
@@ -0,0 +1 @@
+.DS_Store
\ No newline at end of file
diff --git a/intern/SLIM/CMakeLists.txt b/intern/SLIM/CMakeLists.txt
new file mode 100644
index 0000000000..d8cdc0fcfb
--- /dev/null
+++ b/intern/SLIM/CMakeLists.txt
@@ -0,0 +1,36 @@
+cmake_minimum_required(VERSION 2.6)
+
+set(INC
+  ext/libigl_extract
+  ../../source/blender/editors/uvedit
+  ../../source/blender/makesdna
+  ../../source/blender/blenlib
+)
+
+set(INC_SYS
+  ${EIGEN3_INCLUDE_DIRS}
+)
+
+set(SRC
+  src/slim.cpp
+  src/slim_parametrizer.cpp
+  src/UVInitializer.cpp
+  src/slim_C_interface.cpp
+  src/area_compensation.cpp
+  src/least_squares_relocator.cpp
+  src/geometry_data_retrieval.cpp
+
+  src/matrix_transfer.h
+  src/slim.h
+  src/slim_parametrizer.h
+  src/UVInitializer.h
+  src/slim_C_interface.h
+  src/area_compensation.h
+  src/least_squares_relocator.h
+  src/geometry_data_retrieval.h
+
+  ${ADDITIONAL_SOURCES}
+)
+
+blender_add_lib(bf_intern_slim "${SRC}" "${INC}" "${INC_SYS}")
+target_link_libraries(bf_intern_slim ${ADDITIONAL_LIBRARIES})
diff --git a/intern/SLIM/LICENSE b/intern/SLIM/LICENSE
new file mode 100644
index 0000000000..9cecc1d466
--- /dev/null
+++ b/intern/SLIM/LICENSE
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, 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
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list