VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simResource.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: simRsrc.h,v $ $Revision: 1.18 $ $State: Exp $
7 *******************************************************************************/
8 
12 
15 
16 #ifndef simResource_H_
17 #define simResource_H_
18 
19 #include <vlutil/vlMachineTypes.h>
22 
25 
29 
41 #include "vrfutil/vrfutilDefines.h"
43 {
44 
45 protected:
46 
48  DtSimResource();
49 
54  DtSimResource(const DtString& resourceName, DtReaderWriterRegistry*
55  parentRegistry = NULL);
56 
58  parentRegistry = NULL);
59 
68  parentRegistry = NULL);
69 
72 
73 public:
74 
76  virtual ~DtSimResource();
77 
81  virtual bool init();
82 
85  virtual void putData(std::string& fp, int indentLevel = 0);
86 
87  virtual void addChildResource(DtSimResource * resource);
88 
93  virtual bool removeChildResource(DtSimResource * resource);
94 
95  virtual void copyResource(const DtSimResource& orig);
96 
99  virtual void updateAmountFromChildren() = 0;
100 
103  virtual void updateFullAmountFromChildren() = 0;
104 
107  virtual void distributeAmountToChildren() = 0;
108 
111  virtual void distributeFullAmountToChildren() = 0;
112 
117  virtual DtReal percentageFull() const = 0;
118 
120  virtual void setPercentageFull(DtReal percent) = 0;
121 
123  virtual DtString type() const = 0;
124 
125  virtual DtSimResource* clone(DtReaderWriterRegistry* parentRegistry = 0) const = 0;
126 
127  virtual void setResourceManager(DtSimResourceManager* resourceManager);
128  virtual DtSimResourceManager* resourceManager();
129  virtual const DtSimResourceManager* resourceManager() const;
130 
132  virtual DtSimResourceList* subresources();
133  virtual const DtSimResourceList* subresources() const;
134 
137  virtual void setParent(DtSimResource* parent);
138  virtual DtSimResource* parent();
139  virtual const DtSimResource* parent() const;
140 
141  typedef void (*UpdateCallback)(DtSimResource*, void*);
142 
144  virtual void addUpdateCallback(UpdateCallback fcn, void* usrData);
145 
147  virtual void removeUpdateCallback(UpdateCallback fcn, void* usrData);
148 
150  virtual void callUpdateCallbacks();
151 
152  static DtSimResource* createResource(DtlObjPtr mtlStream,
153  const DtVariableBindingsList& variableBindings);
154 
155  static void addResourceCreatorFcn(const DtString& type, DtSimResourceCreatorFcn fcn);
156  static void addResourceCreatorFcn(const DtSymbolString& type, DtSimResourceCreatorFcn fcn);
157 
158  static void setFactory(DtSimResourceFactory* factory);
159  static DtSimResourceFactory* factory();
160 
164  virtual const char* readerWriterType() const;
165 
166  virtual bool isEqual(const DtSimResource& res) const;
167 
169  bool operator!= (const DtSimResource& orig) const;
170  bool operator== (const DtSimResource& orig) const;
171 
172  virtual void merge(const DtSimResource*);
173 
174 protected:
175 
179 
181 
183 };
184 
185 inline bool DtSimResource::operator!=(const DtSimResource& orig) const
186 {
187  return !(*this == orig);
188 }
189 
190 #endif
191 
bool operator==(const DtReaderWriter &) const
Equivalence operator.
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
static DtSimResourceFactory * myFactory
Definition: simResource.h:182
DtSimResource *(* DtSimResourceCreatorFcn)()
Definition: simResourceFactory.h:27
Definition: readerWriter.h:85
class DtSimResourceManager:
Definition: simResourceManager.h:38
DtSimResource * myParent
Definition: simResource.h:178
Definition: readerWriterRegistry.h:39
bool operator!=(const DtSimResource &orig) const
Expects subclasses to implement isEqual method. Default returns false.
Definition: simResource.h:185
DtSimResourceList mySubresources
Definition: simResource.h:177
static DtReaderWriterFactory * factory()
bool operator!=(const DtReaderWriter &rhs) const
Definition: readerWriter.h:121
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
DtCallbackList< DtSimResource * > myUpdateCallbacks
Definition: simResource.h:180
class DtSimResourceList:
Definition: simResourceList.h:28
DtSimResourceManager * myResourceManager
Definition: simResource.h:176
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
DtSimResource is an abstract base class that can be used to create a hierarchical resource list of a ...
Definition: simResource.h:42
class DtSimResourceFactory:
Definition: simResourceFactory.h:37
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)