VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptInterfaceHandler.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
10 #include <boost/shared_ptr.hpp>
12 #include <map>
13 #include <vlutil/vlString.h>
14 
15 class DtVrfObject;
16 class DtScriptInterface;
18 
20 {
21 public:
23  virtual ~DtScriptInterfaceHandler();
24 
25  virtual bool init();
26 
27  virtual void tick();
28 
29  virtual DtVrfObject* entity() { return myEntity; }
30 
31  virtual void setReactiveTaskController(DtScriptReactiveTaskController* controller) { myReactiveTaskController = controller; }
32 
33  virtual bool shouldResumeScriptInterface(const DtSimTaskMessageType& scriptId);
34  virtual void notifySuspend(const DtSimTaskMessageType& scriptId, int taskId);
35  virtual void notifyResume(const DtSimTaskMessageType& scriptId, int taskId);
36  virtual void notifyScriptError(const DtSimTaskMessageType& scriptId, int taskId);
37 
38  virtual boost::shared_ptr<DtScriptInterface> createScriptInterface(const DtGenericMessageType& scriptId);
39  virtual void releaseScriptInterface(const DtGenericMessageType& scriptId, int taskId, boost::shared_ptr<DtScriptInterface> iFace);
40  virtual bool passScriptInterface(const DtGenericMessageType& scriptId, boost::shared_ptr<DtScriptInterface> iFace);
41 
42  virtual void removeScriptInterfacePass(const DtGenericMessageType& scriptId);
43 
44 protected:
46 
47  std::map<DtGenericMessageType, boost::shared_ptr<DtScriptInterface> > myPassingScriptInterfaces;
48  std::map<DtGenericMessageType, boost::shared_ptr<DtScriptInterface> > myReturningScriptInterfaces;
50 };
Definition: scriptInterfaceHandler.h:19
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtScriptReactiveTaskController * myReactiveTaskController
Definition: scriptInterfaceHandler.h:45
std::map< DtGenericMessageType, boost::shared_ptr< DtScriptInterface > > myReturningScriptInterfaces
Definition: scriptInterfaceHandler.h:48
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtVrfObject * myEntity
Definition: scriptInterfaceHandler.h:49
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
This class is a two-way interface between the script language and its parent controller.
Definition: scriptInterface.h:28
std::map< DtGenericMessageType, boost::shared_ptr< DtScriptInterface > > myPassingScriptInterfaces
Definition: scriptInterfaceHandler.h:47
virtual void setReactiveTaskController(DtScriptReactiveTaskController *controller)
Definition: scriptInterfaceHandler.h:31
virtual DtVrfObject * entity()
Definition: scriptInterfaceHandler.h:29
READ ME!
Definition: scriptReactiveTaskController.h:52

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)