itaps-parallel Two options from today's iMeshP phone conference

Mark Beall mbeall at simmetrix.com
Mon Jul 19 13:33:00 CDT 2010


On Jul 19, 2010, at 2:14 PM, Jason Kraftcheck wrote:

> Mark Beall wrote:
>>
>> 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.
>>
>
> But in the specific case of passing the root set as a 'null' handle to
> createEnt, how is the behavior different then when the root set is  
> used in
> that way for loadMesh?  In both cases the mesh is 'added' to the  
> root set,
> which is essentially a no-op because everything is in the root set  
> anyway.

I'll agree that it's the same in that it's misleading in both cases  
and will eventually cause an issue when the distinction between the  
root set and no set comes up to be meaningful in some situation (There  
could be such a case right now, I didn't look that hard)

The fact that one can argue that it isn't completely illogical in the  
iMesh_load case doesn't mean that it's also a consistent expression of  
intent in that case.

mark




More information about the itaps-parallel mailing list