On Jul 19, 2010, at 1:50 PM, Jason Kraftcheck wrote:
Mark Beall wrote:
On Jul 19, 2010, at 1:32 PM, Jason Kraftcheck wrote:
I'd say that using the root set to mean both "no set" and "the set that contains everything" is confusing. In iMesh_loadMesh (and most other places I saw when I looked quickly) you can say that it means "everything in the instance", which is the same as the root set. However if there are places (now or in the future) where there is a meaningful difference between the two things, that usage could become problematic.
How does it mean 'the set that contains everything' in the *load*Mesh case?
Since the root set does contain everything and that's the set you're passing, thus you did add the entities into the set you passed in. Yes, the mesh entities get added to the root set anyhow, but it's at least a little consistent (although I do think that passing a NULL set here would be more clear).
And how is this different than the createEnt case?
Since we're trying to specify the part that the entity goes into in parallel. It's been pretty clearly established in the past that in iMesh/iMeshP parts are not entity sets (even though they may be in some implementations) even though there are a few entity set functions that are currently "overloaded" to also be able to take in parts (changing that was brought up at one point, I don't recall whether that ever was discussed) Really this function should take in a part handle, not an entity set. The definition for iMeshP_PartHandle could easily be moved into iMesh.h. Should also at that time, changing it so that's it's not typedefed to iBase_EntitySetHandle. mark