Salome HOME
Fix for import/export features
[modules/shaper.git] / src / GeomDataAPI / GeomDataAPI_Point.h
index 245f9b0f80c65732e8647226c8297493a8f54d71..a940b62cbea33913db36ff33098a52b3ec202b1e 100644 (file)
@@ -21,18 +21,39 @@ class GeomDataAPI_Point : public ModelAPI_Attribute
 {
  public:
   /// Defines the double value
-  virtual void setValue(const double theX, const double theY, const double theZ) = 0;
+  GEOMDATAAPI_EXPORT virtual void setValue(const double theX, const double theY, const double theZ) = 0;
   /// Defines the point
-  virtual void setValue(const std::shared_ptr<GeomAPI_Pnt>& thePoint) = 0;
+  GEOMDATAAPI_EXPORT virtual void setValue(const std::shared_ptr<GeomAPI_Pnt>& thePoint) = 0;
 
   /// Returns the X double value
-  virtual double x() const = 0;
+  GEOMDATAAPI_EXPORT virtual double x() const = 0;
   /// Returns the Y double value
-  virtual double y() const = 0;
+  GEOMDATAAPI_EXPORT virtual double y() const = 0;
   /// Returns the Z double value
-  virtual double z() const = 0;
+  GEOMDATAAPI_EXPORT virtual double z() const = 0;
   /// Returns the 3D point
-  virtual std::shared_ptr<GeomAPI_Pnt> pnt() = 0;
+  GEOMDATAAPI_EXPORT virtual std::shared_ptr<GeomAPI_Pnt> pnt() = 0;
+
+  /// Defines the double values
+  GEOMDATAAPI_EXPORT virtual void setText(const std::string& theX,
+                                          const std::string& theY,
+                                          const std::string& theZ) = 0;
+
+  /// Returns the double values
+  GEOMDATAAPI_EXPORT virtual std::string textX() = 0;
+  GEOMDATAAPI_EXPORT virtual std::string textY() = 0;
+  GEOMDATAAPI_EXPORT virtual std::string textZ() = 0;
+
+  enum PointComponent { C_X = 0,
+                        C_Y = 1,
+                        C_Z = 2,
+  };
+
+  /// Allows to set expression (text) as invalid (by the parameters listener)
+  GEOMDATAAPI_EXPORT virtual void setExpressionInvalid(int theComponent, const bool theFlag) = 0;
+
+  /// Returns true if text is invalid
+  GEOMDATAAPI_EXPORT virtual bool expressionInvalid(int theComponent) = 0;
 
   /// Returns the type of this class of attributes
   static std::string typeId()
@@ -49,4 +70,7 @@ class GeomDataAPI_Point : public ModelAPI_Attribute
   GEOMDATAAPI_EXPORT virtual ~GeomDataAPI_Point();
 };
 
+//! Pointer on attribute object
+typedef std::shared_ptr<GeomDataAPI_Point> AttributePointPtr;
+
 #endif