anatomist
6.0.4
3D neuroimaging data viewer
orientationAnnotation.h
Go to the documentation of this file.
1
/* This software and supporting documentation are distributed by
2
* Institut Federatif de Recherche 49
3
* CEA/NeuroSpin, Batiment 145,
4
* 91191 Gif-sur-Yvette cedex
5
* France
6
*
7
* This software is governed by the CeCILL-B license under
8
* French law and abiding by the rules of distribution of free software.
9
* You can use, modify and/or redistribute the software under the
10
* terms of the CeCILL-B license as circulated by CEA, CNRS
11
* and INRIA at the following URL "http://www.cecill.info".
12
*
13
* As a counterpart to the access to the source code and rights to copy,
14
* modify and redistribute granted by the license, users are provided only
15
* with a limited warranty and the software's author, the holder of the
16
* economic rights, and the successive licensors have only limited
17
* liability.
18
*
19
* In this respect, the user's attention is drawn to the risks associated
20
* with loading, using, modifying and/or developing or reproducing the
21
* software by the user in light of its specific status of free software,
22
* that may mean that it is complicated to manipulate, and that also
23
* therefore means that it is reserved for developers and experienced
24
* professionals having in-depth computer knowledge. Users are therefore
25
* encouraged to load and test the software's suitability as regards their
26
* requirements in conditions enabling the security of their systems and/or
27
* data to be ensured and, more generally, to use and operate it in the
28
* same conditions as regards security.
29
*
30
* The fact that you are presently reading this means that you have had
31
* knowledge of the CeCILL-B license and that you accept its terms.
32
*/
33
34
#ifndef ANATOMIST_WINDOW3D_OrientationAnnotation_H
35
#define ANATOMIST_WINDOW3D_OrientationAnnotation_H
36
37
#include <qobject.h>
38
#include <
anatomist/window3D/window3D.h
>
39
#include <aims/resampling/quaternion.h>
40
41
class
QGraphicsScene;
42
class
QGraphicsView;
43
class
QGraphicsItem;
44
class
QGraphicsSimpleTextItem;
45
class
QString;
46
47
namespace
anatomist
48
{
49
class
OrientationAnnotation
:
public
QObject
50
{
51
Q_OBJECT
52
public
:
53
// Position enum
54
enum
Position
55
{
56
RIGHT
= 0,
57
LEFT
,
58
ANT
,
59
POST
,
60
SUP
,
61
INF
62
};
63
64
OrientationAnnotation
(
AWindow3D
*);
65
OrientationAnnotation
(
const
OrientationAnnotation
&);
66
virtual
~OrientationAnnotation
();
67
68
// Gets the graphic view of the current window
69
QGraphicsView*
GraphicsViewOnWindow
();
70
// Updates all annotations
71
void
UpdateText
();
72
// Draws an annotation
73
void
DrawText
(
OrientationAnnotation::Position
);
74
// Clears the temporary items
75
void
ClearTemporaryItems
();
76
// Updates annotations
77
// void update();
78
// Gets an annotation position label
79
static
QString
PositionLabel
(
OrientationAnnotation::Position
);
80
// Gets an annotation position full label
81
static
QString
PositionFullLabel
(
OrientationAnnotation::Position
);
82
83
public
slots
:
84
void
update
();
85
86
private
:
87
// Inits the annotation parameters
88
void
InitParameters();
89
// Constrains the window coordinates of an item in the current scene
90
void
ConstrainCoordinates(QGraphicsSimpleTextItem*,
const
QGraphicsScene*);
91
92
AWindow3D
* win_;
// The view window
93
std::list<QGraphicsItem*> temporary_items_;
// The temporary items
94
std::map<Position, std::vector<int> > annotation_coord_params_;
// The annotation coordinate parameters
95
};
96
}
97
98
#endif
slots
#define slots
AWindow3D
3D window, OpenGL rendering
Definition
window3D.h:75
anatomist::OrientationAnnotation::DrawText
void DrawText(OrientationAnnotation::Position)
anatomist::OrientationAnnotation::PositionFullLabel
static QString PositionFullLabel(OrientationAnnotation::Position)
anatomist::OrientationAnnotation::~OrientationAnnotation
virtual ~OrientationAnnotation()
anatomist::OrientationAnnotation::OrientationAnnotation
OrientationAnnotation(const OrientationAnnotation &)
anatomist::OrientationAnnotation::PositionLabel
static QString PositionLabel(OrientationAnnotation::Position)
anatomist::OrientationAnnotation::UpdateText
void UpdateText()
anatomist::OrientationAnnotation::ClearTemporaryItems
void ClearTemporaryItems()
anatomist::OrientationAnnotation::GraphicsViewOnWindow
QGraphicsView * GraphicsViewOnWindow()
anatomist::OrientationAnnotation::OrientationAnnotation
OrientationAnnotation(AWindow3D *)
anatomist::OrientationAnnotation::Position
Position
Definition
orientationAnnotation.h:55
anatomist::OrientationAnnotation::POST
@ POST
Definition
orientationAnnotation.h:59
anatomist::OrientationAnnotation::INF
@ INF
Definition
orientationAnnotation.h:61
anatomist::OrientationAnnotation::RIGHT
@ RIGHT
Definition
orientationAnnotation.h:56
anatomist::OrientationAnnotation::ANT
@ ANT
Definition
orientationAnnotation.h:58
anatomist::OrientationAnnotation::SUP
@ SUP
Definition
orientationAnnotation.h:60
anatomist::OrientationAnnotation::LEFT
@ LEFT
Definition
orientationAnnotation.h:57
anatomist::OrientationAnnotation::update
void update()
anatomist
Definition
anatomistinfo.h:40
window3D.h
anatomist
window3D
orientationAnnotation.h
Generated by
1.13.2