<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span><br></span></div><div></div><div> Hi, David:</div><div><br></div><div>As Tim said, after boolean operation, the engine determines which geometry get changed. And if you see GEOMETRY_TOPOLOGY_MODIFIED, you definitely need to call OCCBody::update_OCC_entity to get them synched. </div><div><br></div><div>Or if you have BRepBuilderAPI_MakeShape *op or LocOpe_SplitShape* sp, you can  call </div><div>op->Modified(old) or op->Generated(old) or sp->DescendantShapes(old) to see what the engine returns for the changed geometry. </div><div><br></div><div>Again, the boolean operation for OCC engine is not perfect itself, especially dealing with failure case, for issues that you think the operation should or shouldn't work, you can report them
 at http://www.opencascade.org/org/forum/ .</div><div><br></div><div>Best luck for you!</div><div><br></div><div>Jane Hu<br><br></div><div>Asst. Researcher<br>Dept. of Engineering Physics<br>UW @ Madison</div><br><br><div>"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)<br>  <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font size="2" face="Arial"> <b><span style="font-weight:bold;">From:</span></b> Tim Tautges <tautges@mcs.anl.gov><br> <b><span style="font-weight: bold;">To:</span></b> David Thompson <david.thompson@kitware.com> <br><b><span style="font-weight: bold;">Cc:</span></b> cgma-dev@mcs.anl.gov; Jiangtao Hu <jiangtao_ma@yahoo.com> <br> <b><span
 style="font-weight: bold;">Sent:</span></b> Monday, July 22, 2013 12:45 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [cgma-dev] Observer question?<br> </font> </div> <div class="y_msg_container"><br><br><br>On 07/22/2013 11:01 AM, David Thompson wrote:<br>> Hi Tim,<br>><br>>> Good hearing from you, when did you leave Sandia?<br>><br>> It's been about a year.<br>><br>>> On the observer question, entities that are not intersected will persist, including the RefEntity's, though whether<br>>> something isn't modified depends on what the engine does (it's keyed off whether the underlying engine changes its<br>>> topological entity).  With Cubit, we've had mostly expected results that way, so no big worries.<br>><br>> Any idea about the OCC backend? I ask because the attached program calls webcut on one of the example models<br>> (62_shaver1.brep) and faces to both sides of the cut
 sheet (as well as one that intersects the sheet) all report<br>> GEOMETRY_TOPOLOGY_MODIFIED.<br>><br><br>Hmm, I haven't worked much with the OCC backend, so I couldn't say.  I'm cc'ing Jane Hu, who developed that backend, she <br>might know.<br><br>> The notify_observer() method called on observers doesn't appear to provide information about the entity(-ies)<br>> replacing those being modified. Is there a way to obtain the resulting split or merged entities? If I create an<br>> attribute to hold an ID on faces or edges of interest, how fast will lookup be?<br>><br><br>If it's anything like ACIS, you generally don't know the correspondence between an entity that gets deleted and the ones <br>used to replace it.  IIRC you don't get many notifications of split or merge type, only of delete type (and implicitly <br>create type, which show up as not having associated CGM entities yet).<br><br>- tim<br><br>> Thanks,
 David<br>><br><br>-- <br>================================================================<br>"You will keep in perfect peace him whose mind is<br>   steadfast, because he trusts in you."               Isaiah 26:3<br><br>              Tim Tautges            Argonne National Laboratory<br>          (<a ymailto="mailto:tautges@mcs.anl.gov" href="mailto:tautges@mcs.anl.gov">tautges@mcs.anl.gov</a>)      (telecommuting from UW-Madison)<br>  phone (gvoice): (608) 354-1459      1500 Engineering Dr.<br>             fax: (608) 263-4499      Madison, WI 53706<br><br><br><br></div> </div> </div>  </div></div></body></html>