What is the efficient way to display many arrow (quiver plot) in OpenCascade viewer

Hi guys,

I need to display many 3D rows in OpenCascade viewer, the quiver plot (image is attached). I can do it by creating many TopoDS_Shape and displaying with AIS_Shape. But the point is it's getting slow to generate arrow shapes and display them.

Do you guy have any idea to rendering the arrows faster in OpenCascade visualization?

Yours,

Attachments: 
Kirill Gavrilov's picture

Normally you would create a subclass of AIS_InteractiveObject that would compute arrows using Prs3d_Arrow or similar tool. Drawing a large number of shaded arrows might be expensive (just because of heavy number of overall triangles), so that they simpler presentations like thin line with simpler tip (also a single line segment of wider width) might be beneficial.

The performance will also depend ot presentation builder logic (it is preferred putting all arrows into a single / small number of Graphic3d_ArrayOfPrimitives). Practically speaking using a single AIS_Shape for a set of arrows should be also fine for a number of arrows on your screenshot.