This commit adds getShape and setShape to TopoShape
This commit is contained in:
committed by
wmayer
parent
5a30a43862
commit
7f4a437cc2
@@ -111,10 +111,10 @@ int TopoShapeVertexPy::PyInit(PyObject* args, PyObject* /*kwd*/)
|
||||
PyErr_Clear(); // set by PyArg_ParseTuple()
|
||||
if (PyArg_ParseTuple(args,"O!",&(Part::TopoShapePy::Type), &object)) {
|
||||
TopoShape* ptr = static_cast<TopoShapePy*>(object)->getTopoShapePtr();
|
||||
TopoDS_Shape shape = ptr->_Shape;
|
||||
TopoDS_Shape shape = ptr->getShape();
|
||||
if (!shape.IsNull() && shape.ShapeType() == TopAbs_VERTEX) {
|
||||
TopoShapeVertexPy::PointerType vert = reinterpret_cast<TopoShapeVertexPy::PointerType>(_pcTwinPointer);
|
||||
vert->_Shape = ptr->_Shape;
|
||||
vert->setShape(ptr->getShape());
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -127,7 +127,7 @@ int TopoShapeVertexPy::PyInit(PyObject* args, PyObject* /*kwd*/)
|
||||
TopoShapeVertexPy::PointerType ptr = reinterpret_cast<TopoShapeVertexPy::PointerType>(_pcTwinPointer);
|
||||
BRepBuilderAPI_MakeVertex aBuilder(gp_Pnt(x,y,z));
|
||||
TopoDS_Shape s = aBuilder.Vertex();
|
||||
ptr->_Shape = s;
|
||||
ptr->setShape(s);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -138,45 +138,45 @@ PyObject* TopoShapeVertexPy::setTolerance(PyObject *args)
|
||||
if (!PyArg_ParseTuple(args, "d", &tol))
|
||||
return 0;
|
||||
BRep_Builder aBuilder;
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
aBuilder.UpdateVertex(v, tol);
|
||||
Py_Return;
|
||||
}
|
||||
|
||||
Py::Float TopoShapeVertexPy::getTolerance(void) const
|
||||
{
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
return Py::Float(BRep_Tool::Tolerance(v));
|
||||
}
|
||||
|
||||
void TopoShapeVertexPy::setTolerance(Py::Float tol)
|
||||
{
|
||||
BRep_Builder aBuilder;
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
aBuilder.UpdateVertex(v, (double)tol);
|
||||
}
|
||||
|
||||
Py::Float TopoShapeVertexPy::getX(void) const
|
||||
{
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
return Py::Float(BRep_Tool::Pnt(v).X());
|
||||
}
|
||||
|
||||
Py::Float TopoShapeVertexPy::getY(void) const
|
||||
{
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
return Py::Float(BRep_Tool::Pnt(v).Y());
|
||||
}
|
||||
|
||||
Py::Float TopoShapeVertexPy::getZ(void) const
|
||||
{
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
return Py::Float(BRep_Tool::Pnt(v).Z());
|
||||
}
|
||||
|
||||
Py::Object TopoShapeVertexPy::getPoint(void) const
|
||||
{
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->_Shape);
|
||||
const TopoDS_Vertex& v = TopoDS::Vertex(getTopoShapePtr()->getShape());
|
||||
gp_Pnt p = BRep_Tool::Pnt(v);
|
||||
return Py::Object(new Base::VectorPy(new Base::Vector3d(p.X(),p.Y(),p.Z())));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user