1 // File: GeomAPI_Shape.cpp
2 // Created: 23 Apr 2014
3 // Author: Mikhail PONIKAROV
5 #include<GeomAPI_Shape.h>
7 #include <TopoDS_Shape.hxx>
9 #define MY_SHAPE static_cast<TopoDS_Shape*>(myImpl)
11 GeomAPI_Shape::GeomAPI_Shape()
12 : GeomAPI_Interface(new TopoDS_Shape())
16 bool GeomAPI_Shape::isNull() const
18 return MY_SHAPE->IsNull() == Standard_True;
21 bool GeomAPI_Shape::isEqual(const boost::shared_ptr<GeomAPI_Shape> theShape) const
24 return theShape->isNull();
25 if (theShape->isNull())
28 return MY_SHAPE->IsEqual(theShape->impl<TopoDS_Shape>()) == Standard_True;
31 bool GeomAPI_Shape::isVertex() const
33 const TopoDS_Shape& aShape = const_cast<GeomAPI_Shape*>(this)->impl<TopoDS_Shape>();
34 return !aShape.IsNull() && aShape.ShapeType() == TopAbs_VERTEX;
37 bool GeomAPI_Shape::isEdge() const
39 const TopoDS_Shape& aShape = const_cast<GeomAPI_Shape*>(this)->impl<TopoDS_Shape>();
40 return aShape.ShapeType() == TopAbs_EDGE;