VR-Forces 5.0.3 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>
21 
24 
28 
40 #include "vrfutil/vrfutilDefines.h"
42 {
43 
44 protected:
45 
47  DtSimResource();
48 
53  DtSimResource(const DtString& resourceName, DtReaderWriterRegistry*
54  parentRegistry = NULL);
55 
57  parentRegistry = NULL);
58 
67  parentRegistry = NULL);
68 
71 
72 public:
73 
75  virtual ~DtSimResource();
76 
80  virtual bool init();
81 
84  virtual void putData(std::string& fp, int indentLevel = 0);
85 
86  virtual void addChildResource(DtSimResource * resource);
87 
92  virtual bool removeChildResource(DtSimResource * resource);
93 
94  virtual void copyResource(const DtSimResource& orig);
95 
98  virtual void updateAmountFromChildren() = 0;
99 
102  virtual void updateFullAmountFromChildren() = 0;
103 
106  virtual void distributeAmountToChildren() = 0;
107 
110  virtual void distributeFullAmountToChildren() = 0;
111 
116  virtual DtReal percentageFull() const = 0;
117 
119  virtual void setPercentageFull(DtReal percent) = 0;
120 
122  virtual DtString type() const = 0;
123 
124  virtual DtSimResource* clone(DtReaderWriterRegistry* parentRegistry = 0) const = 0;
125 
126  virtual void setResourceManager(DtSimResourceManager* resourceManager);
127  virtual DtSimResourceManager* resourceManager();
128  virtual const DtSimResourceManager* resourceManager() const;
129 
131  virtual DtSimResourceList* subresources();
132  virtual const DtSimResourceList* subresources() const;
133 
136  virtual void setParent(DtSimResource* parent);
137  virtual DtSimResource* parent();
138  virtual const DtSimResource* parent() const;
139 
140  static DtSimResource* createResource(DtlObjPtr mtlStream,
141  const DtVariableBindingsList& variableBindings);
142 
143  static void addResourceCreatorFcn(const DtString& type, DtSimResourceCreatorFcn fcn);
144  static void addResourceCreatorFcn(const DtSymbolString& type, DtSimResourceCreatorFcn fcn);
145 
146  static void setFactory(DtSimResourceFactory* factory);
147  static DtSimResourceFactory* factory();
148 
152  virtual const char* readerWriterType() const;
153 
154  virtual bool isEqual(const DtSimResource& res) const;
155 
157  bool operator!= (const DtSimResource& orig) const;
158  bool operator== (const DtSimResource& orig) const;
159 
160  virtual void merge(const DtSimResource*);
161 
162 protected:
163 
167 
169 };
170 
171 inline bool DtSimResource::operator!=(const DtSimResource& orig) const
172 {
173  return !(*this == orig);
174 }
175 
176 #endif
177 
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...
Definition: symbolString.h:20
static DtSimResourceFactory * myFactory
Definition: simResource.h:168
DtSimResource *(* DtSimResourceCreatorFcn)()
Definition: simResourceFactory.h:27
Definition: readerWriter.h:85
class DtSimResourceManager:
Definition: simResourceManager.h:38
DtSimResource * myParent
Definition: simResource.h:166
Definition: readerWriterRegistry.h:39
bool operator!=(const DtSimResource &orig) const
Expects subclasses to implement isEqual method. Default returns false.
Definition: simResource.h:171
DtSimResourceList mySubresources
Definition: simResource.h:165
static DtReaderWriterFactory * factory()
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
class DtSimResourceList:
Definition: simResourceList.h:28
DtSimResourceManager * myResourceManager
Definition: simResource.h:164
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:41
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
bool operator!=(const DtReaderWriter &rhs)
Definition: readerWriter.h:121

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)