Preserve True/Projected state on save/restore

This commit is contained in:
WandererFan
2016-05-28 19:19:54 +12:00
committed by wmayer
parent 7f7e63dfe0
commit d73ffaa55b
11 changed files with 101 additions and 81 deletions

View File

@@ -80,12 +80,12 @@ void Measurement::clear()
measureType = Invalid;
}
bool Measurement::hasReferences()
bool Measurement::has3DReferences()
{
return (References3D.getSize() > 0);
}
/// Convenience Methods for adding points
///add a 3D reference (obj+sub) to end of list
int Measurement::addReference3D(App::DocumentObject *obj, const char* subName)
{
std::vector<App::DocumentObject*> objects = References3D.getValues();

View File

@@ -55,10 +55,10 @@ public:
~Measurement();
void clear();
bool hasReferences();
bool has3DReferences();
/// Add a reference
int addReference3D(App::DocumentObject *obj, const char *subName);
int addReference3D(App::DocumentObject* obj, const char *subName);
MeasureType getType();

View File

@@ -19,6 +19,11 @@
<UserDocu>add a geometric reference</UserDocu>
</Documentation>
</Methode>
<Methode Name="has3DReferences">
<Documentation>
<UserDocu>does Measurement have links to 3D geometry</UserDocu>
</Documentation>
</Methode>
<Methode Name="clear">
<Documentation>
<UserDocu>measure the difference between references to obtain resultant vector</UserDocu>

View File

@@ -84,6 +84,19 @@ PyObject* MeasurementPy::addReference3D(PyObject *args)
Py_Return;
}
PyObject* MeasurementPy::has3DReferences(PyObject *args)
{
PyObject *result=Py_False;
if (!PyArg_ParseTuple(args, ""))
return 0;
if (getMeasurementPtr()->has3DReferences()) {
result = Py_True;
}
return result;
}
PyObject* MeasurementPy::clear(PyObject *)
{
this->getMeasurementPtr()->clear();