MAK Legion API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
eventInstance.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "legionDataStore/vector.h"
14 
15 #include "legionDataStore/span.h"
16 
17 
18 namespace Legion
19 {
20  typedef UInt32 EventType;
21  typedef UInt32 ParameterId;
23 
24  class EventManager;
25 
33  {
34  public:
36  EventInstance(const EventInstance& orig);
37 
39  EventInstance& operator=(const EventInstance& orig);
40 
42  EventHandle handle() const;
43 
45  EventType typeId() const;
46 
48  template<typename DATA_TYPE>
49  DATA_TYPE data(ParameterId parameterId) const;
50 
51  template<typename DATA_TYPE>
54  const Span<DATA_TYPE> dataArray(ParameterId parameterId) const;
55 
57  template<typename DATA_TYPE>
58  void setData(ParameterId parameterId, const DATA_TYPE& val);
59 
62  template<typename DATA_TYPE>
63  void setDataArray(ParameterId parameterId, const Span<DATA_TYPE>& val);
64 
66  void setDataArrayLength(ParameterId paramId, UInt32 length);
67 
69  UInt32 dataArrayLength(ParameterId paramId) const;
70 
71  protected:
73  EventInstance(EventHandle handle);
74  virtual ~EventInstance();
75  friend class EventManager;
76 
77  protected:
79  };
80 }
The EventManager manages the creation and distribution of simulation events such as Fire and Detonate...
Definition: eventManager.h:33
A span represents a contiguous array of objects in memory.
Definition: span.h:21
An EventInstance is a single instance of a simulation event such as Fire or Detonate.
Definition: eventInstance.h:32
#define LEGION_DLL
Definition: legionDataStore/export.h:24
unsigned int UInt32
Definition: dataTypes.h:44
UInt64 EventHandle
Definition: eventInstance.h:22
unsigned long long UInt64
Definition: dataTypes.h:46
UInt32 ParameterId
Definition: controlInstance.h:23
UInt32 EventType
Definition: eventInstance.h:20
EventHandle myHandle
Definition: eventInstance.h:78

Document ID: Generated on Mon Mar 8 15:11:30 EST 2021 from SVN revision 225633
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)