Version: 6.3.1

src/OBJECT/VISU_GaussPtsSettings.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   : 
00025 //  Author : 
00026 //  Module : VISU
00027 //  $Header: /home/server/cvs/VISU/VISU_SRC/src/OBJECT/VISU_GaussPtsSettings.h,v 1.6.16.1.8.1 2011-06-02 06:00:17 vsr Exp $
00028 //
00029 #ifndef VISU_GaussPtsSettings_HeaderFile
00030 #define VISU_GaussPtsSettings_HeaderFile
00031 
00032 #include "VISU_OBJECT.h"
00033 
00034 #include <vtkObject.h>
00035 #include <vtkCommand.h>
00036 
00037 #include "VTKViewer.h"
00038 
00039 class vtkImageData;
00040 
00041 #include "VISU_Actor.h"
00042 
00043 //============================================================================
00044 namespace VISU
00045 {
00046   const vtkIdType UpdateFromSettingsEvent        = vtkCommand::UserEvent + 100; 
00047   const vtkIdType UpdateInsideSettingsEvent      = vtkCommand::UserEvent + 101; 
00048   const vtkIdType UpdateOutsideSettingsEvent     = vtkCommand::UserEvent + 102; 
00049 }
00050 
00051 
00053 class VISU_OBJECT_EXPORT VISU_GaussPtsSettings : public vtkObject
00054 {
00055  public:
00056   vtkTypeMacro( VISU_GaussPtsSettings, vtkObject );
00057 
00058   VISU_GaussPtsSettings();
00059   virtual ~VISU_GaussPtsSettings();
00060 
00061   static
00062   VISU_GaussPtsSettings*
00063   New();
00064 
00065   vtkSetMacro( Initial, bool );
00066   vtkGetMacro( Initial, bool );
00067 
00068   vtkSetMacro( PrimitiveType, int );
00069   vtkGetMacro( PrimitiveType, int );
00070 
00071   vtkSetMacro( Clamp, vtkFloatingPointType );
00072   vtkGetMacro( Clamp, vtkFloatingPointType );
00073 
00074   vtkSetMacro( Texture, vtkImageData* );
00075   vtkGetMacro( Texture, vtkImageData* );
00076 
00077   vtkSetMacro( AlphaThreshold, vtkFloatingPointType );
00078   vtkGetMacro( AlphaThreshold, vtkFloatingPointType );
00079 
00080   vtkSetMacro( Resolution, int );
00081   vtkGetMacro( Resolution, int );
00082 
00083   vtkSetMacro( Magnification, vtkFloatingPointType );
00084   vtkGetMacro( Magnification, vtkFloatingPointType );
00085 
00086   vtkSetMacro( Increment, vtkFloatingPointType );
00087   vtkGetMacro( Increment, vtkFloatingPointType );
00088 
00089  protected:
00090   bool                Initial;
00091 
00092   int                 PrimitiveType;
00093   vtkFloatingPointType Clamp;
00094   vtkImageData*       Texture;
00095   vtkFloatingPointType AlphaThreshold;
00096   int                 Resolution;
00097   vtkFloatingPointType Magnification;
00098   vtkFloatingPointType Increment;
00099 };
00100 
00101 
00103 
00108 class VISU_OBJECT_EXPORT VISU_InsideCursorSettings : public VISU_GaussPtsSettings
00109 {
00110  public:
00111   vtkTypeMacro( VISU_InsideCursorSettings, vtkObject );
00112 
00113   VISU_InsideCursorSettings();
00114   virtual ~VISU_InsideCursorSettings();
00115 
00116   static
00117   VISU_InsideCursorSettings*
00118   New();
00119 
00120   vtkSetMacro( MinSize, vtkFloatingPointType );
00121   vtkGetMacro( MinSize, vtkFloatingPointType );
00122 
00123   vtkSetMacro( MaxSize, vtkFloatingPointType );
00124   vtkGetMacro( MaxSize, vtkFloatingPointType );
00125 
00126  protected:
00127   vtkFloatingPointType MinSize;
00128   vtkFloatingPointType MaxSize;
00129 };
00130 
00131 
00132 //============================================================================
00134 
00139 class VISU_OBJECT_EXPORT VISU_OutsideCursorSettings : public VISU_GaussPtsSettings
00140 {
00141  public:
00142   vtkTypeMacro( VISU_OutsideCursorSettings, vtkObject );
00143 
00144   VISU_OutsideCursorSettings();
00145   virtual ~VISU_OutsideCursorSettings();
00146 
00147   static
00148   VISU_OutsideCursorSettings*
00149   New();
00150 
00151   vtkSetMacro( Size, vtkFloatingPointType );
00152   vtkGetMacro( Size, vtkFloatingPointType );
00153 
00154   vtkSetMacro( Uniform, bool );
00155   vtkGetMacro( Uniform, bool );
00156 
00157   vtkSetVector3Macro( Color, vtkFloatingPointType );
00158   vtkGetVector3Macro( Color, vtkFloatingPointType );
00159 
00160  protected:
00161   vtkFloatingPointType Size;
00162   bool                Uniform;
00163   vtkFloatingPointType Color[3];
00164 };
00165 
00166 #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