Displaying more than 35K points crashes due to memory problem


Displaying just 35K points, my application crashes saying Heap allocation failed.

Function Standard_MMgrOpt::AllocMemory (Standard_Size &Size) fails to allocate memory and raises an exception.

This is my code.

for(int i = 0; i {
Handle(AIS_Point) anAISPoint = new AIS_Point(new Geom_CartesianPoint(gp_Pnt(0.0, 0.0, 0.0)));
pCtx->Display(anAISPoint, false);

I came to know from this forum that it is not good to use AIS_InteractiveObject for each point to be displayed. What's the problem in it?

I tried to a create my own InteractiveObject which have a list of points. In Compute method, i presented the object and in ComputeSelection method, i added sentive primitives. But, on selection in UI, all the points are selected as single entity. Can i able to select each point separately eventhough it is a single object like in AIS_Shape of TopoDS_Compound where we are able to select each vertex.

Thanks in advance.

G.Suresh Babu

suresh's picture

This bug is fixed in Opencascade 6.3 version.
Hope this might help others.