opensurgsim
VisualDebugBehavior.h
1 // This file is a part of the OpenSurgSim project.
2 // Copyright 2020, SimQuest Solutions Inc.
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 #ifndef SURGSIM_EDITDEBUG_VISUALDEBUGBEHAVIOR_H
17 #define SURGSIM_EDITDEBUG_VISUALDEBUGBEHAVIOR_H
18 
19 #include "SurgSim/Framework/Behavior.h"
20 
21 namespace SurgSim
22 {
23 namespace Graphics
24 {
25  class Camera;
26  class View;
27 }
28 }
29 
30 namespace SurgSim
31 {
32 namespace EditDebug
33 {
34 
35 SURGSIM_STATIC_REGISTRATION(VisualDebugBehavior)
36 
37 class VisualDebugBehavior : public SurgSim::Framework::Behavior
38 {
39 public:
40 
41  friend class DebugGui;
42 
43  SURGSIM_CLASSNAME("SurgSim::EditDebug::VisualDebugBehavior");
44 
45  VisualDebugBehavior(const std::string& name);
46 
47  int getTargetManagerType() const override;
48 
49  bool doInitialize() override;
50  bool doWakeUp() override;
51  void update(double dt) override;
52 private:
53 
54  std::shared_ptr<SurgSim::Graphics::View> m_view;
55  std::shared_ptr<SurgSim::Graphics::Camera> m_camera;
56 };
57 
58 }
59 }
60 
61 
62 
63 #endif
Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
Definition: VisualDebugBehavior.cpp:102
Definition: VisualDebugBehavior.h:37