Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SALOME GUI Developer
Todo List
Namespaces
Classes
Files
File List
idl
src
CAF
CAM
CASCatch
DDS
Event
GLViewer
GraphicsView
GuiHelpers
HelpBrowser
ImageComposer
LightApp
LogWindow
ObjBrowser
OBJECT
OCCViewer
OCCViewer.cxx
OCCViewer.h
OCCViewer_AISSelector.cxx
OCCViewer_AISSelector.h
OCCViewer_AxialScaleDlg.cxx
OCCViewer_AxialScaleDlg.h
OCCViewer_ClippingDlg.cxx
OCCViewer_ClippingDlg.h
OCCViewer_ClipPlane.cxx
OCCViewer_ClipPlane.h
OCCViewer_ClipPlaneInteractor.cxx
OCCViewer_ClipPlaneInteractor.h
OCCViewer_CreateRestoreViewDlg.cxx
OCCViewer_CreateRestoreViewDlg.h
OCCViewer_CubeAxesDlg.cxx
OCCViewer_CubeAxesDlg.h
OCCViewer_EnvTextureDlg.cxx
OCCViewer_EnvTextureDlg.h
OCCViewer_FontWidget.cxx
OCCViewer_FontWidget.h
OCCViewer_LightSourceDlg.cxx
OCCViewer_LightSourceDlg.h
OCCViewer_RayTracingDlg.cxx
OCCViewer_RayTracingDlg.h
OCCViewer_SetRotationPointDlg.cxx
OCCViewer_SetRotationPointDlg.h
OCCViewer_ToolTip.cxx
OCCViewer_ToolTip.h
OCCViewer_Trihedron.cxx
OCCViewer_Trihedron.h
OCCViewer_Utilities.cxx
OCCViewer_Utilities.h
OCCViewer_ViewFrame.cxx
OCCViewer_ViewFrame.h
OCCViewer_ViewManager.cxx
OCCViewer_ViewManager.h
OCCViewer_ViewModel.cxx
OCCViewer_ViewModel.h
OCCViewer_ViewPort.cxx
OCCViewer_ViewPort.h
OCCViewer_ViewPort3d.cxx
OCCViewer_ViewPort3d.h
OCCViewer_ViewportInputFilter.cxx
OCCViewer_ViewportInputFilter.h
OCCViewer_ViewSketcher.cxx
OCCViewer_ViewSketcher.h
OCCViewer_ViewWindow.cxx
OCCViewer_ViewWindow.h
OCCViewer_VService.cxx
OCCViewer_VService.h
OpenGLUtils
Plot2d
Prs
PVServerService
PVViewer
PyViewer
QDS
Qtx
QxScene
SALOME_PY
SALOME_PYQT
SALOME_SWIG
SalomeApp
Session
SOCC
SPlot2d
STD
Style
SUIT
SUITApp
SVTK
TOOLSGUI
TreeData
ViewerData
ViewerTools
VTKViewer
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
OCCViewer_ViewSketcher.h
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// This library is free software; you can redistribute it and/or
4
// modify it under the terms of the GNU Lesser General Public
5
// License as published by the Free Software Foundation; either
6
// version 2.1 of the License, or (at your option) any later version.
7
//
8
// This library is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
// Lesser General Public License for more details.
12
//
13
// You should have received a copy of the GNU Lesser General Public
14
// License along with this library; if not, write to the Free Software
15
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
//
17
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
//
19
20
#ifndef OCCVIEWER_VIEWSKETCHER_H
21
#define OCCVIEWER_VIEWSKETCHER_H
22
23
#include "
OCCViewer.h
"
24
25
#include <QObject>
26
#include <QCursor>
27
#include <QSize>
28
29
class
OCCViewer_ViewWindow
;
30
class
QKeyEvent;
31
class
QMouseEvent;
32
class
QPolygon;
33
34
class
QtxRectRubberBand
;
35
class
QtxPolyRubberBand
;
36
37
#ifdef WIN32
38
#pragma warning ( disable:4251 )
39
#endif
40
45
class
OCCVIEWER_EXPORT
OCCViewer_ViewSketcher
:
public
QObject
46
{
47
Q_OBJECT
48
49
public
:
50
enum
{ Neutral, Accept, Reject };
51
52
public
:
53
OCCViewer_ViewSketcher
(
OCCViewer_ViewWindow
*,
int
);
54
virtual
~
OCCViewer_ViewSketcher
();
55
56
public
:
57
int
type()
const
;
58
int
result()
const
;
59
int
buttonState()
const
;
60
bool
isHasShift()
const
;
61
void
* data()
const
;
62
63
void
activate();
64
void
deactivate();
65
66
int
sketchButton();
67
void
setSketchButton(
int
);
68
69
virtual
bool
isDefault()
const
;
70
virtual
bool
eventFilter(
QObject
*,
QEvent
* );
71
72
private
slots:
73
void
onDrawViewPort();
74
75
protected
:
76
enum
SketchState
{ Debut, EnTrain, Fin };
77
virtual
bool
onKey( QKeyEvent* );
78
virtual
void
onMouse( QMouseEvent* );
79
virtual
void
onSketch( SketchState ) = 0;
80
virtual
void
onActivate();
81
virtual
void
onDeactivate();
82
83
protected
:
84
int
mySketchButton
;
85
OCCViewer_ViewWindow
*
mypViewWindow
;
86
int
myType
;
87
void
*
mypData
;
88
int
myResult
;
89
QCursor
mySavedCursor
;
90
QPoint
myStart
, myCurr;
91
int
myButtonState
;
92
bool
myHasShift
;
93
};
94
99
class
OCCVIEWER_EXPORT
OCCViewer_RectSketcher
:
public
OCCViewer_ViewSketcher
100
{
101
public
:
102
OCCViewer_RectSketcher
(
OCCViewer_ViewWindow
*,
int
);
103
virtual
~
OCCViewer_RectSketcher
();
104
105
protected
:
106
virtual
bool
onKey
( QKeyEvent* );
107
virtual
void
onMouse
( QMouseEvent* );
108
virtual
void
onSketch
(
SketchState
);
109
virtual
void
onActivate
();
110
virtual
void
onDeactivate
();
111
private
:
112
QtxRectRubberBand
*
mypRectRB
;
113
};
114
119
class
OCCVIEWER_EXPORT
OCCViewer_PolygonSketcher
:
public
OCCViewer_ViewSketcher
120
{
121
public
:
122
OCCViewer_PolygonSketcher
(
OCCViewer_ViewWindow
*,
int
);
123
virtual
~
OCCViewer_PolygonSketcher
();
124
125
protected
:
126
virtual
bool
onKey
( QKeyEvent* );
127
virtual
void
onMouse
( QMouseEvent* );
128
virtual
void
onSketch
(
SketchState
);
129
virtual
void
onActivate
();
130
virtual
void
onDeactivate
();
131
132
private
:
133
bool
isValid
(
const
QPolygon*,
const
QPoint& )
const
;
134
bool
isIntersect
(
const
QPoint&,
const
QPoint&,
135
const
QPoint&,
const
QPoint& )
const
;
136
137
private
:
138
bool
myDbl
;
139
QSize
myToler
;
140
QPolygon*
mypPoints
;
141
int
myAddButton
;
142
int
myDelButton
;
143
144
QtxPolyRubberBand
*
mypPolyRB
;
145
};
146
147
#ifdef WIN32
148
#pragma warning( default:4251 )
149
#endif
150
151
#endif
src
OCCViewer
OCCViewer_ViewSketcher.h
Copyright © 2007-2017 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