]> SALOME platform Git repositories - modules/visu.git/blob - src/VVTK/VVTK_PrimitiveBox.h
Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[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 "VVTK.h"
32
33 #include <qgroupbox.h>
34
35 class QLabel;
36 class QLineEdit;
37 class QPushButton;
38 class QRadioButton;
39
40 class QtxDblSpinBox;
41 class QtxIntSpinBox;
42
43 class VVTK_EXPORT VVTK_PrimitiveBox : public QGroupBox
44 {
45   Q_OBJECT
46
47 public:
48   VVTK_PrimitiveBox( QWidget* );
49   ~VVTK_PrimitiveBox() {}
50
51 public:
52   int                      getPrimitiveType() const { return myPrimitiveType; }
53   void                     setPrimitiveType( int );
54
55   float                    getClamp() const;
56   void                     setClamp( float );
57   void                     setClampMaximum( float );
58
59   QString                  getMainTexture() const { return myMainTexture; }
60   void                     setMainTexture( const QString& );
61
62   QString                  getAlphaTexture() const { return myAlphaTexture; }
63   void                     setAlphaTexture( const QString& );
64
65   float                    getAlphaThreshold() const;
66   void                     setAlphaThreshold( float );
67
68   int                      getResolution() const;
69   void                     setResolution( int );
70
71   int                      getFaceNumber() const;
72   void                     setFaceNumber( int );
73
74   int                      getFaceLimit() const;
75   void                     setFaceLimit( int );
76
77 protected slots:
78   void                     onTogglePointSprite();
79   void                     onToggleOpenGLPoint();
80   void                     onToggleGeomSphere();
81
82   void                     onBrowseMainTexture();
83   void                     onBrowseAlphaTexture();
84
85   void                     onResolutionChanged( int );
86
87 private:
88   int                      myPrimitiveType;
89
90   QRadioButton*            myPointSpriteButton;
91   QRadioButton*            myOpenGLPointButton;
92   QRadioButton*            myGeomSphereButton;
93
94   QString                  myMainTexture;
95   QString                  myAlphaTexture;
96
97   QLabel*                  myClampLabel;
98   QtxDblSpinBox*           myClampSpinBox;
99
100   QLabel*                  myMainTextureLabel;
101   QLineEdit*               myMainTextureLineEdit;
102   QPushButton*             myMainTextureButton;
103
104   QLabel*                  myAlphaTextureLabel;
105   QLineEdit*               myAlphaTextureLineEdit;
106   QPushButton*             myAlphaTextureButton;
107
108   QLabel*                  myAlphaThresholdLabel;
109   QtxDblSpinBox*           myAlphaThresholdSpinBox;
110
111   QLabel*                  myResolutionLabel;
112   QtxIntSpinBox*           myResolutionSpinBox;
113
114   QLabel*                  myFaceNumberLabel;
115   QLineEdit*               myFaceNumberLineEdit;
116
117   QLabel*                  myFaceLimitLabel;
118   QtxIntSpinBox*           myFaceLimitSpinBox;
119 };
120
121
122
123 #endif