[cgma-dev] Inconsistency in getEntities for iGeom interface. Causes problems in iRel.

Jane Hu janejhu at gmail.com
Mon Jun 16 11:35:43 CDT 2014


See comments below...


On Mon, Jun 16, 2014 at 10:22 AM, Paul Wilson <wilsonp at engr.wisc.edu> wrote:

>  Hi Jane,
>
> I think this needs a thorough review!  Patrick and I hunted through
> iGeom_CGMA and found some inconsistencies in a few places.
>
> First, there is an inconsistency between returning pointers to RefEntity
> and pointers to CubitEntity.  This is probably less important, but should
> probably be resolved in any change.
>

I see RefEntity is inherited from CubitEntity, and CubitEntity is a pure
virtual class. So even you got pointers to CubitEntity, you have to
instantiate it to RefEntity objects.


>
> Second, there are places where the geometry is queried for entities of
> dimension=3 (returning RefVolumes) and places where the geometry is queried
> for entities of type=iGeom_REGION (== Body).
>

In this case, I can return both bodies and refvolumes, so after user gets
the refentity list back, he can cast to see if they are bodies or
refvolumes, and choose to keep what ever he needs.


>
> This means that 2 calls into the interface that should resolve to the same
> entity may not do so for both reasons.
>
> All of this is related to the fundamental difference between the iGeom
> types (equivalent to vertex, edge, face, volume) and the CGM/ACIS types
> (equiavlent to vertex, edge, face, volume, body).  I think Tim's suggestion
> is the best, but will require some substantial effort.
>
> Paul
>
>
> On 06/16/2014 10:14 AM, Jane Hu wrote:
>
> I see in iGeom_CGMA.cc file, function iGeom_get_adjacent_entities, if asks
> for 3-D refentities, it returns body list. In CGM, bodies are not necessary
> to be 3-D entities, it may contain single surface or shell. Should we
> change the return to be only refvolumes which are 3-D entities (I prefer
> this, makes more sense)? Or I can return both bodies and refvolumes in the
> returned refentity list. Depending on your user case, I can return one of
> the two choices.
>
>  Jane
>
>
> On Mon, Jun 16, 2014 at 9:32 AM, Jane Hu <janejhu at gmail.com> wrote:
>
>> Yes, it returns a list of refVolume's which are RefEntities.
>>
>>  Jane
>>
>>
>> On Sun, Jun 15, 2014 at 11:55 PM, Patrick Shriwise <shriwise at wisc.edu>
>> wrote:
>>
>>>  Hi Jane,
>>>
>>>  Will the ref_volumes() method return RefEntities?
>>>
>>>  Patrick
>>>
>>> On Jun 15, 2014, at 3:56 PM, Jane Hu <janejhu at gmail.com> wrote:
>>>
>>>   Look at line 6454, if you have body's pointer, directly call
>>> ref_volumes() will work. It's not an iGeom interface function, but you can
>>> access it in iGeom.
>>>
>>>  Good luck!
>>>
>>>  Jane
>>>
>>>
>>> On Sat, Jun 14, 2014 at 8:55 AM, Patrick Shriwise <shriwise at wisc.edu>
>>> wrote:
>>>
>>>>  Hi Jane,
>>>>
>>>> I looked around for this but didn't see it, is there a specific
>>>> line/function you were thinking of? Good to know the ref_volume information
>>>> is so easy to get to, but it doesn't seem that its part of the iGeom
>>>> interface. The issue being that there's no way to access a body's volumes
>>>> via iGeom.
>>>>
>>>> Cheers,
>>>>
>>>> Patrick
>>>>  On 06/13/2014 11:26 PM, Jane Hu wrote:
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>  Is there a way to get volumes within bodies via iGeom?
>>>>>
>>>>
>>>>  See example in  iGeom_CGMA.cc, body->ref_volumes(volumes).
>>>>
>>>>  Jane
>>>>
>>>>>
>>>>> --
>>>>> Patrick C. Shriwise
>>>>> Research Assistant
>>>>> University of Wisconsin - Madison
>>>>> Engineering Research Building - Rm. 428
>>>>> 1500 Engineering Drive
>>>>> Madison, WI 53706(608) 446-8173
>>>>>
>>>>>
>>>>
>>>>
>>>>  --
>>>> Jane Hu
>>>>
>>>> Asst. Researcher
>>>> Dept. of Engineering Physics
>>>> UW @ Madison
>>>>
>>>> "And we know that for those who love God, that is, for those who are
>>>> called according to his purpose, all things are working together for good."
>>>> (Romans 8:28)
>>>>
>>>>
>>>>
>>>
>>>
>>>  --
>>> Jane Hu
>>>
>>> Asst. Researcher
>>> Dept. of Engineering Physics
>>> UW @ Madison
>>>
>>> "And we know that for those who love God, that is, for those who are
>>> called according to his purpose, all things are working together for good."
>>> (Romans 8:28)
>>>
>>>
>>
>>
>>  --
>> Jane Hu
>>
>> Asst. Researcher
>> Dept. of Engineering Physics
>> UW @ Madison
>>
>> "And we know that for those who love God, that is, for those who are
>> called according to his purpose, all things are working together for good."
>> (Romans 8:28)
>>
>
>
>
>  --
> Jane Hu
>
> Asst. Researcher
> Dept. of Engineering Physics
> UW @ Madison
>
> "And we know that for those who love God, that is, for those who are
> called according to his purpose, all things are working together for good."
> (Romans 8:28)
>
>
> --
> -- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --
> Paul Wilson ~ UW-Madison ~ 608-263-0807 ~ cal: http://bit.ly/pphw-cal
> Professor, Engineering Physics. ~ http://cnerg.engr.wisc.edu
> Faculty Director, Advanced Computing Infrastructure
>
>


-- 
Jane Hu

Asst. Researcher
Dept. of Engineering Physics
UW @ Madison

"And we know that for those who love God, that is, for those who are called
according to his purpose, all things are working together for good."
(Romans 8:28)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/cgma-dev/attachments/20140616/bfd48c10/attachment-0001.html>


More information about the cgma-dev mailing list