- bool isEqual = false;
- Handle(StdSelect_BRepOwner) anOwner1 = Handle(StdSelect_BRepOwner)::DownCast(thePrs1.owner());
- Handle(StdSelect_BRepOwner) anOwner2 = Handle(StdSelect_BRepOwner)::DownCast(thePrs2.owner());
-
- if (!anOwner1.IsNull() && anOwner1->HasShape() &&
- !anOwner2.IsNull() && anOwner2->HasShape()) {
- const TopoDS_Shape& aShape1 = anOwner1->Shape();
- const TopoDS_Shape& aShape2 = anOwner2->Shape();
- //TopAbs_ShapeEnum aShapeType = aShape.ShapeType();
- if (aShape1.ShapeType() == TopAbs_VERTEX &&
- aShape2.ShapeType() == TopAbs_VERTEX) {
- const TopoDS_Vertex& aVertex1 = TopoDS::Vertex(aShape1);
- const TopoDS_Vertex& aVertex2 = TopoDS::Vertex(aShape2);
- if (!aVertex1.IsNull() && !aVertex2.IsNull()) {
- gp_Pnt aPoint1 = BRep_Tool::Pnt(aVertex1);
- gp_Pnt aPoint2 = BRep_Tool::Pnt(aVertex2);
-
- std::shared_ptr<GeomAPI_Pnt> aPnt1 = std::shared_ptr<GeomAPI_Pnt>
- (new GeomAPI_Pnt(aPoint1.X(), aPoint1.Y(), aPoint1.Z()));
- std::shared_ptr<GeomAPI_Pnt> aPnt2 = std::shared_ptr<GeomAPI_Pnt>
- (new GeomAPI_Pnt(aPoint2.X(), aPoint2.Y(), aPoint2.Z()));
- isEqual = aPnt1->isEqual(aPnt2);
+ std::shared_ptr<GeomAPI_Vertex> aGeomVertex;
+ Handle(StdSelect_BRepOwner) anOwner = Handle(StdSelect_BRepOwner)::DownCast(thePrs->owner());
+
+ if (!anOwner.IsNull() && anOwner->HasShape()) {
+ const TopoDS_Shape& aShape = anOwner->Shape();
+ if (aShape.ShapeType() == TopAbs_VERTEX) {
+ const TopoDS_Vertex& aVertex = TopoDS::Vertex(aShape);
+ if (!aVertex.IsNull()) {
+ gp_Pnt aPoint = BRep_Tool::Pnt(aVertex);
+ aGeomVertex = std::shared_ptr<GeomAPI_Vertex>(new GeomAPI_Vertex(aPoint.X(), aPoint.Y(),
+ aPoint.Z()));