MorphingItem.h
Go to the documentation of this file.
1 /*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package ArmarX::
17 * @author Mirko Waechter ( mirko.waechter at kit dot edu)
18 * @date 2014
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22 
23 #pragma once
24 
25 #include <QGraphicsItem>
26 class QPainter;
27 class QGraphicsItem;
28 class QGraphicsView;
29 class QGraphicsSceneEvent;
30 
31 namespace armarx
32 {
34  {
38  };
40  // virtual public QGraphicsObject
41  {
42  public:
43  MorphingItem(QGraphicsItem* derivedItem);
44  static QGraphicsView* getView(QGraphicsSceneEvent* event);
45  virtual LevelOfDetail getLevelOfDetail(QPainter* painter) const;
46  virtual LevelOfDetail getLevelOfDetail(float levelOfDetail) const;
47  virtual LevelOfDetail getLevelOfDetailByParent(QPainter* painter, MorphingItem* parent) const;
48  static constexpr float hideOnHighDeZoomThreshold = 10.f;
49  static constexpr float minSizeToShowSubstates = 70.f;
50  private:
51  QGraphicsItem* derivedItem;
52  };
53 
54 }
55 
armarx::eFull
@ eFull
Definition: MorphingItem.h:35
armarx::MorphingItem::getLevelOfDetail
virtual LevelOfDetail getLevelOfDetail(QPainter *painter) const
Definition: MorphingItem.cpp:48
armarx::MorphingItem::getView
static QGraphicsView * getView(QGraphicsSceneEvent *event)
Definition: MorphingItem.cpp:42
armarx::MorphingItem
Definition: MorphingItem.h:39
armarx::eHidden
@ eHidden
Definition: MorphingItem.h:37
armarx::MorphingItem::MorphingItem
MorphingItem(QGraphicsItem *derivedItem)
Definition: MorphingItem.cpp:36
armarx::MorphingItem::minSizeToShowSubstates
static constexpr float minSizeToShowSubstates
Definition: MorphingItem.h:49
armarx::MorphingItem::getLevelOfDetailByParent
virtual LevelOfDetail getLevelOfDetailByParent(QPainter *painter, MorphingItem *parent) const
Definition: MorphingItem.cpp:77
armarx::MorphingItem::hideOnHighDeZoomThreshold
static constexpr float hideOnHighDeZoomThreshold
Definition: MorphingItem.h:48
armarx::LevelOfDetail
LevelOfDetail
Definition: MorphingItem.h:33
armarx::eNoSubstates
@ eNoSubstates
Definition: MorphingItem.h:36
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28