stromx  0.8.0
Visualization.h
1 /*
2  * Copyright 2016 Matthias Fuchs
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef STROMX_RUNTIME_VISUALIZATION_H
18 #define STROMX_RUNTIME_VISUALIZATION_H
19 
20 #include "stromx/runtime/Variant.h"
21 
22 namespace stromx
23 {
24  namespace runtime
25  {
27  class STROMX_RUNTIME_API Visualization : public Variant
28  {
29  public:
31  const static VariantHandle POINT;
32 
34  const static VariantHandle LINE;
35 
38 
40  const static VariantHandle POLYGON;
41 
43  const static VariantHandle POLYLINE;
44 
46  const static VariantHandle RECTANGLE;
47 
50 
52  const static VariantHandle CIRCLE;
53 
55  const static VariantHandle ELLIPSE;
56 
58  const static VariantHandle HISTOGRAM;
59 
60  virtual const std::string title() const;
61  virtual bool isVariant(const VariantInterface& variant) const;
62 
63  private:
64  enum Types
65  {
66  POINT_ID = Variant::NUM_VARIANTS,
67  LINE_ID,
68  LINE_SEGMENT_ID,
69  POLYGON_ID,
70  POLYLINE_ID,
71  RECTANGLE_ID,
72  ROTATED_RECTANGLE_ID,
73  ELLIPSIS_ID,
74  CIRCLE_ID,
75  HISTOGRAM_ID
76  };
77 
78  Visualization(const unsigned int id) : Variant(id)
79  {}
80  };
81  }
82 }
83 
84 #endif // STROMX_RUNTIME_VISUALIZATION_H
static const VariantHandle POINT
Definition: Visualization.h:31
static const VariantHandle POLYLINE
Definition: Visualization.h:43
static const VariantHandle LINE_SEGMENT
Definition: Visualization.h:37
Definition: VariantHandle.h:34
static const VariantHandle ROTATED_RECTANGLE
Definition: Visualization.h:49
static const VariantHandle HISTOGRAM
Definition: Visualization.h:58
Abstract description of a data variant.
Definition: VariantInterface.h:40
static const VariantHandle LINE
Definition: Visualization.h:34
static const VariantHandle POLYGON
Definition: Visualization.h:40
The stromx class library.
Definition: AdjustRgbChannels.cpp:29
VariantInterface implementation of the runtime package.
Definition: Variant.h:33
static const VariantHandle ELLIPSE
Definition: Visualization.h:55
static const VariantHandle RECTANGLE
Definition: Visualization.h:46
Visualization variants.
Definition: Visualization.h:27
static const VariantHandle CIRCLE
Definition: Visualization.h:52