This is a virtual function that the inheriting class does not implement:
The problem function call is a pure virtual that QoccSnap doesn't implement the inheriting class does:
bool QoccSnap::Snap(QPoint& pos, V3d_Coordinate& X, V3d_Coordinate& Y, V3d_Coordinate& Z)
{
AIS_ListOfInteractive aList;
myContext->DisplayedObjects( aList );
AIS_ListIteratorOfListOfInteractive aListIterator;
for ( aListIterator.Initialize( aList ); aListIterator.More(); aListIterator.Next() )
{
if (aListIterator.Value ()->IsKind (STANDARD_TYPE (AIS_Shape)))
{
Handle(AIS_Shape) aisShape = Handle(AIS_Shape)::DownCast(aListIterator.Value());
const TopoDS_Shape& aShape = aisShape->Shape();
if(aShape.ShapeType() == mySignature)
{
----Problem is here------> if(SnapLocation(aisShape, X, Y, Z))
{
}
}
}
else
cout << "Not a Shape" << endl;
}
return false;
}