Add properties to model and mesh.

This commit is contained in:
kovacsv 2021-06-20 17:23:17 +02:00
parent 48c0532c9b
commit c7f0d128a7
2 changed files with 31 additions and 0 deletions

View File

@ -3,6 +3,7 @@ OV.Element = class
constructor ()
{
this.name = '';
this.properties = [];
}
GetName ()
@ -35,6 +36,22 @@ OV.Element = class
return 0;
}
PropertyCount ()
{
return this.properties.length;
}
AddProperty (property)
{
this.properties.push (property);
return this.properties.length - 1;
}
GetProperty (index)
{
return this.properties[index];
}
EnumerateVertices (onVertex)
{

View File

@ -184,6 +184,20 @@ describe ('Model Finalization', function() {
});
});
describe ('Model Properties', function() {
let model = new OV.Model ();
model.AddProperty (new OV.Property (OV.PropertyType.Text, 'name 01', 'value 01'));
model.AddProperty (new OV.Property (OV.PropertyType.Integer, 'name 02', 2));
model.AddProperty (new OV.Property (OV.PropertyType.Number, 'name 03', 3.5));
assert.strictEqual (model.PropertyCount (), 3);
assert.strictEqual (model.GetProperty (0).name, 'name 01');
assert.strictEqual (model.GetProperty (0).value, 'value 01');
assert.strictEqual (model.GetProperty (1).name, 'name 02');
assert.strictEqual (model.GetProperty (1).value, 2);
assert.strictEqual (model.GetProperty (2).name, 'name 03');
assert.strictEqual (model.GetProperty (2).value, 3.5);
});
describe ('Color Conversion', function() {
it ('Color equality check', function () {
assert (OV.ColorIsEqual (new OV.Color (10, 20, 30), new OV.Color (10, 20, 30)));