Has somebody an experience, how to separate the inner Shape from visible shapes

Has somebody an experience, how to separate the inner Shape from visible shapes (remove). I have a complex construction with a lot of shape. Some of shape are inner (you can not see it form outside). For my application I don#t need to analyse such shape#s. For increase a performance i would like to remove such shape. Where should I beginn ?

Dmitry Khabi's picture

to abstract or not very intresting ?

Dmitry Khabi's picture

too abstract....

Roman Lygin's picture

Hi Dmitry,

Probably unclear. Invisible subshapes from one angle may mean visible from another...

Or why don't you create a new shape that would only contain what is visible parts ?
Visualization first triangulates all the faces, regardless if they can be ever visible or not.

Not sure if this is helpful at all, though.


Dmitry Khabi's picture

Sorry, it was realy not very precise. I mean:
Invisible subshapes are the shapes, which are covered by another Shape "aCover".
For example the brain of man or woman is covered by the skull.
It's unvisible from any angle , if the View's eye is not situted inside the skull. In operation room it can be happend.

I will go the way you said (triangulates all the faces)...
Up to date I did not use the triangulation, its time to do it.
May be is triangulation a gateway to other possibilities for my application, or not.

Dmitry Khabi's picture

and of course
thank you......

Roman Lygin's picture

Hmm, well, it's still up to your app needs. For instance, you might want to make a skull semi-transparent and still let your users see the brain inside ;-)

If you are really concerned about performance (which would rather be true if you have to deal with myriad of single objects in AIS_InteractiveContext rather than a few objects consisting of numerous faces, etc), then you will need knowledge of your shapes to reconstruct their 'display brothers' ignoring those internal subshapes. That is, skulls without brains inside (what a fun!).

By the way, you don't need to apply triangulation explicitly. Visualization does this for you (within e.g. AIS_Shape::Compute()) upon your first display.

Dmitry Khabi's picture

Not bad to have a pair of X-Ray eyes (childhood#s dreams)infrared# eyes ( youthfulness's dreams).
In my case, the objects consist of hard metal (this objects cut the other hard metal). with years its became more sketchy and sketchy ;(.

I don#t have a myriad of single objects. I have problem with 100.000 objects. Because I need to analyse it. For example I use BRepPrimAPI_MakeRevol for each Face. I think, I can not do it with the whole shape ?

This problem I have solved, I make the revolution only in a little area (I dont need more:).

I think, the equation of whole surface would help me, to answer a lot of questions (Min Max, Extrems, where is the head, bottom, ....)
Sometimes the surface is very complex. For example the surface of the drill.

Which part of OCC does use the hardwary accelerator (graphic card) ? Is it only vizualization or a some algorithmes too ?

And what about Intel's Streaming SIMD Extensions ?