File: gennaker.h

package info (click to toggle)
boats 201307-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,424 kB
  • ctags: 1,486
  • sloc: cpp: 10,139; makefile: 13; xml: 10
file content (71 lines) | stat: -rw-r--r-- 1,863 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//
// C++ Interface: GennakerGraphicsItem
//
// Description:
//
//
// Author: Graham Louth <boatscenario@louths.org.uk>
//
// Copyright (c) 2013 Graham Louth
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//
//

#ifndef GENNAKER_H
#define GENNAKER_H

#include <QGraphicsPathItem>
#include <QObject>

#include "boats.h"
#include "sail.h"

class BoatModel;

/**
    \class GennakerGraphicsItem

    \brief the QGraphicsItem for a gennaker

    The class represents the Item according to the Graphics View Framework.

    It inherits QGraphicsPathItem for Item framework and QObject for slot and
    signal framework. It displays the sail representation of a BoatModel on a
    SituationView.

    \sa SituationView, SituationScene, SituationModel, BoatModel

*/

class GennakerGraphicsItem : public SailGraphicsItem {
        Q_OBJECT
    public:
        GennakerGraphicsItem(BoatModel *boat, QGraphicsItem *parent = 0);
        virtual ~GennakerGraphicsItem();

        void setSailSize(qreal size);
        void setPoleLength(qreal length);
        void setPosition(QPointF position);
        void setVisible(bool visibility);

    public slots:
        void setSailAngle(qreal value);

    private:
        QGraphicsLineItem *m_pole;

};

#endif // GENNAKER_H