PlaneLocator.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Visualization
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2012, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeVisualization/Base.h"
16 #include "CeeVisualization/MouseEvent.h"
17 #include "CeeVisualization/MarkupModel.h"
18 
19 #include "CeeCore/RefCountedObject.h"
20 #include "CeeCore/Plane.h"
21 
22 namespace cee {
23 class Vec3d;
24 class Color3f;
25 
26 namespace vis {
27 class Camera;
28 
29 //==================================================================================================
30 //
31 //
32 //
33 //==================================================================================================
34 class CEE_VIS_EXPORT PlaneLocator: public MarkupModel
35 {
36 public:
37  PlaneLocator(View* view);
38 
39  virtual ~PlaneLocator();
40 
41  void setup(const Vec3d& point, const Vec3d& normal);
42  Vec3d point() const;
43  void setPoint(const Vec3d& point);
44  Vec3d normal() const;
45 
46  void setMaximumExtent(double maxExtent);
47  double maximumExtent() const;
48 
49  Color3f planeColor() const;
50  void setPlaneColor(const Color3f& color);
51 
52  void setPlaneOpacity(float opacity);
53  float planeOpacity() const;
54 
55  Color3f centerPointColor() const;
56  void setCenterPointColor(const Color3f& color);
57 
58  Color3f arrowColor() const;
59  void setArrowColor(const Color3f& color);
60 
61  bool surfaceVisible() const;
62  void setSurfaceVisible(bool visible);
63 
64  bool borderVisible() const;
65  void setBorderVisible(bool visible);
66 
67  void planeNavigationOnMousePressEvent(MouseEvent* mouseEvent, const Vec3d& rotationPoint);
68  void planeNavigationOnMouseMoveEvent(MouseEvent* mouseEvent);
69  void planeNavigationOnMouseReleaseEvent(MouseEvent* mouseEvent);
70 
71 private:
72  CEE_PRIVATE_IMPL(PlaneLocator);
73  CEE_DISALLOW_COPY_AND_ASSIGN(PlaneLocator);
74 };
75 
76 } // namespace vis
77 } // namespace cee
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
Model used for drawing labels, arrows, lines, points, triangles and glyphs.
Definition: MarkupModel.h:31
Mouse event.
Definition: MouseEvent.h:47
Class for storing an RGB color triplet.
Definition: Color3f.h:25
A locator designed to position a plane.
Definition: PlaneLocator.h:34
Provides a render area in the user control/widget to enable visualization of the current model data a...
Definition: View.h:40
Vector class for a 3D double vector.
Definition: Vec3d.h:26