-
whitlocb authored
1. Domain nesting and domain boundary objects are now supported. SimV2 wraps the real avt C++ objects using a C API that hides all direct access to the objects. The static C lib dynamically gets the real implementations of the functions from the SimV2 runtime. This pattern will be implemented for the rest of the libsim structures to prevent errors in user initialization of simulation data structures. 2. I created an AMR simulation of the Mandelbrot set to test the domain nesting features. See http://www.visitusers.org/index.php?title=Movies 3. VisItDebug functions were added that enable the simulation to write printf-style output to VisIt's debug logs. I stole the pattern from Tom. Thanks Tom! 4. The VisItUpdatePlots and VisItExecuteCommand functions were changed to be blocking using a new synchronization mechanism in SimV2. The functions block but still allow the simulation to process VisIt commands until the synchronization is complete. This gets the 2 functions working as one would expect and makes it much more feasible to write code where the sim saves images of its data as it progresses. The amr and updateplots simulation examples can actually do this now. 5. The synchronization mechanism is exposed via the new VisItSynchronize function which blocks the sim until VisIt is ready to continue (if VisIt is connected). 6. The command callback infrastructure was reworked to be a little simpler and allow for user-provided callback data. The gui was also fixed so it sends the right commands in addition to the "enhanced" command names. A few issues were also fixed to make sure that the command callback infrastructure is compatible with the new synchronization mechanism. 7. Block names were added to mesh metadata. The amr and csg example simulations use this. git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@6731 18c085ea-50e0-402c-830e-de6fd14e8384
67cd6aab