Boolean operations preview

I have two questions about boolean operations.

1. Would it be possible to have a "preview" of boolean operations, with reduced precision, but much faster then the precise calculations?
2. Would it be possible to add and remove shapes to/from a PaveFiller objects. Eg. I have 30 objects set as the arguments of a boolean operations, and only one argument is modified. Would it be possible to replace only that shape, increasing the performance of the calculation?

Sergey ZERCHANINOV's picture

Hello Istvan,

As a possible faster alternative to OCCT Boolean Operations, we could propose Boolean Operations on surface meshes available in Open CASCADE Mesh Framework (OMF) library. Read more about this component at http://www.opencascade.org/support/products/omf/ .

As for your second question, we might propose you our assistance in implementing the needed functionality in PaveFiller. Please, contact us via the Contact Form ( http://www.opencascade.com/contact/ ), if you are interested.

Francois Lauzon's picture

Just one little addition for the X11 version, before doing a resize we have to flush the X event loop, so the method resizeEvent will look like this:

/** Update the view when resize event occur. */ virtual void resizeEvent ( QResizeEvent * ) { #ifndef WNT // flush X event first // we have to flush the queue before doing a resize QApplication::flushX(); #endif if (!myView.IsNull())

myView->MustBeResized(); }

Francois.

Mikael Aronsson's picture

Hi !

Just one more thing, you must add the makeCurrent() call to the constructor, resizeEvent and paintEvent methods to make the OpenGL context active to make it work.

I guess you could use resizeGL() and paintGL() instead of resizeEvent() and paintEvent(), these methods call makeCurrent() first so you don't have to do that.

Mikael

Kirill Gavrilov's picture

There is one more interesting option available in context of preview operation - perform Boolean operation as visualization feature. Within Ray-Tracing such operations can be emulated at relatively small cost.

So if hardware is capable and fast enough for real-time Ray-Tracing on GPU using OCCT renderer, it should be sufficient for Boolean operation as well. Previously we have used such techniques for CSG-like models (defined by Boolean operations for primitives), but it is possible to apply it for triangulations as well.

Certainly this is not an option for mobile devices, yet...

István Csanády's picture

Hmm that sounds very interesting. Probably it won't be able to perform well on mobile devices indeed.