Thanks Eugene, much appreciated; I'd not thought about the memory issue. Also the referencing (single change/updates all) is appealing, so I won't bother with deep copying.
Happy New Year everyone, may CGE go from strength to strength! Can anyone help with a little understanding. I'm creating multiple meshes (IndexedFaceSets), each has a different shape/appearance/texture. I've been constructing each mesh with its own CoordinateNode. However, there is about 70% commonality in the vertices in each set of coordinates. Can I create just one CoordinateNode with all the possible vertices, and then assign this to each of the meshes - obviously setting the vertex indices appropriately....
Wow, I'm amazed Eugene and realise how much learning I have in front of me! Thank-you very much. Your example is crystal clear, and, yes, the RebuildScene procedure is what I will do. I had no idea recreating the mesh would be so fast. Thanks again. Also, thanks Michalis for your comments/confirmations.
Thanks Eugene for your comments, if I understand correctly, for the first instance you suggest using a TSwitchNode to set the visibility of the block rather than deleting it. I had originally thought of simply deleting the blocks, but setting the visibility allows me to easily replay/reverse and 'un-mine' the block. I'll try this first; I expect about 1000 blocks. Unfortunately, I just can't get my head around your second suggestion. Are you suggesting that at each timestep I recalculate vertices...
Hi all, back to using CGE after a bit of a break, and I would welcome a couple of pointers/how-tos. I'd like to visualise a mining machine digging a trench. I have a path. I thought of something like Minecraft; create slices using TBoxNode, texture the faces (not all, won't need to see underneath or behind), then as I move the machine to the rock face I simply delete the block. Repeat ad naseum. If the block is the same width & height as the cutting section of the machine, then it will look like...
Thanks for the reply, thought as much. Having to keep checking large meshes for (potentially multiple) contacts would be very expensive. I read in another post, or it may have been your roadmap, that you hope to improve the integration of Kraft into CGE. I too would find the exposure of an OnContact event to be useful, but most of all would be a global 'start physics/stop physics' routine (maybe there is one already, haven't found it). One command to iterate all RigidBodies and set Dynamic to true/false...
Using the Kraft physics engine I get an exception/error that a MeshCollider can only be used with a static rigid body. Think of a simplified washing machine or cement mixer. The inside profile is defined as a mesh, it rotates about an axis. Objects inside need to interact with that mesh (and with themselves). Well, that was what I was trying to do - am I missing something? If indeed I can't use a mesh as a dynamic rigid body, do I have to replace each surface inside the drum with a PlaneCollider?...
Thanks Michalis, that's more than a sketch, it's a painting! I'll give that a go. Many thanks, would never have found the TrySimplePlaneSegmentIntersection() function.