*.orig
*~
/.project
+*DFBrowser*
+
bool GeomAPI_Edge::isEqual(const std::shared_ptr<GeomAPI_Shape> theEdge) const
{
+ if (!theEdge.get() || ! theEdge->isEdge())
+ return false;
const TopoDS_Shape& aMyShape = const_cast<GeomAPI_Edge*>(this)->impl<TopoDS_Shape>();
const TopoDS_Shape& aInShape = theEdge->impl<TopoDS_Shape>();
bool GeomAPI_Vertex::isEqual(const std::shared_ptr<GeomAPI_Shape> theVert) const
{
+ if (!theVert.get() || ! theVert->isVertex())
+ return false;
const TopoDS_Shape& aMyShape = const_cast<GeomAPI_Vertex*>(this)->impl<TopoDS_Shape>();
const TopoDS_Shape& aInShape = theVert->impl<TopoDS_Shape>();
void Model_ResultConstruction::setShape(std::shared_ptr<GeomAPI_Shape> theShape)
{
- if (myShape != theShape) {
+ if (myShape != theShape && (!theShape.get() || !theShape->isEqual(myShape))) {
myShape = theShape;
- if (theShape.get() && (!myShape.get() || !theShape->isEqual(myShape))) {
+ if (theShape.get()) {
myFacesUpToDate = false;
myFaces.clear();
}