Package mgui.models.environments
Class SimpleEnvironment<T extends MguiNumber>
java.lang.Object
mgui.interfaces.AbstractInterfaceObject
mgui.models.environments.SimpleEnvironment<T>
- All Implemented Interfaces:
java.lang.Cloneable,InterfaceObject,NamedObject,TreeObject,CleanableObject,DynamicModelEnvironment<T>,TimeStepListener,Updateable
public class SimpleEnvironment<T extends MguiNumber> extends AbstractInterfaceObject implements DynamicModelEnvironment<T>, InterfaceObject, TreeObject
Represents a simple environment, with a set of named observable scalar state variables.
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
-
Field Summary
Fields Modifier and Type Field Description protected doubleclockprotected SimpleEnvironmentInputDataSource<T>input_data_sourceprotected NameMapinput_namesprotected double[]inputStateprotected booleanisDestroyedintmodeprotected SimpleEnvironmentObservableDataSource<T>observable_data_sourceprotected NameMapobservable_namesprotected double[]observableStatejava.util.ArrayList<DynamicModelEnvironmentSensor>sensorsprotected java.util.ArrayList<InterfaceTreeNode>treeNodesbooleanupdatedSimpleEnvironmentUpdaterupdaterFields inherited from class mgui.interfaces.AbstractInterfaceObject
tree_nodes -
Constructor Summary
Constructors Constructor Description SimpleEnvironment()SimpleEnvironment(SimpleEnvironmentUpdater updater)Creates an instance of SimpleEnvironment with the specified updater. -
Method Summary
Modifier and Type Method Description voidaddListener(DynamicModelEnvironmentListener l)voidaddSensor(DynamicModelEnvironmentSensor s)java.lang.Objectclone()voiddestroy()Destroy this object (prepare it to be removed from memory)protected voidfireListeners()protected voidfireSensors()doublegetClock()java.util.List<InterfaceDataSource<T>>getDataSources()double[]getDeltas(double[] comp)Returns the difference between this environment's current state and the given values.AbstractEnvironmentDataSource<T>getInputDataSource()java.util.List<java.lang.String>getInputNames()double[]getInputState()doublegetInputState(int i)intgetMode()AbstractEnvironmentDataSource<T>getObservableDataSource()java.util.ArrayList<java.lang.String>getObservableNames()intgetObservableSize()double[]getObservableState()doublegetObservableState(int i)double[]getSquaredDeltas(double[] comp)Returns the squared difference between this environment's current state and the given values.InterfaceTreeNodegetTreeNodeCopy()voidhandleOutputEvent(DynamicModelOutputEvent e)booleanhasSensor(DynamicModelEnvironmentSensor s)booleanisDestroyed()Test whether this object has been destroyedInterfaceTreeNodeissueTreeNode()Issues a new tree node and sets it usingAbstractInterfaceObject.setTreeNode(mgui.interfaces.trees.InterfaceTreeNode).voidremoveListener(DynamicModelEnvironmentListener l)voidremoveObservableName(int index)voidremoveObservableName(java.lang.String name)voidremoveSensor(DynamicModelEnvironmentSensor s)voidreset()voidresetInputDataSource()protected voidresetInputNames()protected voidresetInputState()voidresetObservableDataSource()protected voidresetObservableState()voidsetInputName(int index, java.lang.String name)voidsetInputNames(java.util.List<java.lang.String> names)voidsetInputSize(int s)voidsetInputState(double[] v)voidsetMode(int m)voidsetObservableName(int index, java.lang.String name)voidsetObservableNames(NameMap names)voidsetObservableSize(int s)voidsetObservableState(double[] values)voidsetObservableState(int index, double value)voidsetTreeNode()voidsetUpdater(DynamicModelUpdater updater)voidtimeElapsed(double time)java.lang.StringtoString()Methods inherited from class mgui.interfaces.AbstractInterfaceObject
clean, getName, getTreeLabel, setName, setTreeNode, updateTreeNodesMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface mgui.interfaces.util.CleanableObject
cleanMethods inherited from interface mgui.interfaces.NamedObject
getName, setNameMethods inherited from interface mgui.interfaces.trees.TreeObject
getTreeLabel, setTreeNode
-
Field Details
-
inputState
protected double[] inputState -
observableState
protected double[] observableState -
clock
protected double clock -
updater
-
sensors
-
updated
public boolean updated -
mode
public int mode -
observable_data_source
-
input_data_source
-
treeNodes
-
observable_names
-
input_names
-
isDestroyed
protected boolean isDestroyed
-
-
Constructor Details
-
SimpleEnvironment
public SimpleEnvironment() -
SimpleEnvironment
Creates an instance of SimpleEnvironment with the specified updater.- Parameters:
updater-
-
-
Method Details
-
getClock
public double getClock()- Specified by:
getClockin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
addListener
- Specified by:
addListenerin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
removeListener
- Specified by:
removeListenerin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
fireListeners
protected void fireListeners() -
setUpdater
- Specified by:
setUpdaterin interfaceDynamicModelEnvironment<T extends MguiNumber>- Throws:
DynamicModelException
-
getDataSources
- Specified by:
getDataSourcesin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setInputState
public void setInputState(double[] v) -
getInputState
public double[] getInputState()- Specified by:
getInputStatein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getInputState
public double getInputState(int i)- Specified by:
getInputStatein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setInputName
public void setInputName(int index, java.lang.String name)- Specified by:
setInputNamein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setInputNames
public void setInputNames(java.util.List<java.lang.String> names)- Specified by:
setInputNamesin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getInputNames
public java.util.List<java.lang.String> getInputNames()- Specified by:
getInputNamesin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setObservableName
public void setObservableName(int index, java.lang.String name)- Specified by:
setObservableNamein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setObservableNames
- Specified by:
setObservableNamesin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getObservableNames
public java.util.ArrayList<java.lang.String> getObservableNames()- Specified by:
getObservableNamesin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
removeObservableName
public void removeObservableName(java.lang.String name)- Specified by:
removeObservableNamein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
removeObservableName
public void removeObservableName(int index)- Specified by:
removeObservableNamein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setObservableState
public void setObservableState(double[] values)- Specified by:
setObservableStatein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setObservableState
public void setObservableState(int index, double value)- Specified by:
setObservableStatein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getObservableState
public double getObservableState(int i)- Specified by:
getObservableStatein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getObservableState
public double[] getObservableState()- Specified by:
getObservableStatein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getObservableSize
public int getObservableSize()- Specified by:
getObservableSizein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getDeltas
public double[] getDeltas(double[] comp)Returns the difference between this environment's current state and the given values. Calculated as delta[i] = env[i] - comp[i].- Parameters:
comp-- Returns:
-
getSquaredDeltas
public double[] getSquaredDeltas(double[] comp)Returns the squared difference between this environment's current state and the given values.- Parameters:
comp-- Returns:
-
timeElapsed
public void timeElapsed(double time)- Specified by:
timeElapsedin interfaceTimeStepListener
-
setMode
public void setMode(int m) -
getMode
public int getMode() -
reset
public void reset()- Specified by:
resetin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
resetInputState
protected void resetInputState() -
resetObservableState
protected void resetObservableState() -
fireSensors
protected void fireSensors() -
handleOutputEvent
- Specified by:
handleOutputEventin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setObservableSize
public void setObservableSize(int s)- Specified by:
setObservableSizein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
setInputSize
public void setInputSize(int s)- Specified by:
setInputSizein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
addSensor
- Specified by:
addSensorin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
removeSensor
- Specified by:
removeSensorin interfaceDynamicModelEnvironment<T extends MguiNumber>
-
getObservableDataSource
- Specified by:
getObservableDataSourcein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
resetObservableDataSource
public void resetObservableDataSource() -
getInputDataSource
- Specified by:
getInputDataSourcein interfaceDynamicModelEnvironment<T extends MguiNumber>
-
resetInputDataSource
public void resetInputDataSource() -
resetInputNames
protected void resetInputNames() -
clone
public java.lang.Object clone()- Overrides:
clonein classjava.lang.Object
-
issueTreeNode
Description copied from class:AbstractInterfaceObjectIssues a new tree node and sets it usingAbstractInterfaceObject.setTreeNode(mgui.interfaces.trees.InterfaceTreeNode). The tree node is stored in this object, which facilitates their destruction when necessary (e.g., when this object is destroyed). All issued tree nodes can informed of changes to their user object using the methodAbstractInterfaceObject.updateTreeNodes().- Specified by:
issueTreeNodein interfaceTreeObject- Overrides:
issueTreeNodein classAbstractInterfaceObject- Returns:
- a new
InterfaceTreeNode
-
hasSensor
-
getTreeNodeCopy
-
setTreeNode
public void setTreeNode() -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
destroy
public void destroy()Description copied from interface:InterfaceObjectDestroy this object (prepare it to be removed from memory)- Specified by:
destroyin interfaceInterfaceObject- Overrides:
destroyin classAbstractInterfaceObject
-
isDestroyed
public boolean isDestroyed()Description copied from interface:InterfaceObjectTest whether this object has been destroyed- Specified by:
isDestroyedin interfaceInterfaceObject- Overrides:
isDestroyedin classAbstractInterfaceObject- Returns:
-