Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided with OCCT 7.0. See https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form and https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019 for why this is necessary for OCCT >= 7.1
This commit is contained in:
@@ -95,7 +95,7 @@ PyObject* BSplineCurvePy::isRational(PyObject *args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_Boolean val = curve->IsRational();
|
||||
return PyBool_FromLong(val ? 1 : 0);
|
||||
@@ -105,7 +105,7 @@ PyObject* BSplineCurvePy::isPeriodic(PyObject *args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_Boolean val = curve->IsPeriodic();
|
||||
return PyBool_FromLong(val ? 1 : 0);
|
||||
@@ -115,7 +115,7 @@ PyObject* BSplineCurvePy::isClosed(PyObject *args)
|
||||
{
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_Boolean val = curve->IsClosed();
|
||||
return PyBool_FromLong(val ? 1 : 0);
|
||||
@@ -127,7 +127,7 @@ PyObject* BSplineCurvePy::increaseDegree(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "i", °ree))
|
||||
return 0;
|
||||
PY_TRY {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->IncreaseDegree(degree);
|
||||
Py_Return;
|
||||
@@ -142,7 +142,7 @@ PyObject* BSplineCurvePy::increaseMultiplicity(PyObject * args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
if (mult == -1) {
|
||||
mult = end;
|
||||
@@ -155,7 +155,7 @@ PyObject* BSplineCurvePy::increaseMultiplicity(PyObject * args)
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -168,12 +168,12 @@ PyObject* BSplineCurvePy::incrementMultiplicity(PyObject * args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->IncrementMultiplicity(start, end, mult);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -190,12 +190,12 @@ PyObject* BSplineCurvePy::insertKnot(PyObject * args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->InsertKnot(U,M,tol,PyObject_IsTrue(add) ? Standard_True : Standard_False);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -234,13 +234,13 @@ PyObject* BSplineCurvePy::insertKnots(PyObject * args)
|
||||
m(index++) = (int)val;
|
||||
}
|
||||
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->InsertKnots(k,m,tol,PyObject_IsTrue(add) ? Standard_True : Standard_False);
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -256,13 +256,13 @@ PyObject* BSplineCurvePy::removeKnot(PyObject * args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_Boolean ok = curve->RemoveKnot(Index,M,tol);
|
||||
return PyBool_FromLong(ok ? 1 : 0);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -274,13 +274,13 @@ PyObject* BSplineCurvePy::segment(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "dd", &u1,&u2))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->Segment(u1,u2);
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -294,7 +294,7 @@ PyObject* BSplineCurvePy::setKnot(PyObject * args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
if (M == -1) {
|
||||
curve->SetKnot(Index, K);
|
||||
@@ -306,7 +306,7 @@ PyObject* BSplineCurvePy::setKnot(PyObject * args)
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -319,14 +319,14 @@ PyObject* BSplineCurvePy::getKnot(PyObject * args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
double M = curve->Knot(Index);
|
||||
|
||||
return Py_BuildValue("d",M);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -346,13 +346,13 @@ PyObject* BSplineCurvePy::setKnots(PyObject * args)
|
||||
k(index++) = (double)val;
|
||||
}
|
||||
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->SetKnots(k);
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -363,7 +363,7 @@ PyObject* BSplineCurvePy::getKnots(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
TColStd_Array1OfReal w(1,curve->NbKnots());
|
||||
curve->Knots(w);
|
||||
@@ -374,7 +374,7 @@ PyObject* BSplineCurvePy::getKnots(PyObject * args)
|
||||
return Py::new_reference_to(knots);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -390,7 +390,7 @@ PyObject* BSplineCurvePy::setPole(PyObject * args)
|
||||
Base::Vector3d vec = static_cast<Base::VectorPy*>(p)->value();
|
||||
gp_Pnt pnt(vec.x, vec.y, vec.z);
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
if (weight < 0.0)
|
||||
curve->SetPole(index,pnt);
|
||||
@@ -399,7 +399,7 @@ PyObject* BSplineCurvePy::setPole(PyObject * args)
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -411,7 +411,7 @@ PyObject* BSplineCurvePy::getPole(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "i", &index))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_OutOfRange_Raise_if
|
||||
(index < 1 || index > curve->NbPoles(), "Pole index out of range");
|
||||
@@ -421,7 +421,7 @@ PyObject* BSplineCurvePy::getPole(PyObject * args)
|
||||
return vec;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -432,7 +432,7 @@ PyObject* BSplineCurvePy::getPoles(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
TColgp_Array1OfPnt p(1,curve->NbPoles());
|
||||
curve->Poles(p);
|
||||
@@ -446,7 +446,7 @@ PyObject* BSplineCurvePy::getPoles(PyObject * args)
|
||||
return Py::new_reference_to(poles);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -457,7 +457,7 @@ PyObject* BSplineCurvePy::getPolesAndWeights(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
TColgp_Array1OfPnt p(1,curve->NbPoles());
|
||||
curve->Poles(p);
|
||||
@@ -478,7 +478,7 @@ PyObject* BSplineCurvePy::getPolesAndWeights(PyObject * args)
|
||||
return Py::new_reference_to(poles);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -491,13 +491,13 @@ PyObject* BSplineCurvePy::setWeight(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "id", &index,&weight))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->SetWeight(index,weight);
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -509,7 +509,7 @@ PyObject* BSplineCurvePy::getWeight(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "i", &index))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_OutOfRange_Raise_if
|
||||
(index < 1 || index > curve->NbPoles() , "Weight index out of range");
|
||||
@@ -517,7 +517,7 @@ PyObject* BSplineCurvePy::getWeight(PyObject * args)
|
||||
return Py_BuildValue("d", weight);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -528,7 +528,7 @@ PyObject* BSplineCurvePy::getWeights(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
TColStd_Array1OfReal w(1,curve->NbPoles());
|
||||
curve->Weights(w);
|
||||
@@ -539,7 +539,7 @@ PyObject* BSplineCurvePy::getWeights(PyObject * args)
|
||||
return Py::new_reference_to(weights);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -551,14 +551,14 @@ PyObject* BSplineCurvePy::getResolution(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "d", &tol))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
double utol;
|
||||
curve->Resolution(tol,utol);
|
||||
return Py_BuildValue("d",utol);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -573,14 +573,14 @@ PyObject* BSplineCurvePy::movePoint(PyObject * args)
|
||||
return 0;
|
||||
try {
|
||||
Base::Vector3d p = static_cast<Base::VectorPy*>(pnt)->value();
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
int first, last;
|
||||
curve->MovePoint(U, gp_Pnt(p.x,p.y,p.z), index1, index2, first, last);
|
||||
return Py_BuildValue("(ii)",first, last);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -591,13 +591,13 @@ PyObject* BSplineCurvePy::setNotPeriodic(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->SetNotPeriodic();
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -608,13 +608,13 @@ PyObject* BSplineCurvePy::setPeriodic(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->SetPeriodic();
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -626,13 +626,13 @@ PyObject* BSplineCurvePy::setOrigin(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "i", &index))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
curve->SetOrigin(index);
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -644,13 +644,13 @@ PyObject* BSplineCurvePy::getMultiplicity(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, "i", &index))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
int mult = curve->Multiplicity(index);
|
||||
return Py_BuildValue("i", mult);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -661,7 +661,7 @@ PyObject* BSplineCurvePy::getMultiplicities(PyObject * args)
|
||||
if (!PyArg_ParseTuple(args, ""))
|
||||
return 0;
|
||||
try {
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
TColStd_Array1OfInteger m(1,curve->NbKnots());
|
||||
curve->Multiplicities(m);
|
||||
@@ -672,42 +672,42 @@ PyObject* BSplineCurvePy::getMultiplicities(PyObject * args)
|
||||
return Py::new_reference_to(mults);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Py::Long BSplineCurvePy::getDegree(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
return Py::Long(curve->Degree());
|
||||
}
|
||||
|
||||
Py::Long BSplineCurvePy::getMaxDegree(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
return Py::Long(curve->MaxDegree());
|
||||
}
|
||||
|
||||
Py::Long BSplineCurvePy::getNbPoles(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
return Py::Long(curve->NbPoles());
|
||||
}
|
||||
|
||||
Py::Long BSplineCurvePy::getNbKnots(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
return Py::Long(curve->NbKnots());
|
||||
}
|
||||
|
||||
Py::Object BSplineCurvePy::getStartPoint(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve c = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) c = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
gp_Pnt pnt = c->StartPoint();
|
||||
return Py::Vector(Base::Vector3d(pnt.X(), pnt.Y(), pnt.Z()));
|
||||
@@ -715,7 +715,7 @@ Py::Object BSplineCurvePy::getStartPoint(void) const
|
||||
|
||||
Py::Object BSplineCurvePy::getEndPoint(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve c = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) c = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
gp_Pnt pnt = c->EndPoint();
|
||||
return Py::Vector(Base::Vector3d(pnt.X(), pnt.Y(), pnt.Z()));
|
||||
@@ -723,21 +723,21 @@ Py::Object BSplineCurvePy::getEndPoint(void) const
|
||||
|
||||
Py::Object BSplineCurvePy::getFirstUKnotIndex(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
return Py::Long(curve->FirstUKnotIndex());
|
||||
}
|
||||
|
||||
Py::Object BSplineCurvePy::getLastUKnotIndex(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
return Py::Long(curve->LastUKnotIndex());
|
||||
}
|
||||
|
||||
Py::List BSplineCurvePy::getKnotSequence(void) const
|
||||
{
|
||||
Handle_Geom_BSplineCurve curve = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) curve = Handle(Geom_BSplineCurve)::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Standard_Integer m = 0;
|
||||
if (curve->IsPeriodic()) {
|
||||
@@ -778,7 +778,7 @@ PyObject* BSplineCurvePy::toBiArcs(PyObject * args)
|
||||
return Py::new_reference_to(list);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -842,7 +842,7 @@ PyObject* BSplineCurvePy::approximate(PyObject *args, PyObject *kwds)
|
||||
if (weight1 || weight2 || weight3) {
|
||||
// It seems that this function only works with Continuity = C0, C1 or C2
|
||||
GeomAPI_PointsToBSpline fit(pnts, weight1, weight2, weight3, degMax, c, tol3d);
|
||||
Handle_Geom_BSplineCurve spline = fit.Curve();
|
||||
Handle(Geom_BSplineCurve) spline = fit.Curve();
|
||||
if (!spline.IsNull()) {
|
||||
this->getGeomBSplineCurvePtr()->setHandle(spline);
|
||||
Py_Return;
|
||||
@@ -863,7 +863,7 @@ PyObject* BSplineCurvePy::approximate(PyObject *args, PyObject *kwds)
|
||||
}
|
||||
|
||||
GeomAPI_PointsToBSpline fit(pnts, parameters, degMin, degMax, c, tol3d);
|
||||
Handle_Geom_BSplineCurve spline = fit.Curve();
|
||||
Handle(Geom_BSplineCurve) spline = fit.Curve();
|
||||
if (!spline.IsNull()) {
|
||||
this->getGeomBSplineCurvePtr()->setHandle(spline);
|
||||
Py_Return;
|
||||
@@ -884,7 +884,7 @@ PyObject* BSplineCurvePy::approximate(PyObject *args, PyObject *kwds)
|
||||
pt = Approx_ChordLength;
|
||||
|
||||
GeomAPI_PointsToBSpline fit(pnts, pt, degMin, degMax, c, tol3d);
|
||||
Handle_Geom_BSplineCurve spline = fit.Curve();
|
||||
Handle(Geom_BSplineCurve) spline = fit.Curve();
|
||||
if (!spline.IsNull()) {
|
||||
this->getGeomBSplineCurvePtr()->setHandle(spline);
|
||||
Py_Return;
|
||||
@@ -895,7 +895,7 @@ PyObject* BSplineCurvePy::approximate(PyObject *args, PyObject *kwds)
|
||||
}
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -983,7 +983,7 @@ PyObject* BSplineCurvePy::interpolate(PyObject *args, PyObject *kwds)
|
||||
|
||||
try {
|
||||
Py::Sequence list(obj);
|
||||
Handle_TColgp_HArray1OfPnt interpolationPoints = new TColgp_HArray1OfPnt(1, list.size());
|
||||
Handle(TColgp_HArray1OfPnt) interpolationPoints = new TColgp_HArray1OfPnt(1, list.size());
|
||||
Standard_Integer index = 1;
|
||||
for (Py::Sequence::iterator it = list.begin(); it != list.end(); ++it) {
|
||||
Py::Vector v(*it);
|
||||
@@ -995,7 +995,7 @@ PyObject* BSplineCurvePy::interpolate(PyObject *args, PyObject *kwds)
|
||||
Standard_Failure::Raise("not enough points given");
|
||||
}
|
||||
|
||||
Handle_TColStd_HArray1OfReal parameters;
|
||||
Handle(TColStd_HArray1OfReal) parameters;
|
||||
if (par) {
|
||||
Py::Sequence plist(par);
|
||||
parameters = new TColStd_HArray1OfReal(1, plist.size());
|
||||
@@ -1034,7 +1034,7 @@ PyObject* BSplineCurvePy::interpolate(PyObject *args, PyObject *kwds)
|
||||
}
|
||||
|
||||
Py::Sequence flist(fl);
|
||||
Handle_TColStd_HArray1OfBoolean tangentFlags = new TColStd_HArray1OfBoolean(1, flist.size());
|
||||
Handle(TColStd_HArray1OfBoolean) tangentFlags = new TColStd_HArray1OfBoolean(1, flist.size());
|
||||
Standard_Integer findex = 1;
|
||||
for (Py::Sequence::iterator it = flist.begin(); it != flist.end(); ++it) {
|
||||
Py::Boolean flag(*it);
|
||||
@@ -1047,7 +1047,7 @@ PyObject* BSplineCurvePy::interpolate(PyObject *args, PyObject *kwds)
|
||||
|
||||
aBSplineInterpolation->Perform();
|
||||
if (aBSplineInterpolation->IsDone()) {
|
||||
Handle_Geom_BSplineCurve aBSplineCurve(aBSplineInterpolation->Curve());
|
||||
Handle(Geom_BSplineCurve) aBSplineCurve(aBSplineInterpolation->Curve());
|
||||
this->getGeomBSplineCurvePtr()->setHandle(aBSplineCurve);
|
||||
Py_Return;
|
||||
}
|
||||
@@ -1057,7 +1057,7 @@ PyObject* BSplineCurvePy::interpolate(PyObject *args, PyObject *kwds)
|
||||
}
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
std::string err = e->GetMessageString();
|
||||
if (err.empty()) err = e->DynamicType()->Name();
|
||||
PyErr_SetString(PartExceptionOCCError, err.c_str());
|
||||
@@ -1106,7 +1106,7 @@ PyObject* BSplineCurvePy::buildFromPoles(PyObject *args)
|
||||
mults.SetValue(1, mult);
|
||||
mults.SetValue(knots.Length(), mult);
|
||||
|
||||
Handle_Geom_BSplineCurve spline = new Geom_BSplineCurve(poles, knots, mults, degree, Standard_True);
|
||||
Handle(Geom_BSplineCurve) spline = new Geom_BSplineCurve(poles, knots, mults, degree, Standard_True);
|
||||
if (!spline.IsNull()) {
|
||||
this->getGeomBSplineCurvePtr()->setHandle(spline);
|
||||
Py_Return;
|
||||
@@ -1126,7 +1126,7 @@ PyObject* BSplineCurvePy::buildFromPoles(PyObject *args)
|
||||
mults.SetValue(1, degree+1);
|
||||
mults.SetValue(knots.Length(), degree+1);
|
||||
|
||||
Handle_Geom_BSplineCurve spline = new Geom_BSplineCurve(poles, knots, mults, degree, Standard_False);
|
||||
Handle(Geom_BSplineCurve) spline = new Geom_BSplineCurve(poles, knots, mults, degree, Standard_False);
|
||||
if (!spline.IsNull()) {
|
||||
this->getGeomBSplineCurvePtr()->setHandle(spline);
|
||||
Py_Return;
|
||||
@@ -1138,7 +1138,7 @@ PyObject* BSplineCurvePy::buildFromPoles(PyObject *args)
|
||||
}
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -1271,7 +1271,7 @@ PyObject* BSplineCurvePy::buildFromPolesMultsKnots(PyObject *args, PyObject *key
|
||||
return(0);
|
||||
}
|
||||
|
||||
Handle_Geom_BSplineCurve spline = new Geom_BSplineCurve(occpoles,occweights,occknots,occmults,degree,
|
||||
Handle(Geom_BSplineCurve) spline = new Geom_BSplineCurve(occpoles,occweights,occknots,occmults,degree,
|
||||
PyObject_IsTrue(periodic) ? Standard_True : Standard_False,
|
||||
PyObject_IsTrue(CheckRational) ? Standard_True : Standard_False);
|
||||
if (!spline.IsNull()) {
|
||||
@@ -1284,7 +1284,7 @@ PyObject* BSplineCurvePy::buildFromPolesMultsKnots(PyObject *args, PyObject *key
|
||||
}
|
||||
}
|
||||
catch (const Standard_Failure & ) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
Standard_CString msg = e->GetMessageString();
|
||||
PyErr_SetString(PartExceptionOCCError, msg ? msg : "");
|
||||
return 0;
|
||||
@@ -1298,21 +1298,21 @@ PyObject* BSplineCurvePy::toBezier(PyObject *args)
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_BSplineCurve spline = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) spline = Handle(Geom_BSplineCurve)::DownCast
|
||||
(this->getGeomBSplineCurvePtr()->handle());
|
||||
GeomConvert_BSplineCurveToBezierCurve crt(spline);
|
||||
|
||||
Py::List list;
|
||||
Standard_Integer arcs = crt.NbArcs();
|
||||
for (Standard_Integer i=1; i<=arcs; i++) {
|
||||
Handle_Geom_BezierCurve bezier = crt.Arc(i);
|
||||
Handle(Geom_BezierCurve) bezier = crt.Arc(i);
|
||||
list.append(Py::asObject(new BezierCurvePy(new GeomBezierCurve(bezier))));
|
||||
}
|
||||
|
||||
return Py::new_reference_to(list);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -1327,7 +1327,7 @@ PyObject* BSplineCurvePy::join(PyObject *args)
|
||||
try {
|
||||
GeomBSplineCurve* curve1 = this->getGeomBSplineCurvePtr();
|
||||
BSplineCurvePy* curve2 = static_cast<BSplineCurvePy*>(c);
|
||||
Handle_Geom_BSplineCurve spline = Handle_Geom_BSplineCurve::DownCast
|
||||
Handle(Geom_BSplineCurve) spline = Handle(Geom_BSplineCurve)::DownCast
|
||||
(curve2->getGeomBSplineCurvePtr()->handle());
|
||||
|
||||
bool ok = curve1->join(spline);
|
||||
@@ -1335,7 +1335,7 @@ PyObject* BSplineCurvePy::join(PyObject *args)
|
||||
return PyBool_FromLong(ok ? 1 : 0);
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
@@ -1354,7 +1354,7 @@ PyObject* BSplineCurvePy::makeC1Continuous(PyObject *args)
|
||||
Py_Return;
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
Handle(Standard_Failure) e = Standard_Failure::Caught();
|
||||
std::string err = e->GetMessageString();
|
||||
if (err.empty()) err = e->DynamicType()->Name();
|
||||
PyErr_SetString(PartExceptionOCCError, err.c_str());
|
||||
|
||||
Reference in New Issue
Block a user