myIsInitialized = false;
}
+void GeomData_Point2D::reinit()
+{
+ myIsInitialized = true;
+ for (int aComponent = 0; aComponent < NUM_COMPONENTS; ++aComponent) {
+ myExpression[aComponent]->reinit();
+ myIsInitialized = myIsInitialized && myExpression[aComponent]->isInitialized();
+ }
+}
+
+void GeomData_Point2D::reset()
+{
+ myIsInitialized = false;
+ for(int aComponent = 0; aComponent < NUM_COMPONENTS; ++aComponent) {
+ myExpression[aComponent]->reset();
+ }
+}
+
void GeomData_Point2D::setCalculatedValue(const double theX, const double theY)
{
if (!myIsInitialized || x() != theX || y() != theY) {
void GeomData_Point2D::setText(const std::string& theX,
const std::string& theY)
{
+ if (!myIsInitialized && theX.empty() && theY.empty())
+ return; // empty strings are not good initializers
if (!myIsInitialized || textX() != theX || textY() != theY) {
myExpression[0]->setText(theX);
myExpression[1]->setText(theY);
return myExpression[theComponent]->error();
}
-void GeomData_Point2D::setUsedParameters(int theComponent, const std::set<std::string>& theUsedParameters)
+void GeomData_Point2D::setUsedParameters(int theComponent,
+ const std::set<std::string>& theUsedParameters)
{
assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
myExpression[theComponent]->setUsedParameters(theUsedParameters);