Package com.anylogic.engine.gui
- Nested Class Summary
- Nested classes/interfaces inherited from interface com.anylogic.engine.gui.IExperimentHost
- Constructor Summary
- Method Summary
- Constructor Details
- Method Details
- setPresentable
- getPresentable
- getExperiment
- navigateHome
- navigateTo
- zoomIn
- zoomOut
- setCenter
- setZoomAndPanningEnabled
- isZoomAndPanningEnabled
- setDeveloperPanelEnabled
- setDeveloperPanelVisibleOnStart
- setRunControlEnabled
- isRunControlEnabled
- setSpeedControlEnabled
- isSpeedControlEnabled
- addInspect
- removeInspect
- showMessageDialog
- showErrorDialog
- showErrorInModelDialog
- openWebSite
- copyToClipboard
- saveSnapshot
- loadSnapshot
- close
- launch
- getConfiguration
- getUpdate
- getNextFrameNumber
- executeUserAction
- executeCommand
- getExperimentState
- setValue
- getValue
- callFunction
- getProgress
- setSpeed
- setMaxFPS
- setSendConsoleItems
- postExperimentSettings
- onAgentDestroyed_xjal
- getFrameProducer
- java.lang.Object
- com.anylogic.engine.gui.ExperimentHost
- All Implemented Interfaces:
IExperimentHost
@AnyLogicInternalAPI public class ExperimentHost extends Object implements IExperimentHost
This class is internal and shouldn't be called by user.
it may be removed/renamed in future.
it may be removed/renamed in future.
- Author:
- AnyLogic North America, LLC https://anylogic.com
Constructor | Description |
---|---|
ExperimentHost | |
ExperimentHost |
Deprecated.
|
Modifier and Type | Method | Description |
---|---|---|
void | addInspect |
Creates an inspect window at a particular location for an element of a
Presentable object.
|
Object | callFunction | |
void | close() |
This method returns immediately and performs
the following actions in a separate thread:
stops experiment if it is not stopped,
destroys the model and
closes experiment window (only if model is started in the application mode)
|
void | copyToClipboard |
Copies the given text to the system clipboard
Due to the security policy of the browser, the actual copying may be preceded by a prompt. |
void | executeCommand | |
void | executeUserAction | |
LaunchConfiguration | getConfiguration() | |
Experiment<?> | getExperiment() |
Returns the experiment associated with this host.
|
Experiment.State | getExperimentState() | |
SVGFrameProducer | getFrameProducer() | |
long | getNextFrameNumber() | |
Presentable | getPresentable() |
Returns the current top-level object (Agent or Experiment), whose
presentation is displayed.
|
double | getProgress() | |
AnimationPacket | getUpdate | |
Object | getValue | |
boolean | isRunControlEnabled() |
Tests if Run, Pause, and Stop buttons on the model toolbar are enabled.
|
boolean | isSpeedControlEnabled() |
Tests if the model execution speed control buttons on the model toolbar are enabled.
|
boolean | isZoomAndPanningEnabled() |
Tests if zoom & panning from the GUI is enabled.
|
void | launch |
Creates and optionally runs experiment, starts frame collection
|
void | loadSnapshot |
Stops experiment and loads snapshot (in its 'not
running' state), doesn't resume simulation of loaded snapshot.
On any error throws nothing, silently rollbacks to the current experiment and resumes it if it was running. When snapshot is loaded, presentation forgets everything about the model which was running before (including the engine, experiment and agents), therefore, it is recommended not to keep references to model objects after this method call Usage example: |
void | navigateHome() |
Navigates presentation home, i.e.
|
void | navigateTo |
Shows the given view area in the model animation panel
|
void | onAgentDestroyed_xjal |
A callback called by the engine when an agent is being
destroyed.
|
void | openWebSite |
Opens web page with the given URL in the browser
|
void | postExperimentSettings() | |
void | removeInspect |
Removes the inspect window for the given element
|
void | saveSnapshot |
Pauses experiment if it is currently running, saves snapshot
and then resumes experiment if it was running
On any error throws nothing. Usage example: |
void | setCenter |
Centers the animation view to the given x and y (in the model coordinates)
|
void | setDeveloperPanelEnabled |
Enables or disables the developer panel.
|
void | setDeveloperPanelVisibleOnStart |
Shows (if enabled) the developer panel when the
model window is shown.
|
void | setMaxFPS |
Sets the new maximum FPS to be used by the SVGFrameCollector.
|
void | setPresentable |
Sets a new top-level object (Agent or Experiment) to be displayed
and navigates to its home point.
|
void | setRunControlEnabled |
Enables or disables Run, Pause, and Stop buttons on the model toolbar
(but not in the developer panel), and sets the corresponding tooltips.
|
void | setSendConsoleItems | |
void | setSpeed | |
void | setSpeedControlEnabled |
Enables or disables the model execution speed control buttons on the model toolbar
(but not in the developer panel), and sets the corresponding tooltips.
|
void | setValue | |
void | setZoomAndPanningEnabled |
Enables or disables zoom & panning initiated from the GUI (button.
|
void | showErrorDialog |
Shows a standard error dialog box with the given text.
|
void | showErrorInModelDialog |
Shows a standard 'error in model logic' dialog box with the given text.
|
void | showMessageDialog |
Shows a standard message dialog box with the given text.
|
void | zoomIn |
Zooms in the animation view by the given amount
|
void | zoomOut |
Zooms out the animation view by the given amount
|
@AnyLogicInternalAPI public ExperimentHost(Experiment<?> experiment)
@Deprecated @AnyLogicInternalAPI public ExperimentHost(String experimentClassName)
Deprecated.
public void setPresentable(Presentable presentable)
Description copied from interface:
IExperimentHost
Sets a new top-level object (Agent or Experiment) to be displayed
and navigates to its home point.
- Specified by:
setPresentable
in interfaceIExperimentHost
- Parameters:
presentable
- the new top-level object to be displayed
public Presentable getPresentable()
Description copied from interface:
IExperimentHost
Returns the current top-level object (Agent or Experiment), whose
presentation is displayed.
- Specified by:
getPresentable
in interfaceIExperimentHost
- Returns:
- the current top-level object being displayed, or null
public Experiment<?> getExperiment()
Description copied from interface:
IExperimentHost
Returns the experiment associated with this host.
- Specified by:
getExperiment
in interfaceIExperimentHost
- Returns:
- the experiment associated with this host
public void zoomIn(double coefficient)
Description copied from interface:
IExperimentHost
Zooms in the animation view by the given amount
- Specified by:
zoomIn
in interfaceIExperimentHost
- Parameters:
coefficient
- how much to zoom in, positive number. E.g. 2.0 will result in 2x scaling compared to the current view
public void zoomOut(double coefficient)
Description copied from interface:
IExperimentHost
Zooms out the animation view by the given amount
- Specified by:
zoomOut
in interfaceIExperimentHost
- Parameters:
coefficient
- how much to zoom out, positive number. E.g. 2.0 will result in 0.5x scaling compared to the current view
public void setCenter(double centerx, double centery)
Description copied from interface:
IExperimentHost
Centers the animation view to the given x and y (in the model coordinates)
- Specified by:
setCenter
in interfaceIExperimentHost
- Parameters:
centerx
- the x to be centeredcentery
- the y to be centered
public void setZoomAndPanningEnabled(boolean yes)
Description copied from interface:
IExperimentHost
Enables or disables zoom & panning initiated from the GUI (button. mouse, or keyboard).
- Specified by:
setZoomAndPanningEnabled
in interfaceIExperimentHost
- Parameters:
yes
- iftrue
, zoom & panning should be enabled, iffalse
- disabled
public boolean isZoomAndPanningEnabled()
Description copied from interface:
IExperimentHost
Tests if zoom & panning from the GUI is enabled.
- Specified by:
isZoomAndPanningEnabled
in interfaceIExperimentHost
- Returns:
true
if zoom & panning are enabled,false
if not.
public void setDeveloperPanelEnabled(boolean debugPanelEnabled)
Description copied from interface:
IExperimentHost
Enables or disables the developer panel.
- Specified by:
setDeveloperPanelEnabled
in interfaceIExperimentHost
- Parameters:
debugPanelEnabled
- iffalse
, there will be no button to show the developer panel
public void setDeveloperPanelVisibleOnStart(boolean debugPanelVisibleOnStart)
Description copied from interface:
IExperimentHost
Shows (if enabled) the developer panel when the
model window is shown.
- Specified by:
setDeveloperPanelVisibleOnStart
in interfaceIExperimentHost
- Parameters:
debugPanelVisibleOnStart
- iftrue
, the panel will be visible from the beginning, and may be later hidden by pressing the special button.
public void setRunControlEnabled(boolean runControlEnabled)
Description copied from interface:
IExperimentHost
Enables or disables Run, Pause, and Stop buttons on the model toolbar
(but not in the developer panel), and sets the corresponding tooltips.
- Specified by:
setRunControlEnabled
in interfaceIExperimentHost
- Parameters:
runControlEnabled
- iffalse
, those buttons will be disabled
public boolean isRunControlEnabled()
Description copied from interface:
IExperimentHost
Tests if Run, Pause, and Stop buttons on the model toolbar are enabled.
- Specified by:
isRunControlEnabled
in interfaceIExperimentHost
- Returns:
true
if they are enabled,false
if not.
public void setSpeedControlEnabled(boolean speedControlEnabled)
Description copied from interface:
IExperimentHost
Enables or disables the model execution speed control buttons on the model toolbar
(but not in the developer panel), and sets the corresponding tooltips.
- Specified by:
setSpeedControlEnabled
in interfaceIExperimentHost
- Parameters:
speedControlEnabled
- iffalse
, those buttons will be disabled
public boolean isSpeedControlEnabled()
Description copied from interface:
IExperimentHost
Tests if the model execution speed control buttons on the model toolbar are enabled.
- Specified by:
isSpeedControlEnabled
in interfaceIExperimentHost
- Returns:
true
if they are enabled,false
if not.
public void addInspect(double x, double y, Presentable p, String name)
Description copied from interface:
IExperimentHost
Creates an inspect window at a particular location for an element of a
Presentable object. If there is another inspect with the same Presentable
and same element name, it is brought to front and a new inspect is not created.
The initial size of the window is adjusted to fit the initial contents.
- Specified by:
addInspect
in interfaceIExperimentHost
- Parameters:
x
- the x coordinate in the presentable object systemy
- the y coordinate in the presentable object systemp
- the Presentable object whose element is being inspectedname
- the name of the element being inspected
public void removeInspect(Presentable p, String name)
Description copied from interface:
IExperimentHost
Removes the inspect window for the given element
- Specified by:
removeInspect
in interfaceIExperimentHost
- Parameters:
p
- the Presentable object whose element is being inspectedname
- the name of the element being inspected
public void showMessageDialog(String text)
Description copied from interface:
IExperimentHost
Shows a standard message dialog box with the given text. This method
usually returns immediately - it doesn't wait for the dialog to
be closed (except the cases when called from UI thread)
- Specified by:
showMessageDialog
in interfaceIExperimentHost
- Parameters:
text
- the text to display
public void showErrorDialog(String text, String title)
Description copied from interface:
IExperimentHost
Shows a standard error dialog box with the given text. This method
usually returns immediately - it doesn't wait for the dialog to
be closed (except the cases when called from UI thread)
- Specified by:
showErrorDialog
in interfaceIExperimentHost
- Parameters:
text
- the text to displaytitle
- title of the dialog window
public void showErrorInModelDialog(String text, String title)
Description copied from interface:
IExperimentHost
Shows a standard 'error in model logic' dialog box with the given text. This method
usually returns immediately - it doesn't wait for the dialog to
be closed (except the cases when called from UI thread)
- Specified by:
showErrorInModelDialog
in interfaceIExperimentHost
- Parameters:
text
- the text to displaytitle
- title of the dialog window
public void openWebSite(String url)
Description copied from interface:
IExperimentHost
Opens web page with the given URL in the browser
- Specified by:
openWebSite
in interfaceIExperimentHost
- Parameters:
url
- the url to open
public void copyToClipboard(String text)
Description copied from interface:
IExperimentHost
Copies the given text to the system clipboard
Due to the security policy of the browser, the actual copying may be preceded by a prompt.
Due to the security policy of the browser, the actual copying may be preceded by a prompt.
- Specified by:
copyToClipboard
in interfaceIExperimentHost
- Parameters:
text
- the text to copy
public void saveSnapshot(String fileName, Runnable successfulCallback, Consumer<Throwable> errorCallback)
Description copied from interface:
IExperimentHost
Pauses experiment if it is currently running, saves snapshot
and then resumes experiment if it was running
On any error throws nothing.
Usage example:
This method is only available in the AnyLogic Professional
On any error throws nothing.
Usage example:
getExperimentHost().saveSnapshot( "file.als", () -> traceln("Saved!"), e -> { traceln("Error!"); e.printStackTrace(); } );
This method is only available in the AnyLogic Professional
- Specified by:
saveSnapshot
in interfaceIExperimentHost
- Parameters:
fileName
- the name of snapshot filesuccessfulCallback
- called when snapshot is successfully savederrorCallback
- called in case of any error
public void loadSnapshot(String fileName, Runnable successfulCallback, Consumer<Throwable> errorCallback)
Description copied from interface:
IExperimentHost
Stops experiment and loads snapshot (in its 'not
running' state), doesn't resume simulation of loaded snapshot.
On any error throws nothing, silently rollbacks to the current experiment and resumes it if it was running.
When snapshot is loaded, presentation forgets everything about the model which was running before (including the engine, experiment and agents), therefore, it is recommended not to keep references to model objects after this method call
Usage example:
This method is only available in the AnyLogic Professional
On any error throws nothing, silently rollbacks to the current experiment and resumes it if it was running.
When snapshot is loaded, presentation forgets everything about the model which was running before (including the engine, experiment and agents), therefore, it is recommended not to keep references to model objects after this method call
Usage example:
getExperimentHost().loadSnapshot( "file.als", () -> { traceln("Loaded!"); getExperimentHost().setPresentable( getExperiment().getEngine().getRoot() ); getExperiment().run(); }, e -> { traceln("Error!"); e.printStackTrace(); } );
This method is only available in the AnyLogic Professional
- Specified by:
loadSnapshot
in interfaceIExperimentHost
- Parameters:
fileName
- the name of snapshot file
public void close()
Description copied from interface:
IExperimentHost
This method returns immediately and performs
the following actions in a separate thread:
- stops experiment if it is not stopped,
- destroys the model and
- closes experiment window (only if model is started in the application mode)
- Specified by:
close
in interfaceIExperimentHost
@AnyLogicInternalAPI public void launch(boolean startServer, boolean startExperiment)
Description copied from interface:
IExperimentHost
Creates and optionally runs experiment, starts frame collection
- Specified by:
launch
in interfaceIExperimentHost
- Parameters:
startServer
- TODO
@AnyLogicInternalAPI public LaunchConfiguration getConfiguration()
- Specified by:
getConfiguration
in interfaceIExperimentHost
@AnyLogicInternalAPI public AnimationPacket getUpdate(boolean fullFrame)
- Specified by:
getUpdate
in interfaceIExperimentHost
@AnyLogicInternalAPI public long getNextFrameNumber()
- Specified by:
getNextFrameNumber
in interfaceIExperimentHost
@AnyLogicInternalAPI public void executeUserAction(long svgId, String value)
- Specified by:
executeUserAction
in interfaceIExperimentHost
@AnyLogicInternalAPI public void executeCommand(String cmd, String parameters)
- Specified by:
executeCommand
in interfaceIExperimentHost
@AnyLogicInternalAPI public Experiment.State getExperimentState()
- Specified by:
getExperimentState
in interfaceIExperimentHost
@AnyLogicInternalAPI public void setValue(String pathtofield, IExperimentHost.IValue value)
- Specified by:
setValue
in interfaceIExperimentHost
@AnyLogicInternalAPI public Object getValue(String pathtofield)
- Specified by:
getValue
in interfaceIExperimentHost
public Object callFunction(String pathtofunction, IExperimentHost.IValue... args)
- Specified by:
callFunction
in interfaceIExperimentHost
@AnyLogicInternalAPI public double getProgress()
- Specified by:
getProgress
in interfaceIExperimentHost
@AnyLogicInternalAPI public void setSpeed(double speed)
- Specified by:
setSpeed
in interfaceIExperimentHost
@AnyLogicInternalAPI public void setMaxFPS(double maxFPS)
Sets the new maximum FPS to be used by the SVGFrameCollector. The actual FPS of the
packets sent can be lower than that, as the SVGFrameCollector may adjust FPS to
keep the number of frames per packet in certain bounds, see SVGFrameCollector.adjustFPS().
- Specified by:
setMaxFPS
in interfaceIExperimentHost
- Parameters:
maxFPS
- the new FPS suggested by the frontend
@AnyLogicInternalAPI public void setSendConsoleItems(boolean yes)
- Specified by:
setSendConsoleItems
in interfaceIExperimentHost
@AnyLogicInternalAPI public void postExperimentSettings()
- Specified by:
postExperimentSettings
in interfaceIExperimentHost
@AnyLogicInternalAPI public void onAgentDestroyed_xjal(Agent ao)
Description copied from interface:
IExperimentHost
A callback called by the engine when an agent is being
destroyed. If that agent is currently displayed by the
presentation, display experiment.
- Specified by:
onAgentDestroyed_xjal
in interfaceIExperimentHost
- Parameters:
ao
- the agent being destroyed
public SVGFrameProducer getFrameProducer()
- Specified by:
getFrameProducer
in interfaceIExperimentHost