Hi Brian, thanks I can reproduce it now. It looks like the problem is the same objects are getting added to the geometry database multiple times, when Run is pushed there are 9 objects added to the geometry database, then when Apply is pushed the same 9 objects are added again but they are in the geometry database already.
I can update MoI so that it can tolerate this situation better, but it can also be fixed in vector.js in the applyVec() function, try this updated applyVec function:
code:
function applyVec(that){var i;for(i=0;i<that.tempvec.length;i++) { var obj = that.tempvec.item(i);
if ( obj.databaseState != 2 /*2 = ObjectDatabaseState_InDatabase*/ ) moi.geometryDatabase.addObject(obj);} }
This version will check if it is already in the geometry database and not add it again if so. The obj.databaseState property returns a numeric value which means:
0: ObjectDatabaseState_Unknown
1: ObjectDatabaseState_Unattached
2: ObjectDatabaseState_InDatabase
3: ObjectDatabaseState_Deleted
For the next beta I'll update geometryDatabase::addObject() so if an object that is already in the database is attempted to be added again it will ignore it instead of getting things corrupted.
- Michael
|