March 20, 2014, 13:39 (GMT) |
Ported over the various operation nodes to c++ classes. |
March 20, 2014, 13:39 (GMT) |
Make use of boost for some utility types (hash tables). This could be replaced by own classes if we want to avoid boost dependency (boost is included centrally in a util header). |
March 20, 2014, 13:39 (GMT) |
Removed unused GHash includes. |
March 20, 2014, 13:39 (GMT) |
Constructor/Destructor for Depsgraph struct. |
March 20, 2014, 13:39 (GMT) |
Register the main node and component types, fixed a few syntax errors. |
March 20, 2014, 13:39 (GMT) |
Replaced op_hash in component nodes by unordered_map. |
March 20, 2014, 13:39 (GMT) |
Replaced bone_hash by unordered_map in PoseComponentDepsNode. |
March 20, 2014, 13:39 (GMT) |
Replaced id_hash container in Depsgraph with a unordered_map. NOTE: had to disable the subgraph registration in the id_hash, since this is not a proper IDDepsNode. Not sure how this is supposed to work. |
March 20, 2014, 13:39 (GMT) |
Replaced the component hash table in IDDepsNode with unordered_map. We can't use GHash reliably because it only stores void * and all dynamic type info (vtable) gets lost. This means we cannot retrieve a node from such hash tables and then call a virtual function on it. |
March 20, 2014, 13:39 (GMT) |
Pose and Bone component classes. |
March 20, 2014, 13:39 (GMT) |
Fix for invalid template arguments: const char * cannot be used for templates. Instead made a little helper struct TypeInfo inside DepsNode, which can be created statically using simple macros (just to avoid repetitive syntax). This typeinfo is then copied by factories and used to initialize nodes. |
March 20, 2014, 13:39 (GMT) |
Default constructor/destructor for DepsNode. |
March 20, 2014, 13:39 (GMT) |
Implemented a factory method 'create_node' to replace the current DEG_create_node function. |
March 20, 2014, 13:39 (GMT) |
Virtual copy function for DepsNode. This must be implemented by subclasses to replace the copy_data callback. |
March 20, 2014, 13:39 (GMT) |
Added component subtypes, which use the plain ComponentDepsNode base without further modification. |
March 20, 2014, 13:39 (GMT) |
Changed the 2 constructor variants of nodes to a virtual init and copy function. This has the advantage of being inheritable by subclasses, other than constructors which have to be redefined every time and then do nested constructor calls for base classes (constructor inheritance has actually been added in C++11, but is not widely available). |
March 20, 2014, 13:39 (GMT) |
Replaced the free_node callback in typeinfo with calls to 'delete'. |
March 20, 2014, 13:39 (GMT) |
add_to_graph/remove_from_graph virtual methods for DepsNode and a Root node implementation for testing. |
March 20, 2014, 13:39 (GMT) |
Reimplemented methods for ID and Subgraph deps nodes. |
March 20, 2014, 13:39 (GMT) |
Porting to C++: * Redeclared source files as cpp sources * Added explicit void* to type conversions (C++ requirement) * Wrapped C includes in extern "C" |
|