Version: 6.3.1

src/VISU_I/VISU_CutLinesBase_i.hh

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 //  File   : VISU_CutLinesBase_i.hh
00021 //  Author : Oleg UVAROV
00022 //  Module : VISU
00023 //
00024 #ifndef VISU_CutLinesBase_i_HeaderFile
00025 #define VISU_CutLinesBase_i_HeaderFile
00026 
00027 #include "VISU_I.hxx"
00028 #include "VISU_ScalarMap_i.hh"
00029 
00030 class VISU_CutLinesBasePL;
00031 
00032 namespace VISU
00033 {
00034   //----------------------------------------------------------------------------
00035   class VISU_I_EXPORT CutLinesBase_i : public virtual POA_VISU::CutLinesBase,
00036                            public virtual ScalarMap_i
00037   {
00038     CutLinesBase_i(const CutLinesBase_i&);
00039 
00040   public:
00041     //----------------------------------------------------------------------------
00042     typedef ScalarMap_i TSuperClass;
00043     typedef VISU::CutLinesBase TInterface;
00044 
00045     explicit
00046     CutLinesBase_i(EPublishInStudyMode thePublishInStudyModep);
00047 
00048     virtual
00049     ~CutLinesBase_i();
00050 
00051     virtual
00052     VISU_Actor*
00053     CreateActor();
00054 
00055     virtual 
00056     void 
00057     SetNbLines(CORBA::Long theNb);
00058 
00059     virtual
00060     CORBA::Long
00061     GetNbLines();
00062 
00063     virtual
00064     void
00065     SetAllCurvesInverted(CORBA::Boolean theInvert);
00066 
00067     virtual
00068     CORBA::Boolean
00069     IsAllCurvesInverted();
00070 
00071     virtual
00072     void
00073     SetCurveInverted(CORBA::Long theCurveNumber,
00074                CORBA::Boolean theInvert);
00075 
00076     virtual
00077     CORBA::Boolean
00078     IsCurveInverted(CORBA::Long theCurveNumber);
00079 
00080     virtual
00081     void
00082     SetUseAbsoluteLength(CORBA::Boolean theAbsLength);
00083 
00084     virtual
00085     CORBA::Boolean 
00086     IsUseAbsoluteLength();
00087 
00088     typedef std::map<int,bool> TCurvesInv;
00089     TCurvesInv
00090     GetCurvesInverted() 
00091     {
00092       return myMapCurvesInverted;
00093     }
00094 
00095     void
00096     CopyCurvesInverted(const TCurvesInv& theCurves);
00097 
00098     VISU_CutLinesBasePL* 
00099     GetSpecificPL() const
00100     { 
00101       return myCutLinesBasePL; 
00102     }
00103     
00104   protected:
00106     virtual 
00107     void
00108     CreatePipeLine(VISU_PipeLine* thePipeLine);
00109 
00110     VISU_CutLinesBasePL *myCutLinesBasePL;
00111     TCurvesInv myMapCurvesInverted;
00112     CORBA::Boolean myUseAbsLength;
00113 
00114   public:
00116     virtual 
00117     Storable* 
00118     Create(const std::string& theMeshName, 
00119         VISU::Entity theEntity,
00120         const std::string& theFieldName, 
00121         CORBA::Long theTimeStampNumber);
00122 
00124     virtual 
00125     void
00126     ToStream(std::ostringstream& theStr);
00127 
00129     virtual
00130     Storable* 
00131     Restore(SALOMEDS::SObject_ptr theSObject,
00132          const Storable::TRestoringMap& theMap);
00133 
00134     virtual 
00135     void
00136     SameAs(const Prs3d_i* theOrigin);
00137 
00138     void BuildTableOfReal(SALOMEDS::SObject_var theSObject,
00139                           bool theIsCutSegment = false);
00140   };
00141 }
00142 
00143 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS