-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// // Copyright (C) 2011-2013 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
#include CORBA_SERVER_HEADER(HOMARD_Iteration)
#include CORBA_SERVER_HEADER(HOMARD_Zone)
#include CORBA_SERVER_HEADER(HOMARD_Boundary)
+#include CORBA_SERVER_HEADER(HOMARD_YACS)
#include CORBA_CLIENT_HEADER(SALOMEDS)
#include CORBA_CLIENT_HEADER(SALOMEDS_Attributes)
+#include "HOMARD_i.hxx"
#include "HOMARD_Gen.hxx"
#include "HomardDriver.hxx"
+#include "YACSDriver.hxx"
#include "SALOME_Component_i.hxx"
#include "SALOME_NamingService.hxx"
#include "Utils_CorbaException.hxx"
#include <string>
#include <map>
-class HOMARD_Gen_i:
+class HOMARDENGINE_EXPORT HOMARD_Gen_i:
public virtual Engines_Component_i,
public virtual POA_HOMARD::HOMARD_Gen
{
HOMARD::HOMARD_Boundary_ptr CreateBoundaryConeA (const char* nomBoundary,
CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis, CORBA::Double Angle,
CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre);
+ HOMARD::HOMARD_Boundary_ptr CreateBoundaryTorus (const char* nomBoundary,
+ CORBA::Double Xcentre, CORBA::Double Ycentre, CORBA::Double Zcentre,
+ CORBA::Double Xaxis, CORBA::Double Yaxis, CORBA::Double Zaxis,
+ CORBA::Double RayonRev, CORBA::Double RayonPri);
HOMARD::HOMARD_Cas_ptr CreateCase (const char* nomCas, const char* MeshName, const char* FileName);
HOMARD::HOMARD_Cas_ptr CreateCaseFromIteration (const char* nomCas, const char* DirNameStart);
HOMARD::HOMARD_Cas_ptr GetCase (const char* nomCas);
HOMARD::HOMARD_Hypothesis_ptr GetHypothesis (const char* nomHypothesis);
HOMARD::HOMARD_Iteration_ptr GetIteration (const char* nomIteration);
+ HOMARD::HOMARD_YACS_ptr GetYACS (const char* nomYACS);
HOMARD::HOMARD_Zone_ptr GetZone (const char* nomZone);
HOMARD::listeBoundarys* GetAllBoundarysName();
HOMARD::listeCases* GetAllCasesName();
HOMARD::listeHypotheses* GetAllHypothesesName();
HOMARD::listeIterations* GetAllIterationsName();
+ HOMARD::listeYACSs* GetAllYACSsName();
HOMARD::listeZones* GetAllZonesName();
void MeshInfo (const char* nomCas,
SALOMEDS::Study_ptr GetCurrentStudy();
void SetCurrentStudy(SALOMEDS::Study_ptr theStudy);
CORBA::Long GetCurrentStudyID();
+ void IsValidStudy();
// Liens entre structures
void InvalideBoundary(const char* nomBoundary);
void InvalideIter(const char* nomIter);
void InvalideIterOption(const char* nomIter, CORBA::Long Option);
void InvalideIterInfo(const char* nomIter);
+ void InvalideYACS(const char* nomYACS);
void InvalideZone(const char* nomZone);
CORBA::Long DeleteBoundary(const char* nomBoundary);
CORBA::Long DeleteHypo(const char* nomHypothesis);
CORBA::Long DeleteIteration(const char* nomIter, CORBA::Long Option);
CORBA::Long DeleteIterationOption(const char* nomIter, CORBA::Long Option1, CORBA::Long Option2);
+ CORBA::Long DeleteYACS(const char* nomYACS, CORBA::Long Option);
CORBA::Long DeleteZone(const char* nomZone);
void AssociateIterHypo(const char* nomIter, const char* nomHypothesis);
void DriverTexteBoundary(HOMARD::HOMARD_Cas_var myCase, HomardDriver* myDriver);
void DriverTexteFieldInterp(HOMARD::HOMARD_Iteration_var myIteration, HOMARD::HOMARD_Hypothesis_var myHypo, HomardDriver* myDriver);
- CORBA::Boolean VerifieDir(const char* nomDir);
+ char* VerifieDir(const char* nomDir);
- void PublishResultInSmesh(const char* NomFich, CORBA::Long Option);
- void DeleteResultInSmesh(const char* NomFich, const char* MeshName);
- void PublishFileUnderIteration(const char* NomIter, const char* NomFich,
- const char* Commentaire);
+ void PublishFileUnderIteration(const char* NomIter, const char* NomFich, const char* Commentaire);
+ void PublishFileUnderYACS(const char* NomYACS, const char* NomFich, const char* Commentaire);
void PublishBoundaryUnderCase(const char* CaseName, const char* BoundaryName);
+ void PublishCaseUnderYACS(const char* YACSName, const char* CaseName);
+ void PublishResultInSmesh(const char* NomFich, CORBA::Long Option);
+ void DeleteResultInSmesh(std::string NomFich, std::string MeshName);
+ void PublishMeshIterInSmesh(const char* NomIter);
+
+// YACS
+ HOMARD::HOMARD_YACS_ptr CreateYACSSchema (const char* YACSName, const char* nomCas, const char* ScriptFile, const char* DirName, const char* MeshFile);
+ CORBA::Long YACSWrite(const char* nomYACS);
+ CORBA::Long YACSWriteOnFile(const char* nomYACS, const char* XMLFile);
+ std::string YACSDriverTexteZone(HOMARD::HOMARD_Hypothesis_var myHypo, YACSDriver* myDriver);
+ std::string YACSDriverTexteBoundary(HOMARD::HOMARD_Cas_var myCase, YACSDriver* myDriver);
+
+// Preferences
+ void SetPreferences() ;
+ void SetLanguageShort(const char* LanguageShort);
+ char* GetLanguageShort();
+ void SetPublisMesh(CORBA::Long PublisMeshIN, CORBA::Long PublisMeshOUT);
+ CORBA::Long GetPublisMeshIN();
+ CORBA::Long GetPublisMeshOUT();
+ void SetYACSMaximum(CORBA::Long YACSMaxIter, CORBA::Long YACSMaxNode, CORBA::Long YACSMaxElem);
+ CORBA::Long GetYACSMaxIter();
+ CORBA::Long GetYACSMaxNode();
+ CORBA::Long GetYACSMaxElem();
- void IsValidStudy();
// ---------------------------------------------------------------
// next functions are inherited from SALOMEDS::Driver interface
private:
void addInStudy(SALOMEDS::Study_ptr theStudy);
+ SALOMEDS::SObject_ptr PublishBoundaryInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ HOMARD::HOMARD_Boundary_ptr theObject, const char* theName);
SALOMEDS::SObject_ptr PublishCaseInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Cas_ptr theObject, const char* theName);
-
SALOMEDS::SObject_ptr PublishHypotheseInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Hypothesis_ptr theObject, const char* theName);
-
+ SALOMEDS::SObject_ptr PublishYACSInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
+ HOMARD::HOMARD_YACS_ptr theObject, const char* theName);
SALOMEDS::SObject_ptr PublishZoneInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
HOMARD::HOMARD_Zone_ptr theObject, const char* theName);
- SALOMEDS::SObject_ptr PublishBoundaryInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::StudyBuilder_var aStudyBuilder,
- HOMARD::HOMARD_Boundary_ptr theObject, const char* theName);
virtual void PublishInStudyAttr(SALOMEDS::StudyBuilder_var aStudyBuilder,
SALOMEDS::SObject_var aResultSO,
- const char* theName, const char* value, const char* icone, const char* ior);
+ const char* theName, const char* comment, const char* icone, const char* ior);
-PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject);
+ PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject);
+ HOMARD::HOMARD_Boundary_ptr newBoundary();
HOMARD::HOMARD_Cas_ptr newCase();
HOMARD::HOMARD_Hypothesis_ptr newHypothesis();
HOMARD::HOMARD_Iteration_ptr newIteration();
+ HOMARD::HOMARD_YACS_ptr newYACS();
HOMARD::HOMARD_Zone_ptr newZone();
- HOMARD::HOMARD_Boundary_ptr newBoundary();
virtual Engines::TMPFile* DumpPython(CORBA::Object_ptr theStudy,
CORBA::Boolean& isValidScript);
virtual char* getVersion();
+ std::string GetStringInTexte( const std::string Texte, const std::string String, int option ) ;
private:
struct StudyContext
{
+ std::map<std::string, HOMARD::HOMARD_Boundary_var> _mesBoundarys;
std::map<std::string, HOMARD::HOMARD_Cas_var> _mesCas;
std::map<std::string, HOMARD::HOMARD_Hypothesis_var> _mesHypotheses;
std::map<std::string, HOMARD::HOMARD_Iteration_var> _mesIterations;
+ std::map<std::string, HOMARD::HOMARD_YACS_var> _mesYACSs;
std::map<std::string, HOMARD::HOMARD_Zone_var> _mesZones;
- std::map<std::string, HOMARD::HOMARD_Boundary_var> _mesBoundarys;
std::map<int, PortableServer::ServantBase*> _idmap;
};
typedef std::map<int, StudyContext> ContextMap;
ContextMap myContextMap;
SALOME_NamingService* _NS;
+ int _tag_gene ;
+ int _tag_boun ;
+ int _tag_hypo ;
+ int _tag_yacs ;
+ int _tag_zone ;
+
+// Preferences
+ std::string _Langue ;
+ std::string _LangueShort ;
+ int _PublisMeshIN ;
+ int _PublisMeshOUT ;
+ int _YACSMaxIter ;
+ int _YACSMaxNode ;
+ int _YACSMaxElem ;
+ ;
+
};
#endif