+
+void GeomData_Point::setTextY(const std::wstring& theY)
+{
+ if (!myIsInitialized) {
+ static const std::wstring aDefaultText = L"0";
+ setText(aDefaultText, theY, aDefaultText);
+ }
+ else if (textY() != theY) {
+ myExpression[1]->setText(theY);
+ // Send it to evaluator to convert into the double and store in the attribute
+ ModelAPI_AttributeEvalMessage::send(owner()->data()->attribute(id()), this);
+ owner()->data()->sendAttributeUpdated(this);
+ }
+}
+
+void GeomData_Point::setTextZ(const std::wstring& theZ)
+{
+ if (!myIsInitialized) {
+ static const std::wstring aDefaultText = L"0";
+ setText(aDefaultText, aDefaultText, theZ);
+ }
+ else if (textZ() != theZ) {
+ myExpression[2]->setText(theZ);
+ // Send it to evaluator to convert into the double and store in the attribute
+ ModelAPI_AttributeEvalMessage::send(owner()->data()->attribute(id()), this);
+ owner()->data()->sendAttributeUpdated(this);
+ }
+}
+
+std::wstring GeomData_Point::textX()
+{
+ return myExpression[0]->text();
+}
+std::wstring GeomData_Point::textY()
+{
+ return myExpression[1]->text();
+}
+std::wstring GeomData_Point::textZ()
+{
+ return myExpression[2]->text();
+}
+
+void GeomData_Point::setExpressionInvalid(int theComponent, bool theFlag)
+{
+ assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
+ if (!myIsInitialized || expressionInvalid(theComponent) != theFlag)
+ myExpression[theComponent]->setInvalid(theFlag);
+}
+
+bool GeomData_Point::expressionInvalid(int theComponent)
+{
+ assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
+ return myExpression[theComponent]->isInvalid();
+}
+
+void GeomData_Point::setExpressionError(int theComponent, const std::string& theError)
+{
+ assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
+ if (expressionError(theComponent) != theError)
+ myExpression[theComponent]->setError(theError);
+}
+
+std::string GeomData_Point::expressionError(int theComponent)
+{
+ assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
+ return myExpression[theComponent]->error();
+}
+
+void GeomData_Point::setUsedParameters(int theComponent,
+ const std::set<std::wstring>& theUsedParameters)
+{
+ assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
+ myExpression[theComponent]->setUsedParameters(theUsedParameters);
+}
+
+std::set<std::wstring> GeomData_Point::usedParameters(int theComponent) const
+{
+ assert(theComponent >= 0 && theComponent < NUM_COMPONENTS);
+ return myExpression[theComponent]->usedParameters();
+}