All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Behavior.h
Go to the documentation of this file.
1 // This file is a part of the OpenSurgSim project.
2 // Copyright 2013, 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_FRAMEWORK_BEHAVIOR_H
17 #define SURGSIM_FRAMEWORK_BEHAVIOR_H
18 
20 
21 namespace SurgSim
22 {
23 namespace Framework
24 {
25 
28 enum {
35 };
36 
40 class Behavior: public Component
41 {
42 public:
43  explicit Behavior(const std::string& name) : Component(name)
44  {
45  }
46  virtual ~Behavior()
47  {
48  }
49 
52  virtual void update(double dt) = 0;
53 
55  virtual int getTargetManagerType() const { return MANAGER_TYPE_BEHAVIOR; }
56 };
57 
58 }; //namespace Framework
59 }; //namespace SurgSim
60 
61 #endif // SURGSIM_FRAMEWORK_BEHAVIOR_H
virtual ~Behavior()
Definition: Behavior.h:46
Component is the main interface class to pass information to the system managers each will decide whe...
Definition: Component.h:43
virtual int getTargetManagerType() const
Specifies which manger will handle this behavior.
Definition: Behavior.h:55
virtual void update(double dt)=0
Update the behavior.
Behaviors perform actions.
Definition: Behavior.h:40
Definition: Behavior.h:29
Behavior(const std::string &name)
Definition: Behavior.h:43