]> SALOME platform Git repositories - modules/visu.git/blob - src/VVTK/VVTK_PrimitiveBox.h
Salome HOME
Join modifications from branch BR_DEBUG_3_2_0b1
[modules/visu.git] / src / VVTK / VVTK_PrimitiveBox.h
1 //  VISU VISUGUI : GUI of VISU component
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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.
10 //
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.
15 //
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
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //
23 //
24 //  File   : VVTK_PrimitiveBox.h
25 //  Author : Oleg UVAROV
26 //  Module : VISU
27
28 #ifndef VVTK_PRIMITIVEBOX_H
29 #define VVTK_PRIMITIVEBOX_H
30
31 #include <qgroupbox.h>
32
33 class QLabel;
34 class QLineEdit;
35 class QPushButton;
36 class QRadioButton;
37
38 class QtxDblSpinBox;
39 class QtxIntSpinBox;
40
41 class VVTK_PrimitiveBox : public QGroupBox
42 {
43   Q_OBJECT
44
45 public:
46   VVTK_PrimitiveBox( QWidget* );
47   ~VVTK_PrimitiveBox() {}
48
49 public:
50   int                      getPrimitiveType() const { return myPrimitiveType; }
51   void                     setPrimitiveType( int );
52
53   float                    getClamp() const;
54   void                     setClamp( float );
55   void                     setClampMaximum( float );
56
57   QString                  getMainTexture() const { return myMainTexture; }
58   void                     setMainTexture( const QString& );
59
60   QString                  getAlphaTexture() const { return myAlphaTexture; }
61   void                     setAlphaTexture( const QString& );
62
63   float                    getAlphaThreshold() const;
64   void                     setAlphaThreshold( float );
65
66   int                      getResolution() const;
67   void                     setResolution( int );
68
69   int                      getFaceNumber() const;
70   void                     setFaceNumber( int );
71
72   int                      getFaceLimit() const;
73   void                     setFaceLimit( int );
74
75 protected slots:
76   void                     onTogglePointSprite();
77   void                     onToggleOpenGLPoint();
78   void                     onToggleGeomSphere();
79
80   void                     onBrowseMainTexture();
81   void                     onBrowseAlphaTexture();
82
83   void                     onResolutionChanged( int );
84
85 private:
86   int                      myPrimitiveType;
87
88   QRadioButton*            myPointSpriteButton;
89   QRadioButton*            myOpenGLPointButton;
90   QRadioButton*            myGeomSphereButton;
91
92   QString                  myMainTexture;
93   QString                  myAlphaTexture;
94
95   QLabel*                  myClampLabel;
96   QtxDblSpinBox*           myClampSpinBox;
97
98   QLabel*                  myMainTextureLabel;
99   QLineEdit*               myMainTextureLineEdit;
100   QPushButton*             myMainTextureButton;
101
102   QLabel*                  myAlphaTextureLabel;
103   QLineEdit*               myAlphaTextureLineEdit;
104   QPushButton*             myAlphaTextureButton;
105
106   QLabel*                  myAlphaThresholdLabel;
107   QtxDblSpinBox*           myAlphaThresholdSpinBox;
108
109   QLabel*                  myResolutionLabel;
110   QtxIntSpinBox*           myResolutionSpinBox;
111
112   QLabel*                  myFaceNumberLabel;
113   QLineEdit*               myFaceNumberLineEdit;
114
115   QLabel*                  myFaceLimitLabel;
116   QtxIntSpinBox*           myFaceLimitSpinBox;
117 };
118
119
120
121 #endif