VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simObjectNetInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 
15 #pragma once
16 
17 #include <readerWriter/rwBoolean.h>
19 
20 #if DtHLA
21 #include <vl/rtiCompatibility.h>
22 #endif
23 
25 class DtVrfObject;
26 class DtStateRepository;
28 
38 {
39 protected:
42 
43 public:
44 
49  DtSimObjectNetInterface(const DtString & name, DtVrfObject * simObject,
50  DtReaderWriterRegistry * parentRegistry = 0,
51  bool publishObject = true);
52 
55  DtReaderWriterRegistry * parentRegistry = 0);
56 
59  orig);
60 
62  virtual ~DtSimObjectNetInterface();
63 
66  virtual bool init() { return true; }
67 
73  virtual void tick();
74 
78  virtual void onTick() = 0;
79 
82  virtual DtVrfObject * simObject() const;
83 
86  virtual DtStateRepository * networkState() const;
87 
91  virtual bool isEntity() const = 0;
92  virtual bool isEnvironmental() const = 0;
93 
97  virtual bool isLocal() const = 0;
98 
101  virtual DtString type() const = 0;
102 
105  virtual int maxNameLength() const;
106 
107 #if DtHLA
108  virtual RTI::ObjectClassHandle objectClassHandle() const = 0;
110 #endif
111 
118  static void setNonVrfObjectsUUIDScheme(const DtString&);
119  static DtString nonVrfObjectsUUIDScheme();
121 
125  static void setNonVrfUUIDResolver(DtNonVrfUUIDResolver*);
126  static DtNonVrfUUIDResolver* nonVrfUUIDResolver();
127 
130  static void addSimObjectNetInterfaceCreatorFcn(const DtString & type,
132 
133  static void setFactory(DtSimObjectNetInterfaceFactory * factory);
135 
137  static DtSimObjectNetInterface * createNetInterface(
138  const DtString & name, const DtString & type, DtVrfObject * simObject,
139  DtReaderWriterRegistry * parentRegistry = 0,
140  bool publishObject = true);
141 
145  static int maxNameLengthForInterfaceType(const DtString& interfaceTypeString);
146 
147 protected:
148 
151 
154 };
virtual bool init()
Derived classes that need to perform virtual construction my override this function as desired...
Definition: simObjectNetInterface.h:66
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
Definition: readerWriter.h:85
Definition: readerWriterRegistry.h:39
static DtSimObjectNetInterfaceFactory * theFactory
Definition: simObjectNetInterface.h:152
static DtReaderWriterFactory * factory()
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtSimObjectNetInterface *(* DtSimObjectNetIfaceCreatorFcn)(const DtString &name, DtVrfObject *simObject, DtReaderWriterRegistry *parentRegistry, bool publishObject)
Definition: simObjectNetInterfaceFactory.h:24
DtVrfObject * mySimObject
Definition: simObjectNetInterface.h:149
class DtSimObjectNetInterfaceFactory:
Definition: simObjectNetInterfaceFactory.h:35
Class Description: DtSimObjectNetInterface.
Definition: simObjectNetInterface.h:37
Definition: nonVrfUUIDResolver.h:22
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
static DtNonVrfUUIDResolver * theNonVrfUUIDResolver
Definition: simObjectNetInterface.h:153
DtStateRepository * myNetworkState
Definition: simObjectNetInterface.h:150

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)