Version: 6.3.1

src/VISU_I/VISU_CutSegment_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_CutSegment_i.hh
00021 //  Author : Oleg UVAROV
00022 //  Module : VISU
00023 //
00024 #ifndef VISU_CutSegment_i_HeaderFile
00025 #define VISU_CutSegment_i_HeaderFile
00026 
00027 #include "VISU_I.hxx"
00028 #include "VISU_CutLinesBase_i.hh"
00029 
00030 class VISU_CutSegmentPL;
00031 
00032 namespace VISU
00033 {
00034   //----------------------------------------------------------------------------
00035   class VISU_I_EXPORT CutSegment_i : public virtual POA_VISU::CutSegment,
00036                                      public virtual CutLinesBase_i
00037   {
00038     static int myNbPresent;
00039     CutSegment_i(const CutSegment_i&);
00040 
00041   public:
00042     //----------------------------------------------------------------------------
00043     typedef CutLinesBase_i TSuperClass;
00044     typedef VISU::CutSegment TInterface;
00045 
00046     explicit
00047     CutSegment_i(EPublishInStudyMode thePublishInStudyModep);
00048 
00049     virtual
00050     ~CutSegment_i();
00051 
00052     virtual
00053     VISU::VISUType
00054     GetType() 
00055     {
00056       return VISU::TCUTSEGMENT;
00057     }
00058 
00059     virtual
00060     void
00061     SetPoint1(CORBA::Double theX,
00062            CORBA::Double theY,
00063            CORBA::Double theZ );
00064 
00065     virtual
00066     void
00067     GetPoint1(CORBA::Double& theX,
00068            CORBA::Double& theY,
00069            CORBA::Double& theZ );
00070 
00071     virtual
00072     void
00073     SetPoint2(CORBA::Double theX,
00074            CORBA::Double theY,
00075            CORBA::Double theZ );
00076 
00077     virtual
00078     void
00079     GetPoint2(CORBA::Double& theX,
00080            CORBA::Double& theY,
00081            CORBA::Double& theZ );
00082 
00083     VISU_CutSegmentPL* 
00084     GetSpecificPL() const
00085     { 
00086       return myCutSegmentPL; 
00087     }
00088     
00089   protected:
00091     virtual 
00092     void
00093     CreatePipeLine(VISU_PipeLine* thePipeLine);
00094 
00096     virtual 
00097     bool 
00098     CheckIsPossible();
00099 
00100     virtual 
00101     const char* 
00102     GetIconName();
00103 
00104     VISU_CutSegmentPL *myCutSegmentPL;
00105 
00106   public:
00108     static
00109     size_t
00110     IsPossible(Result_i* theResult, 
00111             const std::string& theMeshName, 
00112             VISU::Entity theEntity,
00113             const std::string& theFieldName, 
00114             CORBA::Long theTimeStampNumber,
00115             bool theIsMemoryCheck);
00116 
00118     virtual 
00119     Storable* 
00120     Create(const std::string& theMeshName, 
00121         VISU::Entity theEntity,
00122         const std::string& theFieldName, 
00123         CORBA::Long theTimeStampNumber);
00124 
00126     virtual 
00127     void
00128     ToStream(std::ostringstream& theStr);
00129 
00131     virtual
00132     Storable* 
00133     Restore(SALOMEDS::SObject_ptr theSObject,
00134          const Storable::TRestoringMap& theMap);
00135 
00136     virtual 
00137     void
00138     SameAs(const Prs3d_i* theOrigin);
00139 
00141     virtual 
00142     VISU_Actor* 
00143     CreateActor();
00144 
00145     static const std::string myComment;
00146 
00147     virtual
00148     const char* 
00149     GetComment() const;
00150 
00151     virtual
00152     QString 
00153     GenerateName();
00154   };
00155 }
00156 
00157 #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