I have to display 3d points that are generated dynamically (anytime some input device is moved).
So I've created a class inheriting AIS_InteractiveObject and redefined Compute(Handle_PrsMgr_PresentationManager3d, Handle_Prs3d_Presentation, ...) method.
This sub-class relies on a Graphic3d_ArrayOfPrimitives being filled with specific purpose addPoint() :
class AIS_Path : public AIS_InteractiveObject
{
public:
AIS_Path(Standard_Integer maxPoints)
: m_points(new Graphic3d_ArrayOfPolylines(maxPoints))
{
}
Each time a new point is added AIS_InteractiveContext::RecomputePrsOnly() is called and then Update() but only the points added with addPoint() before the very first call to Display() can be seen, after that nothing is displayed.