-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 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.
+// 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
#include "HYDROData.h"
+#ifdef WIN32
+ #pragma warning ( disable: 4251 )
+#endif
+
+#ifndef LIGHT_MODE
#include <GEOM_Client.hxx>
+#ifdef WIN32
+ #pragma warning ( default: 4251 )
+#endif
+
class TopoDS_Shape;
class QString;
* \return the default name
*/
static QString GetFreeName( SALOMEDS::Study_ptr theStudy, const QString& theBaseName );
+
+ /**
+ * Publish the given shape in GEOM as a GEOM object.
+ * \param theGeomEngine GEOM module engine
+ * \param theStudy SALOMEDS study, used for publishing of the shape
+ * \param theShape the shape to publish as a GEOM object
+ * \param theName the name of the published object
+ * \param theGeomObjEntry the entry of the published object
+ * \return the published GEOM object
+ */
+ static GEOM::GEOM_Object_ptr publishShapeInGEOM( GEOM::GEOM_Gen_var theGeomEngine,
+ SALOMEDS::Study_ptr theStudy,
+ const TopoDS_Shape& theShape,
+ const QString& theName,
+ QString& theGeomObjEntry );
+
+ /**
+ * Create and publish face in GEOM as a GEOM object.
+ * \param theGeomEngine GEOM module engine
+ * \param theStudy SALOMEDS study, used for publishing of the face
+ * \param theWidth the face width
+ * \param theHeight the face height
+ * \param theName the name of the published face
+ * \param theFaceEntry the entry of the published face
+ * \return the published GEOM object
+ */
+ static GEOM::GEOM_Object_ptr createFaceInGEOM( GEOM::GEOM_Gen_var theGeomEngine,
+ SALOMEDS::Study_ptr theStudy,
+ const int theWidth,
+ const int theHeight,
+ const QString& theName,
+ QString& theFaceEntry );
+
+ /**
+ * Publish the given GEOM object in the study.
+ * \param theGeomEngine GEOM module engine
+ * \param theStudy SALOMEDS study, used for publishing of the object
+ * \param theGeomObj the GEOM object
+ * \param theName the object name
+ * \return the entry of the published object (empty string in case of fail)
+ */
+ static QString publishGEOMObject( GEOM::GEOM_Gen_var theGeomEngine,
+ SALOMEDS::Study_ptr theStudy,
+ GEOM::GEOM_Object_ptr theGeomObj,
+ const QString& theName );
+
};
#endif
+#endif
+