Version: 6.3.1

src/OBJECT/VISU_MeshAct.h

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  VISU OBJECT : interactive object for VISU entities implementation
00024 //  File   : VISU_MeshAct.h
00025 //  Author : Laurent CORNABE with the help of Nicolas REJNERI
00026 //  Module : VISU
00027 //  $Header: /home/server/cvs/VISU/VISU_SRC/src/OBJECT/VISU_MeshAct.h,v 1.9.2.2.6.1.8.2 2011-06-02 06:00:17 vsr Exp $
00028 //
00029 #ifndef VISU_MeshAct_HeaderFile
00030 #define VISU_MeshAct_HeaderFile
00031 
00032 #include "VISU_OBJECT.h"
00033 #include "VISU_DataSetActor.h"
00034 #include "SVTK_DeviceActor.h"
00035 
00036 
00037 class VISU_OBJECT_EXPORT VISU_MeshAct : public VISU_DataSetActor 
00038 {
00039  public:
00040   vtkTypeMacro(VISU_MeshAct,VISU_DataSetActor);
00041   static 
00042   VISU_MeshAct* 
00043   New();
00044 
00046   virtual
00047   void
00048   DeepCopy(VISU_Actor *theActor);
00049 
00051   virtual
00052   void
00053   SetTransform(VTKViewer_Transform* theTransform); 
00054 
00055   virtual
00056   vtkProperty* 
00057   GetSurfaceProperty(); 
00058 
00059   virtual
00060   vtkProperty* 
00061   GetEdgeProperty(); 
00062 
00063   virtual
00064   vtkProperty* 
00065   GetNodeProperty(); 
00066 
00067   virtual
00068   void
00069   SetOpacity(vtkFloatingPointType theValue);
00070 
00071   virtual
00072   vtkFloatingPointType
00073   GetOpacity();
00074 
00075   virtual
00076   void
00077   SetLineWidth(vtkFloatingPointType theLineWidth);
00078 
00079   virtual
00080   vtkFloatingPointType
00081   GetLineWidth();
00082 
00083   virtual
00084   void
00085   SetRepresentation(int theMode);
00086 
00087   virtual
00088   void
00089   SetShrinkable(bool theIsShrinkable);
00090 
00091   virtual
00092   void
00093   SetShrinkFactor(vtkFloatingPointType theFactor = 0.8); 
00094 
00095   virtual
00096   void
00097   SetShrink(); 
00098 
00099   virtual
00100   void
00101   UnShrink(); 
00102 
00103   virtual
00104   void
00105   SetFeatureEdgesAllowed(bool theIsFeatureEdgesAllowed);
00106 
00107   virtual
00108   void
00109   SetFeatureEdgesEnabled(bool theIsFeatureEdgesEnabled);
00110 
00111   virtual
00112   void
00113   SetFeatureEdgesAngle(vtkFloatingPointType theAngle = 30.0); 
00114 
00115   virtual
00116   void
00117   SetFeatureEdgesFlags(bool theIsFeatureEdges,
00118                        bool theIsBoundaryEdges,
00119                        bool theIsManifoldEdges,
00120                        bool theIsNonManifoldEdges);
00121 
00122   virtual
00123   void
00124   SetFeatureEdgesColoring(bool theIsColoring);
00125 
00127   virtual
00128   unsigned long int
00129   GetMemorySize();
00130  
00131   virtual
00132   int
00133   RenderOpaqueGeometry(vtkViewport *ren);
00134 
00135   virtual
00136   int
00137 #if (VTK_XVERSION < 0x050100)
00138   RenderTranslucentGeometry(vtkViewport *ren);
00139 #else
00140   RenderTranslucentPolygonalGeometry(vtkViewport *ren);
00141 
00142   virtual
00143   int
00144   HasTranslucentPolygonalGeometry();
00145 #endif
00146 
00147   virtual
00148   EQuadratic2DRepresentation GetQuadratic2DRepresentation() const;
00149   
00150   virtual void 
00151   SetQuadratic2DRepresentation( EQuadratic2DRepresentation theMode );
00152 
00153   virtual
00154   void
00155   SetMarkerStd( VTK::MarkerType, VTK::MarkerScale );
00156 
00157   virtual
00158   void
00159   SetMarkerTexture( int, VTK::MarkerTexture );
00160 
00161  protected:
00162   VISU_MeshAct();
00163   ~VISU_MeshAct();
00164 
00165   virtual 
00166   void
00167   SetMapperInput(vtkDataSet* theDataSet);
00168 
00169   SVTK_DeviceActor *mySurfaceActor;
00170   SVTK_DeviceActor *myEdgeActor;
00171   SVTK_DeviceActor *myNodeActor;
00172 };
00173 
00174 #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