Class Mode

  • Direct Known Subclasses:
    ModeCost, ModePaths, ModePathsDeviations, ModePathsQueueLengths, ModePathsService, ModePathsSojourn, ModePathsWaiting, ModeRelativePaths

    public abstract class Mode
    extends java.lang.Object
    Class to set the visualisation parameters of the layout of the model. Determines whether deviations, colours and what data are shown on the model. There is a possibility to use any object from the state, however their presence is not guaranteed if requested. Modes will be automatically triggered if any requested object becomes available (thus, ensure that inputsRequested() always returns the same objects). VisualisationParameters should work when the unfiltered aligned log is available. The filtered log (and thus, the highlighting) must be taken care of using getVisualisationData.
    Author:
    sander
    • Constructor Detail

      • Mode

        public Mode()
    • Method Detail

      • getOptionalObjects

        public final IvMObject<?>[] getOptionalObjects()
        Returns:
        The objects that would be handy for this mode. A mode must be always available, so there is no guarantee that the objects will be provided.
      • createOptionalObjects

        protected abstract IvMObject<?>[] createOptionalObjects()
        Returns:
        The objects that would be handy for this mode. A mode must be always available, so there is no guarantee that the objects will be provided.
      • isShowDeviations

        public abstract boolean isShowDeviations()
      • getVisualisationParametersWithAlignments

        public abstract ProcessTreeVisualisationParameters getVisualisationParametersWithAlignments​(IvMObjectValues inputs)
        Note that there is no guarantee that the requested objects will be provided: a mode has to always work. However, alignments can be assumed to have finished. That is, IvMObject.model and IvMObject.aligned_log_info_filtered will be available (though not the filtered variants).
        Returns:
      • getVisualisationData

        public abstract AlignedLogVisualisationData getVisualisationData​(IvMObjectValues inputs)
        Perform the computations necessary to visualise something on the model. Will be called asynchronously, and the result must not be cached. There is no guarantee that the requested inputs will be available: the visualisation data has to always work. However, IvMObject.model and IvMObject.aligned_log_info_filtered will be available but must still be requested.
        Parameters:
        inputs -
        Returns:
      • isVisualisationDataUpdateWithTimeStep

        public abstract boolean isVisualisationDataUpdateWithTimeStep()
        Returns:
        Whether the visualisation data should be updated every time the animation takes a time step.
      • createVisualisationDataOptionalObjects

        protected abstract IvMObject<?>[] createVisualisationDataOptionalObjects()
        Returns:
        The objects that would be handy for this visualisation data. Visualisation data must be always available, so there is no guarantee that the objects will be provided. However, IvMObject.model and IvMObject.aligned_log_info_filtered will be available but must still be requested.
      • getVisualisationDataOptionalObjects

        public final IvMObject<?>[] getVisualisationDataOptionalObjects()
        Returns:
        The objects that would be handy for this visualisation data. Visualisation data must be always available, so there is no guarantee that the objects will be provided. However, IvMObject.model and IvMObject.aligned_log_info_filtered will be available but must still be requested.