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

Tim Tautges timothy.tautges at cd-adapco.com
Mon Jun 16 11:56:12 CDT 2014



On 06/16/2014 11:35 AM, Jane Hu wrote:
> See comments below...
>
>
> On Mon, Jun 16, 2014 at 10:22 AM, Paul Wilson <wilsonp at engr.wisc.edu <mailto: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.
>

Be careful with casting here.  By the standard, you can return a derived class * as a void* and reassign from void back 
to the derived class, but only if the derived class is the same one.

- tim

>
>     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 <mailto: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 <mailto: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 <mailto: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 <mailto: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  <tel:%28608%29%20446-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  <tel: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)

-- 
Timothy J. Tautges
Manager, Directed Meshing, CD-adapco
Phone: 608-354-1459
timothy.tautges at cd-adapco.com


More information about the cgma-dev mailing list