Skip to content

Commit

Permalink
Merge branch 'master' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
kovacsv committed Oct 16, 2021
2 parents 14f6f35 + 97312fe commit 3d11217
Show file tree
Hide file tree
Showing 13 changed files with 173 additions and 32 deletions.
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_errors.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_externallibs.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_fullscreen.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_manual.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_multiple.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_single.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions sandbox/embed_selfhost_single_scroll.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
56 changes: 56 additions & 0 deletions source/model/node.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
OV.Node = class
{
constructor ()
{
this.parent = null;
this.name = '';
this.childNodes = [];
this.meshIndices = [];
}

GetParent ()
{
return this.parent;
}

GetName ()
{
return this.name;
}

SetName (name)
{
this.name = name;
}

AddChildNode (node)
{
node.parent = this;
this.childNodes.push (node);
return this.childNodes.length - 1;
}

GetChildNodes ()
{
return this.childNodes;
}

AddMeshIndex (index)
{
this.meshIndices.push (index);
return this.meshIndices.length - 1;
}

GetMeshIndices ()
{
return this.meshIndices;
}

EnumerateChildren (processor)
{
for (const childNode of this.childNodes) {
processor (childNode);
childNode.EnumerateChildren (processor);
}
}
};
60 changes: 60 additions & 0 deletions test/tests/node_test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
var assert = require ('assert');

describe ('Node', function() {
it ('Default Initialization', function () {
let node = new OV.Node ();
assert.strictEqual (node.GetName (), '');
assert.deepStrictEqual (node.GetChildNodes (), []);
assert.deepStrictEqual (node.GetMeshIndices (), []);
});

it ('Set Name', function () {
let node = new OV.Node ();
node.SetName ('New Name');
assert.strictEqual (node.GetName (), 'New Name');
});

it ('Add Mesh Indices', function () {
let node = new OV.Node ();
node.AddMeshIndex (0);
node.AddMeshIndex (4);
node.AddMeshIndex (8);
assert.deepStrictEqual (node.GetMeshIndices (), [0, 4, 8]);
});

it ('Add Child Node', function () {
let node = new OV.Node ();
let child1 = new OV.Node ();
let child2 = new OV.Node ();
child1.SetName ('Child 1');
child2.SetName ('Child 2');
node.AddChildNode (child1);
node.AddChildNode (child2);
assert.strictEqual (node.GetChildNodes ().length, 2);
assert.strictEqual (node.GetChildNodes ()[0].GetName (), 'Child 1');
assert.strictEqual (node.GetChildNodes ()[1].GetName (), 'Child 2');
assert.strictEqual (node.GetChildNodes ()[0].GetParent (), node);
assert.strictEqual (node.GetChildNodes ()[1].GetParent (), node);
});

it ('Recursive Enumeration', function () {
let node = new OV.Node ();
let child1 = new OV.Node ();
let child2 = new OV.Node ();
let child11 = new OV.Node ();
let child12 = new OV.Node ();

node.AddChildNode (child1);
node.AddChildNode (child2);

child1.AddChildNode (child11);
child1.AddChildNode (child12);

let enumerated = [];
node.EnumerateChildren ((child) => {
enumerated.push (child);
});

assert.deepStrictEqual (enumerated, [child1, child11, child12, child2]);
});
});
1 change: 1 addition & 0 deletions tools/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"source/model/element.js",
"source/model/mesh.js",
"source/model/meshbuffer.js",
"source/model/node.js",
"source/model/model.js",
"source/model/topology.js",
"source/model/modelutils.js",
Expand Down
1 change: 1 addition & 0 deletions website/embed.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
1 change: 1 addition & 0 deletions website/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
<script type="text/javascript" src="../source/model/element.js"></script>
<script type="text/javascript" src="../source/model/mesh.js"></script>
<script type="text/javascript" src="../source/model/meshbuffer.js"></script>
<script type="text/javascript" src="../source/model/node.js"></script>
<script type="text/javascript" src="../source/model/model.js"></script>
<script type="text/javascript" src="../source/model/topology.js"></script>
<script type="text/javascript" src="../source/model/modelutils.js"></script>
Expand Down
Loading

0 comments on commit 3d11217

Please sign in to comment.