Klamp't  0.9.0
WorldDragWidget.h
1 #ifndef WORLD_DRAG_WIDGET
2 #define WORLD_DRAG_WIDGET
3 
4 #include <KrisLibrary/GLdraw/Widget.h>
6 
7 namespace Klampt {
8 
9 class WorldDragWidget : public GLDraw::Widget
10 {
11 public:
12  WorldDragWidget(WorldModel* world=NULL);
13  virtual ~WorldDragWidget() {}
14  void Set(WorldModel* world);
15  void Enable(bool active);
16  virtual void SetHighlight(bool value) override;
17  virtual bool Hover(int x,int y,Camera::Viewport& viewport,double& distance) override;
18  virtual bool BeginDrag(int x,int y,Camera::Viewport& viewport,double& distance) override;
19  virtual void EndDrag() override;
20  virtual void Drag(int dx,int dy,Camera::Viewport& viewport) override;
21  virtual void DrawGL(Camera::Viewport& viewport) override;
22 
23  WorldModel* world;
24  bool active;
25  bool robotsActive,objectsActive,terrainsActive;
26  GLDraw::GLColor highlightColor,lineColor;
27  float lineWidth;
28  bool dragging;
29  int hoverID;
30  Vector3 hoverPt;
31  Vector3 dragPt;
32  Real hoverDistance;
33 
34  int highlightID;
35  GLDraw::GLColor originalFaceColor;
36 };
37 
38 } // namespace Klampt;
39 
40 #endif
Defines the WorldModel class.
Definition: WorldDragWidget.h:9
Definition: ContactDistance.h:6
The main world class containing multiple robots, objects, and static geometries (terrains). Lights and other viewport information may also be stored here.
Definition: World.h:24