Remove tiny face on object

 From:  Michael Gibson
8604.15 In reply to 8604.10 
Hi Marco,

> You could simply add a special new "tag" field to every entities of the Moi's DOM that should
> point to a new data structure that could contain all informative data.
>
> Is it feasible ?

Well there can be complications for some of the things you mentioned, for example calculating volume or surface area can be an expensive computation so it may not work that well to try and present it in the same way as a simple directly accessible property.

Common properties such as name and style are already implemented as properties on a base "GeomObject" class, so adding them to a separate new data structure would involve some duplication of existing functionality.

There is also already existing functionality for filtering through the object list implementation. For example given an initial object list with any kind of objects in it, you can build a filtered list containing only edges by calling the .getEdges() method. So for example to start with all selected objects and filter that down to a list of just edges you can do this currently:

var edges = moi.geometryDatabase.getSelectedObjects().getEdges();

The current object list filtering methods are all based around object type, they include:

getBReps()
getSolids()
getOpenBReps()
getSingleFaceBReps()
getFaces()
getEdges()
getStandaloneCurves()
getCurves()
getPoints()
getConstructionLines()
getTopLevelObjects()

It would probably fit in best to add additional filtering methods to the already existing object list filtering functionality rather than make something totally different. It would mainly be a convenience factor though, I wouldn't really expect any performance difference from looping through them as you would do currently.

- Michael