Salome HOME
Copyright update 2022
[modules/shaper.git] / src / ModelHighAPI / ModelHighAPI_Double.h
index 59686dfa23f97789fb916a6882db8fff7cc9b16e..2c3aef0dd425eae363bea2489a98800684c57508 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef SRC_MODELHIGHAPI_MODELHIGHAPI_DOUBLE_H_
@@ -28,6 +27,7 @@
 #include <string>
 //--------------------------------------------------------------------------------------
 class ModelAPI_AttributeDouble;
+class GeomDataAPI_Point;
 //--------------------------------------------------------------------------------------
 /**\class ModelHighAPI_Double
  * \ingroup CPPHighAPI
@@ -41,10 +41,10 @@ public:
   ModelHighAPI_Double(double theValue = 0.);
   /// Constructor for std::string
   MODELHIGHAPI_EXPORT
-  ModelHighAPI_Double(const std::string & theValue);
+  ModelHighAPI_Double(const std::wstring & theValue);
   /// Constructor for char *
   MODELHIGHAPI_EXPORT
-  ModelHighAPI_Double(const char * theValue);
+  ModelHighAPI_Double(const wchar_t * theValue);
   /// Destructor
   MODELHIGHAPI_EXPORT
   virtual ~ModelHighAPI_Double();
@@ -53,10 +53,23 @@ public:
   MODELHIGHAPI_EXPORT
   virtual void fillAttribute(const std::shared_ptr<ModelAPI_AttributeDouble> & theAttribute) const;
 
+  /// Sets the zero-based coordinates of a point
+  MODELHIGHAPI_EXPORT virtual void fillAttribute(
+    const std::shared_ptr<GeomDataAPI_Point> & thePoint,
+    const ModelHighAPI_Double & theX,
+    const ModelHighAPI_Double & theY,
+    const ModelHighAPI_Double & theZ) const;
+
+  /// Value of the attribute
+  MODELHIGHAPI_EXPORT double value() const;
+
+  /// Returns a string representation of the value
+  MODELHIGHAPI_EXPORT virtual std::wstring string() const;
+
 private:
   enum VariantType { VT_DOUBLE, VT_STRING } myVariantType;
   double myDouble;
-  std::string myString;
+  std::wstring myString;
 };
 
 //--------------------------------------------------------------------------------------