Go to file
Lukas Tönne 7f759ec547 Node callback for handling link insertion and swapping of occupied inputs.
Nodes have a feature for moving existing links to unoccupied sockets when connecting
to an already used input. This is based on the standard legacy socket types (value/float,
vector, color/rgba) and works reasonably well for shader, compositor and texture nodes.

For new pynode systems, however, the hardcoded nature of that feature has major drawbacks:
* It does not take different type systems into account, leading to meaningless connections
  when sockets are swapped and making the feature useless or outright debilitating.
* Advanced socket behaviors would be possible with a registerable callback, e.g. creating
  extensible input lists that move existing connections down to make room for a new link.

Now any handling of new links is done via the 'insert_links' callback, which can also be
registered through the RNA API. For the legacy shader/compo/tex nodes the behavior is the
same, using a C callback.

Note on the 'use_swap' flag: this has been removed because it was meaningless anyway:
It was disabled only for the insert-node-on-link feature, which works only for
completely unconnected nodes anyway, so there would be nothing to swap in the first place.
2015-12-03 13:04:04 +01:00
build_files Buildbot: Followup to previous commit 2015-12-03 17:00:09 +05:00
doc Docs: create link pointing to latest API docs 2015-11-11 04:14:11 +11:00
extern Cleanup: warnings & spelling 2015-12-02 13:15:52 +11:00
intern Cycles: Avoid recursion when doing constant fold 2015-12-02 16:19:39 +05:00
release Error in own recent commit, (left in debug test) 2015-12-03 08:09:04 +11:00
scons@625d446ae8 Fixed border extension for the sunbeams node. 2014-09-23 11:42:11 +02:00
source Node callback for handling link insertion and swapping of occupied inputs. 2015-12-03 13:04:04 +01:00
tests BLI_math: add mat3_polar_decompose, interp_m3_m3m3 and interp_m4_m4m4. 2015-10-09 21:26:33 +02:00
.arcconfig Use HTTPS protocol for arc 2013-12-24 22:57:27 +06:00
.gitignore Git ignore BUILD_NOTES.txt from install_deps.sh. 2015-11-23 20:17:02 +01:00
.gitmodules Initialize git submodules for addons, locales and scons 2013-11-15 12:19:08 +06:00
CMakeLists.txt CMake: Use implicit compiler library paths to find OpenMP library 2015-12-03 15:34:41 +05:00
COPYING
GNUmakefile Makefile: show build dir when configuring 2015-09-22 00:16:53 +10:00
SConstruct C99 is now the C standard for all our C code. 2015-11-22 22:31:22 +01:00