diff --git a/source/model/node.js b/source/model/node.js index 200af5f..ab7ad3b 100644 --- a/source/model/node.js +++ b/source/model/node.js @@ -46,6 +46,14 @@ OV.Node = class return this.meshIndices; } + Enumerate (processor) + { + processor (this); + for (const childNode of this.childNodes) { + childNode.Enumerate (processor); + } + } + EnumerateChildren (processor) { for (const childNode of this.childNodes) { diff --git a/test/tests/node_test.js b/test/tests/node_test.js index 7b5a2e6..9064642 100644 --- a/test/tests/node_test.js +++ b/test/tests/node_test.js @@ -51,11 +51,16 @@ describe ('Node', function() { child1.AddChildNode (child12); let enumerated = []; - node.EnumerateChildren ((child) => { + node.Enumerate ((child) => { enumerated.push (child); }); + assert.deepStrictEqual (enumerated, [node, child1, child11, child12, child2]); - assert.deepStrictEqual (enumerated, [child1, child11, child12, child2]); + let enumeratedChildren = []; + node.EnumerateChildren ((child) => { + enumeratedChildren.push (child); + }); + assert.deepStrictEqual (enumeratedChildren, [child1, child11, child12, child2]); }); it ('Recursive Mesh Index Enumeration', function () {