VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Attributes
DtRealResource Class Reference

DtRealResource implements the required functions for a resource that can be measured by a real, continuous value (such as fuel).

Inheritance diagram for DtRealResource:
Inheritance graph
[legend]

Public Member Functions

 DtRealResource ()
 
 DtRealResource (const DtString &resourceName, DtReaderWriterRegistry *parentRegistry=0)
 
 DtRealResource (const DtRealResource &orig, DtReaderWriterRegistry *parentRegistry=0)
 
DtRealResourceoperator= (const DtRealResource &orig)
 
virtual ~DtRealResource ()
 
virtual void updateAmountFromChildren ()
 
virtual void updateFullAmountFromChildren ()
 
virtual DtSimResourceclone (DtReaderWriterRegistry *parentRegistry=0) const
 
virtual DtString type () const
 
virtual void distributeAmountToChildren ()
 
virtual void distributeFullAmountToChildren ()
 
virtual void setAmount (DtReal amount)
 
virtual DtReal amount () const
 
virtual void deplete (DtReal amount)
 
virtual void replenish (DtReal amount)
 
virtual void setFullAmount (DtReal fullAmount)
 
virtual DtReal fullAmount () const
 
virtual DtReal percentageFull () const
 
virtual void setPercentageFull (DtReal percent)
 
virtual DtReal constrainAmount (DtReal amount) const
 
virtual bool isEqual (const DtSimResource &res) const
 
virtual void merge (const DtSimResource *)
 
- Public Member Functions inherited from DtSimResource
virtual ~DtSimResource ()
 
virtual bool init ()
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual void addChildResource (DtSimResource *resource)
 
virtual bool removeChildResource (DtSimResource *resource)
 
virtual void copyResource (const DtSimResource &orig)
 
virtual void setResourceManager (DtSimResourceManager *resourceManager)
 
virtual DtSimResourceManagerresourceManager ()
 
virtual const
DtSimResourceManager
resourceManager () const
 
virtual DtSimResourceListsubresources ()
 
virtual const DtSimResourceListsubresources () const
 
virtual void setParent (DtSimResource *parent)
 
virtual DtSimResourceparent ()
 
virtual const DtSimResourceparent () const
 
virtual const charreaderWriterType () const
 
bool operator!= (const DtSimResource &orig) const
 
bool operator== (const DtSimResource &orig) const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs)
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual DtlObjPtr getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static DtSimResourcecreator ()
 
- Static Public Member Functions inherited from DtSimResource
static DtSimResourcecreateResource (DtlObjPtr mtlStream, const DtVariableBindingsList &variableBindings)
 
static void addResourceCreatorFcn (const DtString &type, DtSimResourceCreatorFcn fcn)
 
static void addResourceCreatorFcn (const DtSymbolString &type, DtSimResourceCreatorFcn fcn)
 
static void setFactory (DtSimResourceFactory *factory)
 
static DtSimResourceFactoryfactory ()
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Attributes

DtRwReal myAmount
 
DtRwReal myFullAmount
 
- Protected Attributes inherited from DtSimResource
DtSimResourceManagermyResourceManager
 
DtSimResourceList mySubresources
 
DtSimResourcemyParent
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Protected Member Functions inherited from DtSimResource
 DtSimResource ()
 
 DtSimResource (const DtString &resourceName, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtSimResource (const DtSymbolString &resourceName, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtSimResource (const DtSimResource &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
DtSimResourceoperator= (const DtSimResource &orig)
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 
- Static Protected Attributes inherited from DtSimResource
static DtSimResourceFactorymyFactory
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Constructor & Destructor Documentation

DtRealResource::DtRealResource ( )

default constructor

DtRealResource::DtRealResource ( const DtString resourceName,
DtReaderWriterRegistry parentRegistry = 0 
)

real constructor

The resource name is the name that will be used to look up the resource in the resource manager.

DtRealResource::DtRealResource ( const DtRealResource orig,
DtReaderWriterRegistry parentRegistry = 0 
)

copy constructor

virtual DtRealResource::~DtRealResource ( )
virtual

destructor

Member Function Documentation

DtRealResource& DtRealResource::operator= ( const DtRealResource orig)

assignment operator

virtual void DtRealResource::updateAmountFromChildren ( )
virtual

This is called when a child's value changes (or a new child is added).

Implements DtSimResource.

virtual void DtRealResource::updateFullAmountFromChildren ( )
virtual

When the deriving class's setFullAmount is called, this should be called on the resources parent.

Implements DtSimResource.

virtual DtSimResource* DtRealResource::clone ( DtReaderWriterRegistry parentRegistry = 0) const
virtual

Make a copy of myself.

Implements DtSimResource.

virtual DtString DtRealResource::type ( ) const
virtual

The data type of the resource. These types are defined in rsrcTypes.h.

Implements DtSimResource.

virtual void DtRealResource::distributeAmountToChildren ( )
virtual

This is called when my amount changes (via setAmount()).

Implements DtSimResource.

virtual void DtRealResource::distributeFullAmountToChildren ( )
virtual

When the deriving class's setFullAmount is called, this should be called if the resource has any children.

Implements DtSimResource.

virtual void DtRealResource::setAmount ( DtReal  amount)
virtual

Amount is set to the amount specified, but will not go over full amount or less than 0.

virtual DtReal DtRealResource::amount ( ) const
virtual
virtual void DtRealResource::deplete ( DtReal  amount)
virtual

Amount is reduced by the amount specified, but will not go below 0.

virtual void DtRealResource::replenish ( DtReal  amount)
virtual

Amount is increased by the amount specified, but will not go above full amount.

virtual void DtRealResource::setFullAmount ( DtReal  fullAmount)
virtual
virtual DtReal DtRealResource::fullAmount ( ) const
virtual
virtual DtReal DtRealResource::percentageFull ( ) const
virtual

The deriving class will also provide a function to specify the quantity (of the appropriate type) that indicates a full/complete load of the resource. PercentageFull will return 0. to 1., amount / fullAmount Note: 1. is returned if full amount is <= 0.

Implements DtSimResource.

virtual void DtRealResource::setPercentageFull ( DtReal  percent)
virtual

Percent will be truncated to be between 0. and 1.

Implements DtSimResource.

virtual DtReal DtRealResource::constrainAmount ( DtReal  amount) const
virtual

If amount < 0, returns 0. Else if amount > fullAmount, returns fullAmount. Else, returns amount.

static DtSimResource* DtRealResource::creator ( )
static
virtual bool DtRealResource::isEqual ( const DtSimResource res) const
virtual

Returns true if myAmount and myFullAmount are the same as the resource coming in.

Reimplemented from DtSimResource.

virtual void DtRealResource::merge ( const DtSimResource )
virtual

Merges the one resource into this one. Rresource will take on the maximum of the current entry vs. the new entry.

Reimplemented from DtSimResource.

Member Data Documentation

DtRwReal DtRealResource::myAmount
protected
DtRwReal DtRealResource::myFullAmount
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)