-// VISU OBJECT : interactive object for VISU entities implementation
+// Copyright (C) 2007-2008 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
+//
+// 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.
//
-// 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
+// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+// VISU OBJECT : interactive object for VISU entities implementation
// File : VISU_PrsObject_i.hxx
// Author : Alexey PETROV
// Module : VISU
-
+//
#ifndef VISU_IsoSurfaces_i_HeaderFile
#define VISU_IsoSurfaces_i_HeaderFile
-#include "VISU_ScalarMap_i.hh"
+#include "VISU_I.hxx"
+//#include "VISU_ScalarMap_i.hh"
+#include "VISU_MonoColorPrs_i.hh"
class VISU_IsoSurfacesPL;
-namespace VISU{
- class IsoSurfaces_i : public virtual POA_VISU::IsoSurfaces,
- public virtual ScalarMap_i
+namespace VISU
+{
+ //----------------------------------------------------------------------------
+ class VISU_I_EXPORT IsoSurfaces_i : public virtual POA_VISU::IsoSurfaces,
+ public virtual MonoColorPrs_i
{
static int myNbPresent;
- IsoSurfaces_i();
IsoSurfaces_i(const IsoSurfaces_i&);
+
public:
- IsoSurfaces_i(Result_i* theResult, bool theAddToStudy = true);
- virtual void SameAs(const IsoSurfaces_i* theOrigin);
- virtual ~IsoSurfaces_i();
- virtual void Destroy();
+ //----------------------------------------------------------------------------
+ typedef MonoColorPrs_i TSuperClass;
+ typedef VISU::IsoSurfaces TInterface;
- virtual VISU::VISUType GetType() { return VISU::TISOSURFACE;};
+ explicit
+ IsoSurfaces_i(EPublishInStudyMode thePublishInStudyModep);
- virtual void SetNbSurfaces(CORBA::Long theNb);
- virtual CORBA::Long GetNbSurfaces();
+ virtual void SameAs(const Prs3d_i* theOrigin);
- virtual void SetSubRange(CORBA::Double theMin, CORBA::Double theMax);
- virtual CORBA::Double GetSubMin();
- virtual CORBA::Double GetSubMax();
+ virtual
+ ~IsoSurfaces_i();
- typedef VISU::IsoSurfaces TInterface;
- VISU_IsoSurfacesPL* GetIsoSurfacesPL(){ return myIsoSurfacesPL;}
+ virtual
+ VISU::VISUType
+ GetType()
+ {
+ return VISU::TISOSURFACES;
+ }
+
+ virtual
+ void
+ SetNbSurfaces(CORBA::Long theNb);
+
+ virtual
+ CORBA::Long
+ GetNbSurfaces();
+
+ virtual
+ void
+ SetSubRange(CORBA::Double theMin, CORBA::Double theMax);
+
+ virtual
+ CORBA::Double
+ GetSubMin();
+
+ virtual
+ CORBA::Double
+ GetSubMax();
+
+ VISU_IsoSurfacesPL*
+ GetSpecificPL() const
+ {
+ return myIsoSurfacesPL;
+ }
+
+
+ virtual CORBA::Boolean IsLabeled();
+ virtual void ShowLabels(CORBA::Boolean theShow, CORBA::Long theNb);
+
+ virtual CORBA::Long GetNbLabels();
+
protected:
- virtual void DoHook();
+ //! Redefines VISU_ColoredPrs3d_i::CreatePipeLine
+ virtual
+ void
+ CreatePipeLine(VISU_PipeLine* thePipeLine);
+
+ //! Redefines VISU_ScalarMap_i::DoSetInput
+ virtual
+ void
+ DoSetInput(bool theIsInitilizePipe, bool theReInit);
+
+ //! Redefines VISU_ScalarMap_i::CheckIsPossible
+ virtual
+ bool
+ CheckIsPossible();
+
VISU_IsoSurfacesPL* myIsoSurfacesPL;
+ bool myIsLabeled;
+ CORBA::Long myNbLabels;
+
public:
- static int IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity,
- const char* theFieldName, int theIteration);
- virtual Storable* Create(const char* theMeshName, VISU::Entity theEntity,
- const char* theFieldName, int theIteration);
+ static
+ size_t
+ IsPossible(Result_i* theResult,
+ const std::string& theMeshName,
+ VISU::Entity theEntity,
+ const std::string& theFieldName,
+ CORBA::Long theTimeStampNumber,
+ bool theIsMemoryCheck);
+
+ virtual
+ Storable*
+ Create(const std::string& theMeshName,
+ VISU::Entity theEntity,
+ const std::string& theFieldName,
+ CORBA::Long theTimeStampNumber);
+
+ static const std::string myComment;
+
+ virtual
+ const char*
+ GetComment() const;
+
+ virtual
+ QString
+ GenerateName();
+
+ virtual
+ const char*
+ GetIconName();
- static const string myComment;
- virtual const char* GetComment() const;
- virtual QString GenerateName();
+ virtual
+ void
+ ToStream(std::ostringstream& theStr);
- virtual void ToStream(std::ostringstream& theStr);
+ virtual
+ Storable*
+ Restore(SALOMEDS::SObject_ptr theSObject,
+ const Storable::TRestoringMap& theMap);
- virtual Storable* Restore(const Storable::TRestoringMap& theMap)
- throw(std::logic_error&);
- static Storable* Restore(SALOMEDS::SObject_ptr theSObject,
- const string& thePrefix, const Storable::TRestoringMap& theMap)
- throw(std::logic_error&);
+ virtual
+ VISU_Actor*
+ CreateActor();
+
+ virtual
+ void
+ SetMapScale(double theMapScale = 1.0);
- virtual void SetMapScale(double theMapScale = 1.0);
+ virtual void UpdateActor(VISU_ActorBase* theActor);
+
};
}