Hello,
you need to write your owndisplay object.
Create a new class inheriting from AIS_InteractiveObject.
I think you can see the samples with the file User_Cylinder.cxx to see how to do that.
In the Compute Method , you can get a Graphic3d_Group doing the following :
Handle(Graphic3d_Structure) theStructure = Handle(Graphic3d_Structure)::DownCast(aPresentation);
Handle(Graphic3d_Group) theGroup= new Graphic3d_Group(theStructure);
You must set the marker type in the Drawer to Aspect_TOM_Point
Handle(Graphic3d_AspectMarker3d) asp = myDrawer->PointAspect();
asp->SetTypeOfMarker(Aspect_TOM_POINT)
And in this Group , there is a method : MarkerSet where you can give a list of points
MyObject::Compute(...) {
Handle(Graphic3d_Structure) theStructure = Handle(Graphic3d_Structure)::DownCast(aPresentation);
Handle(Graphic3d_Group) theGroup= new Graphic3d_Group(theStructure);
Handle(Graphic3d_AspectMarker3d) asp; asp = myDrawer->PointAspect()->Aspect();
asp->SetTypeOfMarker(Aspect_TOM_POINT);
theGroup->SetGroupPrimitivesAspect(asp);
const Graphic3d_Array1OfVertex& theArray = GetVertices(); //your points
theGroup->MarkerSet(theArray);
}