All Downloads are FREE. Search and download functionalities are using the official Maven repository.

us.ihmc.scs2.sessionVisualizer.jfx.SessionVisualizerTopics Maven / Gradle / Ivy

package us.ihmc.scs2.sessionVisualizer.jfx;

import javafx.stage.Window;
import javafx.util.Pair;
import org.apache.commons.lang3.tuple.ImmutableTriple;
import us.ihmc.messager.MessagerAPIFactory.Topic;
import us.ihmc.scs2.definition.robot.CameraSensorDefinition;
import us.ihmc.scs2.definition.yoComposite.YoTuple2DDefinition;
import us.ihmc.scs2.definition.yoEntry.YoEntryListDefinition;
import us.ihmc.scs2.definition.yoGraphic.YoGraphicDefinition;
import us.ihmc.scs2.definition.yoSlider.*;
import us.ihmc.scs2.session.*;
import us.ihmc.scs2.session.SessionMessagerAPI.Sensors.SensorMessage;
import us.ihmc.scs2.sessionVisualizer.jfx.controllers.yoComposite.search.SearchEngines;
import us.ihmc.scs2.sessionVisualizer.jfx.managers.NewTerrainVisualRequest;
import us.ihmc.scs2.sessionVisualizer.jfx.managers.SecondaryWindowManager.NewWindowRequest;
import us.ihmc.scs2.sessionVisualizer.jfx.session.OpenSessionControlsRequest;
import us.ihmc.scs2.sessionVisualizer.jfx.yoRobot.NewRobotVisualRequest;
import us.ihmc.scs2.sharedMemory.CropBufferRequest;
import us.ihmc.scs2.sharedMemory.FillBufferRequest;
import us.ihmc.scs2.sharedMemory.interfaces.YoBufferPropertiesReadOnly;
import us.ihmc.scs2.symbolic.YoEquationManager.YoEquationListChange;

import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;

public class SessionVisualizerTopics
{
   // GUI internal topics:
   private Topic disableUserControls;
   private Topic sceneVideoRecordingRequest;
   private Topic camera3DRequest;
   private Topic takeSnapshot;
   private Topic registerRecordable;
   private Topic forgetRecordable;
   private Topic showAdvancedControls;
   private Topic showOverheadPlotter;
   private Topic robotVisualRequest;
   private Topic terrainVisualRequest;
   private Topic openWindowRequest;
   private Topic sessionVisualizerCloseRequest;

   private Topic toggleKeyFrame, requestCurrentKeyFrames;
   private Topic goToNextKeyFrame, goToPreviousKeyFrame;
   private Topic currentKeyFrames;

   private Topic yoSearchEngine;
   private Topic yoSearchMaxListSize;
   private Topic yoCompositePatternLoadRequest;
   private Topic yoCompositePatternSaveRequest;
   private Topic> yoCompositeSelected;
   private Topic yoCompositeRefreshAll;
   private Topic showSCS2YoVariables;
   private Topic yoVariableNameDisplay;

   private Topic yoGraphicLoadRequest;
   private Topic yoGraphicSaveRequest;
   private Topic removeYoGraphicRequest;
   private Topic> setYoGraphicVisibleRequest;
   private Topic addYoGraphicRequest;
   private Topic plotter2DTrackCoordinateRequest;

   private Topic> yoChartZoomFactor;
   private Topic> yoChartRequestZoomIn, yoChartRequestZoomOut;
   private Topic> yoChartRequestShift;
   private Topic> yoChartShowYAxis;

   private Topic> yoChartGroupSaveConfiguration;
   private Topic> yoChartGroupLoadConfiguration;

   private Topic yoEntryListAdd;

   private Topic yoMultiSliderboardSave;
   private Topic yoMultiSliderboardLoad;
   private Topic yoMultiSliderboardClearAll;
   private Topic yoMultiSliderboardSet;
   private Topic yoSliderboardSet;
   private Topic> yoSliderboardRemove;

   private Topic> yoSliderboardSetButton;
   private Topic> yoSliderboardSetKnob;
   private Topic> yoSliderboardSetSlider;
   private Topic> yoSliderboardClearButton;
   private Topic> yoSliderboardClearKnob;
   private Topic> yoSliderboardClearSlider;

   private Topic controlsNumberPrecision;

   private Topic sessionVisualizerConfigurationLoadRequest;
   private Topic sessionVisualizerConfigurationSaveRequest;
   private Topic sessionVisualizerDefaultConfigurationLoadRequest;
   private Topic sessionVisualizerDefaultConfigurationSaveRequest;

   private Topic sessionDataFilterParametersAddRequest;

   // Session topics
   private Topic sessionCurrentState;
   private Topic sessionCurrentMode;
   private Topic runAtRealTimeRate;
   private Topic sessionDTNanoseconds;
   private Topic playbackRealTimeRate;
   private Topic bufferRecordTickPeriod;
   private Topic initializeBufferRecordTickPeriod;
   private Topic runMaxDuration;
   private Topic sessionDataExportRequest;
   private Topic startNewSessionRequest;
   private Topic openSessionControlsRequest;

   private Topic sessionRobotDefinitionListChangeRequest;
   private Topic sessionRobotDefinitionListChangeState;

   private Topic sessionYoEquationListChangeRequest;
   private Topic sessionYoEquationListChangeState;

   private Topic yoBufferCurrentIndexRequest;
   private Topic yoBufferIncrementCurrentIndexRequest, yoBufferDecrementCurrentIndexRequest;
   private Topic yoBufferInPointIndexRequest, yoBufferOutPointIndexRequest;
   private Topic yoBufferCropRequest;
   private Topic yoBufferFillRequest;
   private Topic yoBufferCurrentSizeRequest;
   private Topic yoBufferInitializeSize;
   private Topic yoBufferCurrentProperties;
   private Topic yoBufferForceListenerUpdate;
   private Topic> cameraSensorDefinitionData;
   private Topic> cameraSensorFrame;

   public void setupTopics()
   {
      disableUserControls = SessionVisualizerMessagerAPI.DisableUserControls;
      sceneVideoRecordingRequest = SessionVisualizerMessagerAPI.SceneVideoRecordingRequest;
      camera3DRequest = SessionVisualizerMessagerAPI.Camera3DRequest;
      takeSnapshot = SessionVisualizerMessagerAPI.TakeSnapshot;
      registerRecordable = SessionVisualizerMessagerAPI.RegisterRecordable;
      forgetRecordable = SessionVisualizerMessagerAPI.ForgetRecordable;
      showAdvancedControls = SessionVisualizerMessagerAPI.ShowAdvancedControls;
      showOverheadPlotter = SessionVisualizerMessagerAPI.ShowOverheadPlotter;
      robotVisualRequest = SessionVisualizerMessagerAPI.RobotVisualRequest;
      terrainVisualRequest = SessionVisualizerMessagerAPI.TerrainVisualRequest;
      openWindowRequest = SessionVisualizerMessagerAPI.OpenWindowRequest;
      sessionVisualizerCloseRequest = SessionVisualizerMessagerAPI.SessionVisualizerCloseRequest;

      toggleKeyFrame = SessionVisualizerMessagerAPI.KeyFrame.ToggleKeyFrame;
      requestCurrentKeyFrames = SessionVisualizerMessagerAPI.KeyFrame.RequestCurrentKeyFrames;
      goToNextKeyFrame = SessionVisualizerMessagerAPI.KeyFrame.GoToNextKeyFrame;
      goToPreviousKeyFrame = SessionVisualizerMessagerAPI.KeyFrame.GoToPreviousKeyFrame;
      currentKeyFrames = SessionVisualizerMessagerAPI.KeyFrame.CurrentKeyFrames;

      yoSearchEngine = SessionVisualizerMessagerAPI.YoSearch.YoSearchEngine;
      yoSearchMaxListSize = SessionVisualizerMessagerAPI.YoSearch.YoSearchMaxListSize;
      yoCompositePatternLoadRequest = SessionVisualizerMessagerAPI.YoSearch.YoCompositePatternLoadRequest;
      yoCompositePatternSaveRequest = SessionVisualizerMessagerAPI.YoSearch.YoCompositePatternSaveRequest;
      yoCompositeSelected = SessionVisualizerMessagerAPI.YoSearch.YoCompositePatternSelected;
      yoCompositeRefreshAll = SessionVisualizerMessagerAPI.YoSearch.YoCompositeRefreshAll;
      showSCS2YoVariables = SessionVisualizerMessagerAPI.YoSearch.ShowSCS2YoVariables;
      yoVariableNameDisplay = SessionVisualizerMessagerAPI.YoSearch.YoVariableNameDisplay;

      yoGraphicLoadRequest = SessionVisualizerMessagerAPI.YoGraphic.YoGraphicLoadRequest;
      yoGraphicSaveRequest = SessionVisualizerMessagerAPI.YoGraphic.YoGraphicSaveRequest;
      removeYoGraphicRequest = SessionVisualizerMessagerAPI.YoGraphic.RemoveYoGraphicRequest;
      setYoGraphicVisibleRequest = SessionVisualizerMessagerAPI.YoGraphic.SetYoGraphicVisibleRequest;
      addYoGraphicRequest = SessionVisualizerMessagerAPI.YoGraphic.AddYoGraphicRequest;
      plotter2DTrackCoordinateRequest = SessionVisualizerMessagerAPI.YoGraphic.Plotter2DTrackCoordinateRequest;

      yoChartZoomFactor = SessionVisualizerMessagerAPI.YoChart.YoChartZoomFactor;
      yoChartRequestZoomIn = SessionVisualizerMessagerAPI.YoChart.YoChartRequestZoomIn;
      yoChartRequestZoomOut = SessionVisualizerMessagerAPI.YoChart.YoChartRequestZoomOut;
      yoChartRequestShift = SessionVisualizerMessagerAPI.YoChart.YoChartRequestShift;
      yoChartShowYAxis = SessionVisualizerMessagerAPI.YoChart.YoChartShowYAxis;
      yoChartGroupSaveConfiguration = SessionVisualizerMessagerAPI.YoChart.YoChartGroupSaveConfiguration;
      yoChartGroupLoadConfiguration = SessionVisualizerMessagerAPI.YoChart.YoChartGroupLoadConfiguration;

      yoEntryListAdd = SessionVisualizerMessagerAPI.YoEntry.YoEntryListAdd;

      yoMultiSliderboardSave = SessionVisualizerMessagerAPI.YoSliderboard.YoMultiSliderboardSave;
      yoMultiSliderboardLoad = SessionVisualizerMessagerAPI.YoSliderboard.YoMultiSliderboardLoad;
      yoMultiSliderboardClearAll = SessionVisualizerMessagerAPI.YoSliderboard.YoMultiSliderboardClearAll;
      yoMultiSliderboardSet = SessionVisualizerMessagerAPI.YoSliderboard.YoMultiSliderboardSet;
      yoSliderboardSet = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardSet;
      yoSliderboardRemove = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardRemove;
      yoSliderboardSetButton = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardSetButton;
      yoSliderboardSetKnob = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardSetKnob;
      yoSliderboardSetSlider = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardSetSlider;
      yoSliderboardClearButton = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardClearButton;
      yoSliderboardClearKnob = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardClearKnob;
      yoSliderboardClearSlider = SessionVisualizerMessagerAPI.YoSliderboard.YoSliderboardClearSlider;

      controlsNumberPrecision = SessionVisualizerMessagerAPI.ControlsNumberPrecision;

      sessionVisualizerConfigurationLoadRequest = SessionVisualizerMessagerAPI.SessionVisualizerConfigurationLoadRequest;
      sessionVisualizerConfigurationSaveRequest = SessionVisualizerMessagerAPI.SessionVisualizerConfigurationSaveRequest;
      sessionVisualizerDefaultConfigurationLoadRequest = SessionVisualizerMessagerAPI.SessionVisualizerDefaultConfigurationLoadRequest;
      sessionVisualizerDefaultConfigurationSaveRequest = SessionVisualizerMessagerAPI.SessionVisualizerDefaultConfigurationSaveRequest;

      sessionDataFilterParametersAddRequest = SessionVisualizerMessagerAPI.SessionDataFilterParametersAddRequest;

      sessionCurrentState = SessionMessagerAPI.SessionCurrentState;
      sessionCurrentMode = SessionMessagerAPI.SessionCurrentMode;
      runAtRealTimeRate = SessionMessagerAPI.RunAtRealTimeRate;
      sessionDTNanoseconds = SessionMessagerAPI.SessionDTNanoseconds;
      playbackRealTimeRate = SessionMessagerAPI.PlaybackRealTimeRate;
      bufferRecordTickPeriod = SessionMessagerAPI.BufferRecordTickPeriod;
      initializeBufferRecordTickPeriod = SessionMessagerAPI.InitializeBufferRecordTickPeriod;
      runMaxDuration = SessionMessagerAPI.RunMaxDuration;
      sessionDataExportRequest = SessionMessagerAPI.SessionDataExportRequest;
      startNewSessionRequest = SessionVisualizerMessagerAPI.SessionAPI.StartNewSessionRequest;
      openSessionControlsRequest = SessionVisualizerMessagerAPI.SessionAPI.OpenSessionControlsRequest;

      sessionRobotDefinitionListChangeRequest = SessionMessagerAPI.SessionRobotDefinitionListChangeRequest;
      sessionRobotDefinitionListChangeState = SessionMessagerAPI.SessionRobotDefinitionListChangeState;

      sessionYoEquationListChangeRequest = SessionMessagerAPI.SessionYoEquationListChangeRequest;
      sessionYoEquationListChangeState = SessionMessagerAPI.SessionYoEquationListChangeState;

      yoBufferCurrentIndexRequest = YoSharedBufferMessagerAPI.CurrentIndexRequest;
      yoBufferIncrementCurrentIndexRequest = YoSharedBufferMessagerAPI.IncrementCurrentIndexRequest;
      yoBufferDecrementCurrentIndexRequest = YoSharedBufferMessagerAPI.DecrementCurrentIndexRequest;
      yoBufferInPointIndexRequest = YoSharedBufferMessagerAPI.InPointIndexRequest;
      yoBufferOutPointIndexRequest = YoSharedBufferMessagerAPI.OutPointIndexRequest;
      yoBufferCropRequest = YoSharedBufferMessagerAPI.CropRequest;
      yoBufferFillRequest = YoSharedBufferMessagerAPI.FillRequest;
      yoBufferCurrentSizeRequest = YoSharedBufferMessagerAPI.CurrentBufferSizeRequest;
      yoBufferInitializeSize = YoSharedBufferMessagerAPI.InitializeBufferSize;
      yoBufferCurrentProperties = YoSharedBufferMessagerAPI.CurrentBufferProperties;
      yoBufferForceListenerUpdate = YoSharedBufferMessagerAPI.ForceListenerUpdate;

      cameraSensorDefinitionData = SessionMessagerAPI.Sensors.CameraSensorDefinitionData;
      cameraSensorFrame = SessionMessagerAPI.Sensors.CameraSensorFrame;
   }

   public Topic getDisableUserControls()
   {
      return disableUserControls;
   }

   public Topic getSceneVideoRecordingRequest()
   {
      return sceneVideoRecordingRequest;
   }

   public Topic getCamera3DRequest()
   {
      return camera3DRequest;
   }

   public Topic getTakeSnapshot()
   {
      return takeSnapshot;
   }

   public Topic getRegisterRecordable()
   {
      return registerRecordable;
   }

   public Topic getForgetRecordable()
   {
      return forgetRecordable;
   }

   public Topic getShowAdvancedControls()
   {
      return showAdvancedControls;
   }

   public Topic getShowOverheadPlotter()
   {
      return showOverheadPlotter;
   }

   public Topic getRobotVisualRequest()
   {
      return robotVisualRequest;
   }

   public Topic getTerrainVisualRequest()
   {
      return terrainVisualRequest;
   }

   public Topic getOpenWindowRequest()
   {
      return openWindowRequest;
   }

   public Topic getSessionVisualizerCloseRequest()
   {
      return sessionVisualizerCloseRequest;
   }

   public Topic getToggleKeyFrame()
   {
      return toggleKeyFrame;
   }

   public Topic getRequestCurrentKeyFrames()
   {
      return requestCurrentKeyFrames;
   }

   public Topic getGoToNextKeyFrame()
   {
      return goToNextKeyFrame;
   }

   public Topic getGoToPreviousKeyFrame()
   {
      return goToPreviousKeyFrame;
   }

   public Topic getCurrentKeyFrames()
   {
      return currentKeyFrames;
   }

   public Topic getYoSearchEngine()
   {
      return yoSearchEngine;
   }

   public Topic getYoSearchMaxListSize()
   {
      return yoSearchMaxListSize;
   }

   public Topic getYoCompositePatternLoadRequest()
   {
      return yoCompositePatternLoadRequest;
   }

   public Topic getYoCompositePatternSaveRequest()
   {
      return yoCompositePatternSaveRequest;
   }

   public Topic> getYoCompositeSelected()
   {
      return yoCompositeSelected;
   }

   public Topic getYoCompositeRefreshAll()
   {
      return yoCompositeRefreshAll;
   }

   public Topic getShowSCS2YoVariables()
   {
      return showSCS2YoVariables;
   }

   public Topic getYoVariableNameDisplay()
   {
      return yoVariableNameDisplay;
   }

   public Topic getYoGraphicLoadRequest()
   {
      return yoGraphicLoadRequest;
   }

   public Topic getYoGraphicSaveRequest()
   {
      return yoGraphicSaveRequest;
   }

   public Topic getRemoveYoGraphicRequest()
   {
      return removeYoGraphicRequest;
   }

   public Topic> getSetYoGraphicVisibleRequest()
   {
      return setYoGraphicVisibleRequest;
   }

   public Topic getAddYoGraphicRequest()
   {
      return addYoGraphicRequest;
   }

   public Topic getPlotter2DTrackCoordinateRequest()
   {
      return plotter2DTrackCoordinateRequest;
   }

   public Topic> getYoChartZoomFactor()
   {
      return yoChartZoomFactor;
   }

   public Topic> getYoChartRequestZoomIn()
   {
      return yoChartRequestZoomIn;
   }

   public Topic> getYoChartRequestZoomOut()
   {
      return yoChartRequestZoomOut;
   }

   public Topic> getYoChartRequestShift()
   {
      return yoChartRequestShift;
   }

   public Topic> getYoChartShowYAxis()
   {
      return yoChartShowYAxis;
   }

   public Topic> getYoChartGroupLoadConfiguration()
   {
      return yoChartGroupLoadConfiguration;
   }

   public Topic> getYoChartGroupSaveConfiguration()
   {
      return yoChartGroupSaveConfiguration;
   }

   public Topic getYoEntryListAdd()
   {
      return yoEntryListAdd;
   }

   public Topic getYoMultiSliderboardSave()
   {
      return yoMultiSliderboardSave;
   }

   public Topic getYoMultiSliderboardLoad()
   {
      return yoMultiSliderboardLoad;
   }

   public Topic getYoMultiSliderboardClearAll()
   {
      return yoMultiSliderboardClearAll;
   }

   public Topic getYoMultiSliderboardSet()
   {
      return yoMultiSliderboardSet;
   }

   public Topic getYoSliderboardSet()
   {
      return yoSliderboardSet;
   }

   public Topic> getYoSliderboardRemove()
   {
      return yoSliderboardRemove;
   }

   public Topic> getYoSliderboardSetButton()
   {
      return yoSliderboardSetButton;
   }

   public Topic> getYoSliderboardSetKnob()
   {
      return yoSliderboardSetKnob;
   }

   public Topic> getYoSliderboardSetSlider()
   {
      return yoSliderboardSetSlider;
   }

   public Topic> getYoSliderboardClearButton()
   {
      return yoSliderboardClearButton;
   }

   public Topic> getYoSliderboardClearKnob()
   {
      return yoSliderboardClearKnob;
   }

   public Topic> getYoSliderboardClearSlider()
   {
      return yoSliderboardClearSlider;
   }

   public Topic getControlsNumberPrecision()
   {
      return controlsNumberPrecision;
   }

   public Topic getSessionVisualizerConfigurationLoadRequest()
   {
      return sessionVisualizerConfigurationLoadRequest;
   }

   public Topic getSessionVisualizerConfigurationSaveRequest()
   {
      return sessionVisualizerConfigurationSaveRequest;
   }

   public Topic getSessionVisualizerDefaultConfigurationLoadRequest()
   {
      return sessionVisualizerDefaultConfigurationLoadRequest;
   }

   public Topic getSessionVisualizerDefaultConfigurationSaveRequest()
   {
      return sessionVisualizerDefaultConfigurationSaveRequest;
   }

   public Topic getSessionDataFilterParametersAddRequest()
   {
      return sessionDataFilterParametersAddRequest;
   }

   public Topic getSessionCurrentState()
   {
      return sessionCurrentState;
   }

   public Topic getSessionCurrentMode()
   {
      return sessionCurrentMode;
   }

   public Topic getRunAtRealTimeRate()
   {
      return runAtRealTimeRate;
   }

   public Topic getSessionDTNanoseconds()
   {
      return sessionDTNanoseconds;
   }

   public Topic getPlaybackRealTimeRate()
   {
      return playbackRealTimeRate;
   }

   public Topic getBufferRecordTickPeriod()
   {
      return bufferRecordTickPeriod;
   }

   public Topic getInitializeBufferRecordTickPeriod()
   {
      return initializeBufferRecordTickPeriod;
   }

   public Topic getRunMaxDuration()
   {
      return runMaxDuration;
   }

   public Topic getSessionDataExportRequest()
   {
      return sessionDataExportRequest;
   }

   public Topic getStartNewSessionRequest()
   {
      return startNewSessionRequest;
   }

   public Topic getOpenSessionControlsRequest()
   {
      return openSessionControlsRequest;
   }

   public Topic getSessionRobotDefinitionListChangeRequest()
   {
      return sessionRobotDefinitionListChangeRequest;
   }

   public Topic getSessionRobotDefinitionListChangeState()
   {
      return sessionRobotDefinitionListChangeState;
   }

   public Topic getSessionYoEquationListChangeRequest()
   {
      return sessionYoEquationListChangeRequest;
   }

   public Topic getSessionYoEquationListChangeState()
   {
      return sessionYoEquationListChangeState;
   }

   public Topic getYoBufferCurrentIndexRequest()
   {
      return yoBufferCurrentIndexRequest;
   }

   public Topic getYoBufferIncrementCurrentIndexRequest()
   {
      return yoBufferIncrementCurrentIndexRequest;
   }

   public Topic getYoBufferDecrementCurrentIndexRequest()
   {
      return yoBufferDecrementCurrentIndexRequest;
   }

   public Topic getYoBufferInPointIndexRequest()
   {
      return yoBufferInPointIndexRequest;
   }

   public Topic getYoBufferOutPointIndexRequest()
   {
      return yoBufferOutPointIndexRequest;
   }

   public Topic getYoBufferCropRequest()
   {
      return yoBufferCropRequest;
   }

   public Topic getYoBufferFillRequest()
   {
      return yoBufferFillRequest;
   }

   public Topic getYoBufferCurrentSizeRequest()
   {
      return yoBufferCurrentSizeRequest;
   }

   public Topic getYoBufferInitializeSize()
   {
      return yoBufferInitializeSize;
   }

   public Topic getYoBufferCurrentProperties()
   {
      return yoBufferCurrentProperties;
   }

   public Topic getYoBufferForceListenerUpdate()
   {
      return yoBufferForceListenerUpdate;
   }

   public Topic> getCameraSensorDefinitionData()
   {
      return cameraSensorDefinitionData;
   }

   public Topic> getCameraSensorFrame()
   {
      return cameraSensorFrame;
   }
}