Blender Git Commits

Blender Git "depsgraph_refactor" branch commits.

Page: 31 / 59

March 31, 2014, 08:13 (GMT)
Replaced the generic owner in DepsNode by specialized owner pointers in
ComponentDepsNode and OperationDepsNode. This may get removed entirely
later on, but for now avoids potential casting errors.

TimeSourceDepsNode does not have an owner now, but it's largely
unfinished anyway.
March 31, 2014, 08:08 (GMT)
Changed use of the unordered_map build test to allow using the actual
namespace elements and put hash specializations in it.

This follows the example set by ceres.
March 31, 2014, 08:07 (GMT)
Utility header for std::string.

Avoids repetitive "using std::string" and allows adding possible helpers
later.
March 31, 2014, 08:06 (GMT)
Made find_node_criteria_from_pointer a static internal function in
depsgraph.c.

This will be replaced eventually.
March 26, 2014, 13:19 (GMT)
Removed duplicate code.
March 26, 2014, 13:18 (GMT)
Register node factories in the individual node type files.
March 26, 2014, 13:05 (GMT)
Moved DepsNode definition from the depsgraph_types file into a number of
dedicated source files.

To reflect the code structure while keeping the number of files small,
there are just 3 node files:
* depsnode: base DepsNode class and main general subtypes (root, idnode,
subgraph, time source)
* depsnode_component: component subclasses ("outer" nodes)
* depsnode_operation: operation subclasses ("inner" nodes)

The depsgraph_types.h header still contains a number of general enums
for the node subtypes, since this is needed in a number of other class
declarations (Depsgraph) as function arguments. Don't want to include
the full class definitions there to keep header dependencies at a
minimum.
March 26, 2014, 11:07 (GMT)
Moved the DEPS_RELATION_ITER macros into the depsgraph files.

These could be done nicer with C++ container iterators eventually.
March 26, 2014, 11:04 (GMT)
Moved DEG_add_new_relation into Depsgraph.

Note: This function doesn't take a Depsgraph argument. Currently the
ownership for relation instances is shared between the nodes being
connected. This is not ideal, it prevents good memory management and
leads to ugly corner cases when freeing relations. Eventually relations
should be allocated and stored by the Depsgraph, since they only live
inside the depsgraph data anyway (ownership is with the graph).
March 26, 2014, 10:30 (GMT)
Moved DEG_add_operation into Depsgraph.
March 26, 2014, 09:24 (GMT)
Moved DEG_find_node_from_pointer and DEG_find_node_criteria_from_pointer
into Depsgraph.
March 26, 2014, 09:17 (GMT)
Made add_new_node and remove_node member functions of Depsgraph.
March 25, 2014, 19:24 (GMT)
DEG_get_node functions moved into Depsgraph.
March 25, 2014, 18:46 (GMT)
New file for the Depsgraph struct.

Goal is to organize code in a slightly more C++ fashion. Don't need a
file for every single class, but dumping everything into a few large
source files doesn't help either.
March 25, 2014, 17:56 (GMT)
Made DEG_find_node a member function of Depsgraph.
March 25, 2014, 10:22 (GMT)
Replaced boost::unordered_map/set usage by map/set in std.
March 25, 2014, 08:55 (GMT)
Merge branch 'depsgraph_refactor' into depsgraph_refactor_cpp
March 25, 2014, 08:55 (GMT)
Merge branch 'master' into depsgraph_refactor
March 25, 2014, 08:28 (GMT)
Merge branch 'depsgraph_refactor' into depsgraph_refactor_cpp
March 25, 2014, 08:27 (GMT)
Merge branch 'master' into depsgraph_refactor
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021