X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM%2FGEOM_BaseDriver.hxx;h=0b04bab256041cdd10a725ea271cc0f6204f9b2d;hb=bbafce4b04731f9219f75dc124ec2429d994c202;hp=045b7509e94b97687c494ae639b03d58aec35934;hpb=37873fd2a1c82842e51d5c74d51da5ebb78ad99d;p=modules%2Fgeom.git diff --git a/src/GEOM/GEOM_BaseDriver.hxx b/src/GEOM/GEOM_BaseDriver.hxx index 045b7509e..0b04bab25 100644 --- a/src/GEOM/GEOM_BaseDriver.hxx +++ b/src/GEOM/GEOM_BaseDriver.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // 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. +// 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 @@ -27,47 +27,48 @@ #ifndef __GEOM_BaseDriver_HXX__ #define __GEOM_BaseDriver_HXX__ +#include "GEOM_Function.hxx" + #include +#include #include #include +#include +#include #include #include #include -class Handle(GEOM_Function); -class Handle(TColStd_HSequenceOfTransient); -class Handle(TColStd_HArray1OfInteger); - struct GEOM_Param { std::string name; std::string value; - void Set(const char* nm) { name = nm; } + Standard_EXPORT void Set(const char* nm) { name = nm; } template - void Set(const char* nm, const T& value) { name = nm; (*this)< GEOM_Param & operator<<( const T &anything ) + template Standard_EXPORT GEOM_Param & operator<<( const T &anything ) { std::ostringstream str; str << anything; value += str.str() ; return *this ; } - GEOM_Param & operator<<( const Handle(GEOM_Function)& fun ); - GEOM_Param & operator<<( const Handle(Standard_Transient)& fun ); - GEOM_Param & operator<<( const Handle(TColStd_HSequenceOfTransient)& funs ); - GEOM_Param & operator<<( const Handle(TColStd_HArray1OfInteger)& vals ); - GEOM_Param & operator<<( TopAbs_ShapeEnum type ); - GEOM_Param & operator<<( TopAbs_State state ); + Standard_EXPORT GEOM_Param & operator<<( const Handle(GEOM_Function)& fun ); + Standard_EXPORT GEOM_Param & operator<<( const Handle(Standard_Transient)& fun ); + Standard_EXPORT GEOM_Param & operator<<( const Handle(TColStd_HSequenceOfTransient)& funs ); + Standard_EXPORT GEOM_Param & operator<<( const Handle(TColStd_HArray1OfInteger)& vals ); + Standard_EXPORT GEOM_Param & operator<<( TopAbs_ShapeEnum type ); + Standard_EXPORT GEOM_Param & operator<<( TopAbs_State state ); }; class GEOM_BaseDriver : public TFunction_Driver { public: - + // Returns a name of creation operation and names and values of creation parameters // (Use AddParam() methods declared below to fill params vector while implementing // this method in derived drivers) @@ -77,15 +78,16 @@ public: // Adds GEOM_Param to params and sets its name // This method is safer than resizing the params vector and accessing to its items - GEOM_Param& AddParam(std::vector& params, - const char* name); + Standard_EXPORT GEOM_Param& AddParam(std::vector& params, + const char* name); // Adds GEOM_Param to params vector and sets its name and value // This method is safer than resizing the params vector and accessing to its items - template GEOM_Param& AddParam(std::vector& params, - const char* name, - const T& value, - const char* dfltValue = 0) + template + Standard_EXPORT GEOM_Param& AddParam(std::vector& params, + const char* name, + const T& value, + const char* dfltValue = 0) { GEOM_Param p; p.Set( name, value ); @@ -95,9 +97,9 @@ public: return params.back(); } - DEFINE_STANDARD_RTTI (GEOM_BaseDriver) + DEFINE_STANDARD_RTTIEXT(GEOM_BaseDriver,TFunction_Driver) }; -DEFINE_STANDARD_HANDLE (GEOM_BaseDriver,TFunction_Driver); +DEFINE_STANDARD_HANDLE (GEOM_BaseDriver,TFunction_Driver) #endif