RoveSoSimulator
Loading...
Searching...
No Matches
IRoverInterface Class Referenceabstract

Interface which represents the logic expected to change depending on rover version. More...

#include <RoverInterface.h>

Inheritance diagram for IRoverInterface:

Public Member Functions

virtual constexpr const uint8 GetNumControlStates ()=0
virtual constexpr const bool IsDirectDriveControlMode (uint8 state)=0
virtual constexpr const bool IsRotationDriveControlMode (uint8 state)=0
virtual constexpr const bool IsRoveCommDriveControlMode (uint8 state)=0
virtual constexpr const bool IsRoverDriveControlMode (uint8 state)=0
virtual constexpr const bool IsOrbitCameraMode (uint8 state)=0
virtual constexpr const bool IsLockedCameraMode (uint8 state)=0
virtual constexpr const bool IsFixedCameraMode (uint8 state)=0
virtual constexpr const bool IsFreeCameraMode (uint8 state)=0
virtual constexpr const bool IsRotatableCameraMode (uint8 state)=0
virtual constexpr const FVector GetColorForControlState (uint8 state)=0
virtual void InitalizeStates (ARoverVehiclePawn *rover)=0
virtual void HandleAttachmentState (ARoverVehiclePawn *rover)=0
virtual void HandleCameraState (ARoverVehiclePawn *rover)=0
virtual void CameraCycleCallback (ARoverVehiclePawn *rover, const bool forwards)=0
virtual void HandleControlState (ARoverVehiclePawn *rover)=0
virtual void ControlModeCycleCallback (ARoverVehiclePawn *rover, const bool forwards)=0
virtual const bool ControlModeSetCallback (ARoverVehiclePawn *rover, short num)=0
virtual void LeftThrottleCallback (ARoverVehiclePawn *rover, const float value)=0
virtual void RightThrottleCallback (ARoverVehiclePawn *rover, const float value)=0
virtual void TranslationCallback (ARoverVehiclePawn *rover, const float value)=0
virtual void RotationCallback (ARoverVehiclePawn *rover, const float value)=0
virtual void ZoomCallback (ARoverVehiclePawn *rover, const float value)=0

Detailed Description

Interface which represents the logic expected to change depending on rover version.

This was seperated from the main RoverVehiclePawn logic so multiple versions of rover could function in-sim at the same time. Implementations should:

  • Be entirely stateless and must gather and process the needed data for the requested operation themselves.
  • Be friended to RoverVehiclePawn to allow access to protected pointer references.
  • Have at minimum one manual drive and one RoveComm drive control modes

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