+std::shared_ptr<GeomAPI_Pnt2d> GeomData_Point2D::pnt()
+{
+ std::shared_ptr<GeomAPI_Pnt2d> aResult(
+ new GeomAPI_Pnt2d(myCoords->Value(0), myCoords->Value(1)));
+ return aResult;
+}
+
+void GeomData_Point2D::setText(const std::string& theX,
+ const std::string& theY)
+{
+ TCollection_ExtendedString aX(theX.c_str());
+ TCollection_ExtendedString aY(theY.c_str());
+
+ if (!myIsInitialized ||
+ myTextArray->Value(0) != aX ||
+ myTextArray->Value(1) != aY) {
+ myTextArray->SetValue(0, aX);
+ myTextArray->SetValue(1, aY);
+ owner()->data()->sendAttributeUpdated(this);
+ // Send it to evaluator to convert into the double and store in the attribute
+ ModelAPI_AttributeEvalMessage::send(owner()->data()->attribute(id()), this);
+ }
+}
+
+std::string GeomData_Point2D::textX()
+{
+ return TCollection_AsciiString(myTextArray->Value(0)).ToCString();;
+}
+std::string GeomData_Point2D::textY()
+{
+ return TCollection_AsciiString(myTextArray->Value(1)).ToCString();;
+}
+
+void GeomData_Point2D::setExpressionInvalid(int theComponent, bool theFlag)
+{
+ if (!myIsInitialized || myExpressionInvalidArray->Value(theComponent) != theFlag) {
+ myExpressionInvalidArray->SetValue(theComponent, theFlag);
+ }
+}
+
+bool GeomData_Point2D::expressionInvalid(int theComponent)
+{
+ return myExpressionInvalidArray->Value(theComponent);
+}
+