1 // VISU OBJECT : interactive object for VISU entities implementation
3 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
29 #ifndef VISU_GaussPtsSettings_HeaderFile
30 #define VISU_GaussPtsSettings_HeaderFile
32 #include <vtkObject.h>
33 #include <vtkCommand.h>
38 //============================================================================
41 const vtkIdType UpdateFromSettingsEvent = vtkCommand::UserEvent + 100;
42 const vtkIdType UpdateInsideSettingsEvent = vtkCommand::UserEvent + 101;
43 const vtkIdType UpdateOutsideSettingsEvent = vtkCommand::UserEvent + 102;
44 const vtkIdType UpdatePickingSettingsEvent = vtkCommand::UserEvent + 103;
48 //! Base class of Gauss Points settings.
49 class VISU_GaussPtsSettings : public vtkObject
52 vtkTypeMacro( VISU_GaussPtsSettings, vtkObject );
54 VISU_GaussPtsSettings();
55 virtual ~VISU_GaussPtsSettings();
58 VISU_GaussPtsSettings*
61 vtkSetMacro( Initial, bool );
62 vtkGetMacro( Initial, bool );
64 vtkSetMacro( PrimitiveType, int );
65 vtkGetMacro( PrimitiveType, int );
67 vtkSetMacro( Clamp, float );
68 vtkGetMacro( Clamp, float );
70 vtkSetMacro( Texture, vtkImageData* );
71 vtkGetMacro( Texture, vtkImageData* );
73 vtkSetMacro( AlphaThreshold, float );
74 vtkGetMacro( AlphaThreshold, float );
76 vtkSetMacro( Resolution, int );
77 vtkGetMacro( Resolution, int );
79 vtkSetMacro( Magnification, float );
80 vtkGetMacro( Magnification, float );
82 vtkSetMacro( Increment, float );
83 vtkGetMacro( Increment, float );
90 vtkImageData* Texture;
98 //! Class of Inside Cursor Gauss Points settings.
100 * Contains information about the point sprite parameters:
101 * Clamp, Texture, Alpha threshold, Const size and Color.
102 * Used by Gauss Points Actor.
104 class VISU_InsideCursorSettings : public VISU_GaussPtsSettings
107 vtkTypeMacro( VISU_InsideCursorSettings, vtkObject );
109 VISU_InsideCursorSettings();
110 virtual ~VISU_InsideCursorSettings();
113 VISU_InsideCursorSettings*
116 vtkSetMacro( MinSize, float );
117 vtkGetMacro( MinSize, float );
119 vtkSetMacro( MaxSize, float );
120 vtkGetMacro( MaxSize, float );
128 //============================================================================
129 //! Class of Outside Cursor Gauss Points settings.
131 * Contains information about the point sprite parameters:
132 * Clamp, Texture, Alpha threshold, Const size and Color.
133 * Used by Gauss Points Actor.
135 class VISU_OutsideCursorSettings : public VISU_GaussPtsSettings
138 vtkTypeMacro( VISU_OutsideCursorSettings, vtkObject );
140 VISU_OutsideCursorSettings();
141 virtual ~VISU_OutsideCursorSettings();
144 VISU_OutsideCursorSettings*
147 vtkSetMacro( Size, float );
148 vtkGetMacro( Size, float );
150 vtkSetMacro( Uniform, bool );
151 vtkGetMacro( Uniform, bool );
153 vtkSetVector3Macro( Color, float );
154 vtkGetVector3Macro( Color, float );
163 //! Class of Picking settings.
165 * Contains information about the following parameters:
166 * Cursor Pyramid height, Info Window transparency,
167 * Info Window position, Zoom factor on first selected point,
168 * Camera movement steps number and Display parent mesh.
169 * Used by Gauss Points Actor.
171 class VISU_PickingSettings : public vtkObject
174 enum { BelowPoint = 0, TopLeftCorner };
177 vtkTypeMacro( VISU_PickingSettings, vtkObject );
179 VISU_PickingSettings();
180 virtual ~VISU_PickingSettings();
183 VISU_PickingSettings*
186 vtkSetMacro( Initial, bool );
187 vtkGetMacro( Initial, bool );
189 vtkSetMacro( PyramidHeight, float );
190 vtkGetMacro( PyramidHeight, float );
192 vtkSetMacro( CursorSize, float );
193 vtkGetMacro( CursorSize, float );
195 vtkSetVector3Macro( Color, float );
196 vtkGetVector3Macro( Color, float );
198 vtkSetMacro( PointTolerance, float );
199 vtkGetMacro( PointTolerance, float );
201 vtkSetMacro( InfoWindowTransparency, float );
202 vtkGetMacro( InfoWindowTransparency, float );
204 vtkSetMacro( InfoWindowPosition, int );
205 vtkGetMacro( InfoWindowPosition, int );
207 vtkSetMacro( ZoomFactor, float );
208 vtkGetMacro( ZoomFactor, float );
210 vtkSetMacro( StepNumber, int );
211 vtkGetMacro( StepNumber, int );
213 vtkSetMacro( DisplayParentMesh, bool );
214 vtkGetMacro( DisplayParentMesh, bool );
221 float PointTolerance;
223 float InfoWindowTransparency;
224 int InfoWindowPosition;
227 bool DisplayParentMesh;