1 // Copyright (C) 2011-2013 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 // L'ordre de description des fonctions est le meme dans tous les fichiers
21 // HOMARD_aaaa.idl, HOMARD_aaaa.hxx, HOMARD_aaaa.cxx, HOMARD_aaaa_i.hxx, HOMARD_aaaa_i.cxx :
22 // 1. Les generalites : Name, Delete, DumpPython, Dump, Restore
23 // 2. Les caracteristiques
24 // 3. Le lien avec les autres structures
26 // Quand les 2 fonctions Setxxx et Getxxx sont presentes, Setxxx est decrit en premier
29 #ifndef _HOMARD_Boundary_I_HXX_
30 #define _HOMARD_Boundary_I_HXX_
32 #include <SALOMEconfig.h>
33 #include CORBA_SERVER_HEADER(HOMARD_Gen)
34 #include CORBA_SERVER_HEADER(HOMARD_Boundary)
36 #include "HOMARD_i.hxx"
37 #include "SALOME_Component_i.hxx"
38 #include "SALOME_NamingService.hxx"
39 #include "Utils_CorbaException.hxx"
43 class HOMARD_Boundary;
45 class HOMARDENGINE_EXPORT HOMARD_Boundary_i:
46 public virtual Engines_Component_i,
47 public virtual POA_HOMARD::HOMARD_Boundary,
48 public virtual PortableServer::ServantBase
51 HOMARD_Boundary_i( CORBA::ORB_ptr orb, HOMARD::HOMARD_Gen_var gen_i );
54 virtual ~HOMARD_Boundary_i();
57 void SetName( const char* Name );
62 char* GetDumpPython();
64 std::string Dump() const;
65 bool Restore( const std::string& stream );
68 void SetType( CORBA::Long Type );
69 CORBA::Long GetType();
71 void SetMeshName( const char* MeshName );
74 void SetMeshFile( const char* MeshFile );
77 void SetCylinder( double Xcentre, double Ycentre, double ZCentre,
78 double Xaxe, double Yaxe, double Zaxe,
80 void SetSphere( double Xcentre, double Ycentre, double ZCentre,
82 void SetConeR( double Xcentre1, double Ycentre1, double Zcentre1, double Rayon1,
83 double Xcentre2, double Ycentre2, double Zcentre2, double Rayon2);
84 void SetConeA( double Xaxe, double Yaxe, double Zaxe, double Angle,
85 double Xcentre, double Ycentre, double ZCentre);
86 void SetTorus( double Xcentre, double Ycentre, double ZCentre,
87 double Xaxe, double Yaxe, double Zaxe,
88 double rayonRev, double rayonPri );
90 HOMARD::double_array* GetCoords();
92 void SetLimit( double Xincr, double Yincr, double Zincr);
93 HOMARD::double_array* GetLimit();
95 void AddGroup( const char* Group);
96 void SetGroups(const HOMARD::ListGroupType& ListGroup);
97 HOMARD::ListGroupType* GetGroups();
99 // Liens avec les autres structures
100 void SetCaseCreation( const char* NomCaseCreation );
101 char* GetCaseCreation();
105 ::HOMARD_Boundary* myHomardBoundary;
108 HOMARD::HOMARD_Gen_var _gen_i;