1 // Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 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, or (at your option) any later version.
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.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // File : SMESHGUI_PropertiesDlg.h
23 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
25 #ifndef SMESHGUI_PROPERTIESDLG_H
26 #define SMESHGUI_PROPERTIESDLG_H
28 #include "SMESH_SMESHGUI.hxx"
29 #include "SMESHGUI_Dialog.h"
31 #include <VTKViewer_MarkerDef.h>
32 #include <SALOMEconfig.h>
33 #include CORBA_CLIENT_HEADER(SMESH_Mesh)
41 class QtxDoubleSpinBox;
42 class VTKViewer_MarkerWidget;
44 class SMESHGUI_EXPORT SMESHGUI_PropertiesDlg : public SMESHGUI_Dialog
49 SMESHGUI_PropertiesDlg( const VTK::MarkerMap&, QWidget* parent );
50 ~SMESHGUI_PropertiesDlg();
52 void setNodeColor( const QColor& );
53 QColor nodeColor() const;
54 void setNodeMarker( VTK::MarkerType, VTK::MarkerScale );
55 void setNodeCustomMarker( int );
56 VTK::MarkerType nodeMarkerType() const;
57 VTK::MarkerScale nodeMarkerScale() const;
58 int nodeMarkerId() const;
60 void setEdgeColor( const QColor& );
61 QColor edgeColor() const;
62 void setEdgeWidth( int );
63 int edgeWidth() const;
65 void setFaceColor( const QColor&, int );
66 QColor faceColor() const;
67 int faceColorDelta() const;
69 void setVolumeColor( const QColor&, int );
70 QColor volumeColor() const;
71 int volumeColorDelta() const;
73 void setOutlineColor( const QColor& );
74 QColor outlineColor() const;
75 void setOutlineWidth( int );
76 int outlineWidth() const;
78 void setElem0dColor( const QColor& );
79 QColor elem0dColor() const;
80 void setElem0dSize( int );
81 int elem0dSize() const;
83 void setBallColor( const QColor& );
84 QColor ballColor() const;
85 // void setBallSize( int );
86 // int ballSize() const;
87 void setBallScale( double );
88 double ballScale() const;
90 void setOrientationColor( const QColor& );
91 QColor orientationColor() const;
92 void setOrientationSize( int );
93 int orientationSize() const;
94 void setOrientation3d( bool );
95 bool orientation3d() const;
97 void setShrinkCoef( int );
98 int shrinkCoef() const;
100 VTK::MarkerMap customMarkers() const;
102 void showControls( int, bool );
109 QGroupBox* myNodeGrp;
110 QGroupBox* myEdgeGrp;
111 QGroupBox* myFaceGrp;
112 QGroupBox* myVolumeGrp;
113 QGroupBox* myOutlineGrp;
114 QGroupBox* myElem0dGrp;
115 QGroupBox* myBallGrp;
116 QGroupBox* myOrientationGrp;
120 QtxColorButton* myNodeColor;
121 VTKViewer_MarkerWidget* myNodeMarker;
123 QtxColorButton* myEdgeColor;
124 QtxIntSpinBox* myEdgeWidth;
126 QtxBiColorTool* myFaceColor;
128 QtxBiColorTool* myVolumeColor;
130 QtxColorButton* myOutlineColor;
131 QtxIntSpinBox* myOutlineWidth;
133 QtxColorButton* myElem0dColor;
134 QtxIntSpinBox* myElem0dSize;
136 QtxColorButton* myBallColor;
137 // QtxIntSpinBox* myBallSize;
138 QtxDoubleSpinBox* myBallScale;
139 // - orientation vectors
140 QtxColorButton* myOrientationColor;
141 QtxIntSpinBox* myOrientationSize;
142 QCheckBox* myOrientation3d;
143 // - shrink coefficient
144 QtxIntSpinBox* myShrinkSize;
147 #endif // SMESHGUI_PROPERTIESDLG_H