bullet3/examples/SharedMemory/PhysicsCommandProcessorInterface.h
erwincoumans ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00

63 lines
2.3 KiB
C++

#ifndef PHYSICS_COMMAND_PROCESSOR_INTERFACE_H
#define PHYSICS_COMMAND_PROCESSOR_INTERFACE_H
enum PhysicsCommandRenderFlags
{
COV_DISABLE_SYNC_RENDERING = 1
};
class PhysicsCommandProcessorInterface
{
public:
virtual ~PhysicsCommandProcessorInterface() {}
virtual bool connect() = 0;
virtual void disconnect() = 0;
virtual bool isConnected() const = 0;
virtual bool processCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes) = 0;
virtual bool receiveStatus(struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes) = 0;
virtual void renderScene(int renderFlags) = 0;
virtual void physicsDebugDraw(int debugDrawFlags) = 0;
virtual void setGuiHelper(struct GUIHelperInterface* guiHelper) = 0;
virtual void setTimeOut(double timeOutInSeconds) = 0;
virtual void reportNotifications() = 0;
};
class btVector3;
class btQuaternion;
class CommandProcessorInterface : public PhysicsCommandProcessorInterface
{
public:
virtual ~CommandProcessorInterface() {}
virtual void syncPhysicsToGraphics() = 0;
virtual void stepSimulationRealTime(double dtInSec, const struct b3VRControllerEvent* vrControllerEvents, int numVRControllerEvents, const struct b3KeyboardEvent* keyEvents, int numKeyEvents, const struct b3MouseEvent* mouseEvents, int numMouseEvents) = 0;
virtual void enableRealTimeSimulation(bool enableRealTimeSim) = 0;
virtual bool isRealTimeSimulationEnabled() const = 0;
virtual void enableCommandLogging(bool enable, const char* fileName) = 0;
virtual void replayFromLogFile(const char* fileName) = 0;
virtual void replayLogCommand(char* bufferServerToClient, int bufferSizeInBytes) = 0;
virtual bool pickBody(const btVector3& rayFromWorld, const btVector3& rayToWorld) = 0;
virtual bool movePickedBody(const btVector3& rayFromWorld, const btVector3& rayToWorld) = 0;
virtual void removePickingConstraint() = 0;
virtual const btVector3& getVRTeleportPosition() const = 0;
virtual void setVRTeleportPosition(const btVector3& vrReleportPos) = 0;
virtual const btQuaternion& getVRTeleportOrientation() const = 0;
virtual void setVRTeleportOrientation(const btQuaternion& vrReleportOrn) = 0;
virtual void processClientCommands() = 0;
};
#endif //PHYSICS_COMMAND_PROCESSOR_INTERFACE_H