VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfExtDiGuyStateRepository.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2025 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vl/diGuyObjectStateRepository.h>
13 
14 // This class isn't used for anything at the moment, but is being left in makVrfVrlExt in case it
15 // is needed in the future. The class should only be enabled if something *REALLY* needs to be
16 // added at the makVrfVrlExt level and should be carefully tracked so it is removed once the
17 // logic makes it into VR-Link so the stale logic doesn't end up causing bugs in VRV/VRF *AGAIN*.
18 #define MAKVRFVRLEXT_USE_EXT_DIGUY_STATE_REPOSITORY 0
19 #if MAKVRFVRLEXT_USE_EXT_DIGUY_STATE_REPOSITORY
20 
21 #include <vrfExtObjects/vrfExtensions.h> // dllExport
22 
23 // Notes: this class has to be here, in VrfVrlExt, and not in VR-Vantage, so that
24 // versions of it for DIS and the various HLAs will be automatically generated.
25 // This doesn't matter for the code specific to this class, but we can't inherit
26 // from DtDIGuyObjectStateRepository without the network protocol being properly
27 // defined in compiler variables.
28 
29 class DtExerciseConn;
30 
32 class DT_DLL_vrfExtObjects DtExtDiGuyStateRepository : public DtDIGuyObjectStateRepository
33 {
34 public:
35 
38  DtExtDiGuyStateRepository( const DtDIGuyObjectStateRepository& orig );
39 
40  virtual ~DtExtDiGuyStateRepository() {}
41 
44 
46  virtual DtStateRepository* clone( bool copy ) const;
47 
49  virtual void printDataToStream( std::ostream& stream ) const;
50 
53  static DtDIGuyObjectStateRepository* create();
54 
55  // Registers the decoders needed for DI-Guy
56  static void registerExtensions( DtExerciseConn *exConn );
57 
60 
61  virtual void setNewAttribute( const DtString& param1, float param2, short param3 );
62  virtual const DtString& getNewAttributeParam1() const;
63  virtual float getNewAttributeParam2() const;
64  virtual short getNewAttributeParam3() const;
65 
67 
68 protected:
69 
70  DtString myNewAttributeParam1;
71  float myNewAttributeParam2;
72  short myNewAttributeParam3;
73 
74 };
75 
76 #else // MAKVRFVRLEXT_USE_EXT_DIGUY_STATE_REPOSITORY
77 
78 // We're not using the class, but don't want to have to update all the logic in VRV/VRF every time we use it again.
79 // Just typedef the diguy state rep to use the 'Ext' prefix so it can still be referred to as such.
80 typedef DtDIGuyObjectStateRepository DtExtDiGuyStateRepository;
81 
82 #endif
DtDIGuyObjectStateRepository DtExtDiGuyStateRepository
Definition: vrfExtDiGuyStateRepository.h:80
Contains the DtVrfExtensions class declaration.
voidpf stream
Definition: ioapi.h:39
#define DT_DLL_vrfExtObjects
Definition: dllExport.h:23

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)