GteControlledObject.h
Go to the documentation of this file.
1 // David Eberly, Geometric Tools, Redmond WA 98052
2 // Copyright (c) 1998-2017
3 // Distributed under the Boost Software License, Version 1.0.
4 // http://www.boost.org/LICENSE_1_0.txt
5 // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
6 // File Version: 3.0.0 (2016/06/19)
7 
8 #pragma once
9 
10 #include <Graphics/GteController.h>
11 #include <list>
12 #include <memory>
13 
14 namespace gte
15 {
16 
18 {
19 protected:
20  // Abstract base class.
22 public:
23  virtual ~ControlledObject();
24 
25  // Access to the controllers that control this object.
26  typedef std::list<std::shared_ptr<Controller>> List;
27  inline List const& GetControllers() const;
28  void AttachController(std::shared_ptr<Controller> const& controller);
29  void DetachController(std::shared_ptr<Controller> const& controller);
30  void DetachAllControllers();
31  bool UpdateControllers(double applicationTime);
32 
33 private:
35 };
36 
37 
39 {
40  return mControllers;
41 }
42 
43 }
std::list< std::shared_ptr< Controller > > List
List const & GetControllers() const
#define GTE_IMPEXP
Definition: GTEngineDEF.h:63


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 03:59:59