X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FVISU_I%2FVISU_Result_i.hh;h=94f03b7430e79565515b421e07ff576c720fea45;hb=f5a1d01f30cfa26aac12f63fce2d074628039240;hp=9edaca125ccf5fd124acfa3dd245e84d16431abe;hpb=cafa7b43bd370e22789fd5fb37af62caf1705fe5;p=modules%2Fvisu.git diff --git a/src/VISU_I/VISU_Result_i.hh b/src/VISU_I/VISU_Result_i.hh index 9edaca12..94f03b74 100644 --- a/src/VISU_I/VISU_Result_i.hh +++ b/src/VISU_I/VISU_Result_i.hh @@ -1,5 +1,23 @@ -// Copyright (C) 2003 CEA/DEN, EDF R&D +// VISU OBJECT : interactive object for VISU entities implementation // +// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// 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. +// +// 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org // // // File : VISU_Result_i.hh @@ -10,64 +28,89 @@ #define __VISU_RESULT_I_H__ #include "VISUConfig.hh" +#include "SALOME_GenericObj_i.hh" -class vtkUnstructuredGridReader; -class vtkUnstructuredGrid; class VISU_Convertor; -class FieldInfo; -class QAD_Study; namespace VISU{ class Result_i : public virtual POA_VISU::Result, - public virtual Storable + public virtual Storable, + public virtual SALOME::GenericObj_i { Result_i(); Result_i(const Result_i &); + public: - Result_i(SALOMEDS::Study_ptr theStudy); + enum ESourceId {eRestoredComponent = -2, eRestoredFile = -1, eFile = 1, eComponent = 2}; + enum ECreationId {eImportFile, eCopyAndImportFile, eImportMed, eImportMedField}; + + Result_i(SALOMEDS::Study_ptr theStudy, + const ESourceId& theSourceId, + const ECreationId& theCreationId); + virtual ~Result_i(); + virtual void RemoveFromStudy(); - virtual VISU::VISUType GetType() { return VISU::TRESULT;}; + virtual VISU::VISUType GetType() { return VISU::TRESULT;} + virtual CORBA::Boolean BuildAll(); + + typedef VISU_Convertor TInput; - typedef VISU_Convertor InputType; - typedef vtkUnstructuredGridReader OutputType; private: - InputType *myInput; - string myName; + ESourceId mySourceId; + ECreationId myCreationId; + + TInput *myInput; + CORBA::Boolean myIsDone; + std::string myName, myInitFileName; QFileInfo myFileInfo; - int myIsRestored; + protected: - virtual Storable* Build(); + virtual Storable* Build(SALOMEDS::SObject_ptr theSObject = SALOMEDS::SObject::_nil()) ; + public: + virtual int IsPossible(); + virtual Storable* Create(const char* theFileName); virtual Storable* Create(SALOMEDS::SObject_ptr theMedSObject); virtual Storable* Create(SALOME_MED::FIELD_ptr theField); + virtual Storable* Restore(SALOMEDS::SObject_ptr theSObject, - const string& thePrefix, const Storable::TRestoringMap& theMap) - throw(std::logic_error&); + const Storable::TRestoringMap& theMap, + const std::string& thePrefix); + + static Storable* Restore(SALOMEDS::SObject_ptr theSObject, + const std::string& thePrefix, + const Storable::TRestoringMap& theMap); + virtual void ToStream(std::ostringstream& theStr); virtual const char* GetComment() const; - static const string myComment; - InputType* GetInput() { return myInput;} - const char* GetName() const { return myName.c_str();} + static const std::string myComment; + TInput* GetInput(); + + const std::string& GetName() const { return myName;} const QFileInfo& GetFileInfo() const { return myFileInfo;} - int IsRestored() const { return myIsRestored;} + const std::string& GetFileName() const { return myInitFileName;} + const ECreationId& GetCreationId() const { return myCreationId;} + private: SALOMEDS::SObject_var mySObject; SALOMEDS::Study_var myStudyDocument; SALOMEDS::SComponent_var mySComponent; + public: - string GetRefFatherEntry(); - string GetEntry(); + std::string GetRefFatherEntry(); + std::string GetEntry(); const SALOMEDS::SObject_var& GetSObject() const; const SALOMEDS::Study_var& GetStudyDocument() const; const SALOMEDS::SComponent_var& GetSComponent() const; + std::string GetEntry(const std::string& theComment); + }; - Storable* ResultRestore(SALOMEDS::SObject_ptr theSObject, - const string& thePrefix, const Storable::TRestoringMap& theMap) - throw(std::logic_error&); + Result_var FindResult(SALOMEDS::SObject_ptr theSObject); - QString GenerateName(const string& theFmt, int theId); - void WriteToFile(vtkUnstructuredGrid* theDataSet, const string& theFileName); + void RemoveFromStudy(SALOMEDS::SObject_ptr theSObject, int theIsAttrOnly = true); } + + #endif