X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModelHighAPI%2FModelHighAPI_Double.h;h=6861a7c0a3f55b9a5898acbc3ea61556841f541b;hb=95375993f1f35e4716475c0b0c8e265c082c875d;hp=f39e50445a0fa6ac484062e1cfd1839e29a33ec3;hpb=3c017ac8d69c8aa200126968fb870613220131c3;p=modules%2Fshaper.git diff --git a/src/ModelHighAPI/ModelHighAPI_Double.h b/src/ModelHighAPI/ModelHighAPI_Double.h index f39e50445..6861a7c0a 100644 --- a/src/ModelHighAPI/ModelHighAPI_Double.h +++ b/src/ModelHighAPI/ModelHighAPI_Double.h @@ -1,19 +1,33 @@ -// Name : ModelHighAPI_Double.h -// Purpose: +// Copyright (C) 2014-2019 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// 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 +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// History: -// 29/03/16 - Sergey POKHODENKO - Creation of the file #ifndef SRC_MODELHIGHAPI_MODELHIGHAPI_DOUBLE_H_ #define SRC_MODELHIGHAPI_MODELHIGHAPI_DOUBLE_H_ //-------------------------------------------------------------------------------------- +#include "ModelHighAPI.h" + #include #include - -#include //-------------------------------------------------------------------------------------- class ModelAPI_AttributeDouble; +class GeomDataAPI_Point; //-------------------------------------------------------------------------------------- /**\class ModelHighAPI_Double * \ingroup CPPHighAPI @@ -22,24 +36,36 @@ class ModelAPI_AttributeDouble; class ModelHighAPI_Double { public: - /// Default constructor - ModelHighAPI_Double(); /// Constructor for double - ModelHighAPI_Double(double theValue); + MODELHIGHAPI_EXPORT + ModelHighAPI_Double(double theValue = 0.); /// Constructor for std::string + MODELHIGHAPI_EXPORT ModelHighAPI_Double(const std::string & theValue); /// Constructor for char * + MODELHIGHAPI_EXPORT ModelHighAPI_Double(const char * theValue); /// Destructor + MODELHIGHAPI_EXPORT virtual ~ModelHighAPI_Double(); /// Fill attribute values - virtual void fillAttribute(std::shared_ptr & theAttribute) const; + MODELHIGHAPI_EXPORT + virtual void fillAttribute(const std::shared_ptr & theAttribute) const; + + /// Sets the zero-based coordinates of a point + MODELHIGHAPI_EXPORT virtual void fillAttribute( + const std::shared_ptr & thePoint, + const ModelHighAPI_Double & theX, + const ModelHighAPI_Double & theY, + const ModelHighAPI_Double & theZ) const; private: - boost::variant myValue; + enum VariantType { VT_DOUBLE, VT_STRING } myVariantType; + double myDouble; + std::string myString; }; //-------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------- -#endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_DOUBLE_H_ */ +#endif /* SRC_MODELHIGHAPI_MODELHIGHAPI_DOUBLE_H_ */