Sketcher: Expose Type as readonly python attribute

This commit is contained in:
Abdullah Tahiri
2018-02-07 15:32:43 +01:00
parent f3098d5acb
commit 9ae9150bea
2 changed files with 29 additions and 0 deletions

View File

@@ -16,6 +16,12 @@
<Author Licence="LGPL" Name="Juergen Riegel" EMail="FreeCAD@juergen-riegel.net" />
<UserDocu>With this object you can handle sketches</UserDocu>
</Documentation>
<Attribute Name="Type" ReadOnly="true">
<Documentation>
<UserDocu>Get the constraint type</UserDocu>
</Documentation>
<Parameter Name="Type" Type="String"/>
</Attribute>
<Attribute Name="First" ReadOnly="false">
<Documentation>
<UserDocu>First geometry index the Constraint refers to</UserDocu>

View File

@@ -528,6 +528,29 @@ std::string ConstraintPy::representation(void) const
return result.str();
}
Py::String ConstraintPy::getType(void) const
{
switch(this->getConstraintPtr()->Type) {
case None : return Py::String("None");break;
case DistanceX : return Py::String("DistanceX");break;
case DistanceY : return Py::String("DistanceY");break;
case Coincident : return Py::String("Coincident");break;
case Horizontal : return Py::String("Horizontal");break;
case Vertical : return Py::String("Vertical");break;
case Block : return Py::String("Block");break;
case Radius : return Py::String("Radius");break;
case Parallel : return Py::String("Parallel");break;
case Tangent : return Py::String("Tangent");break;
case Perpendicular : return Py::String("Perpendicular");break;
case Distance : return Py::String("Distance");break;
case Angle : return Py::String("Angle");break;
case Symmetric : return Py::String("Symmetric"); break;
case SnellsLaw : return Py::String("SnellsLaw"); break;
case InternalAlignment : return Py::String("InternalAlignment"); break;
default : return Py::String("Undefined");break;
}
}
Py::Long ConstraintPy::getFirst(void) const
{
return Py::Long(this->getConstraintPtr()->First);