46 lines
2.6 KiB
C++
46 lines
2.6 KiB
C++
#ifndef MUJOCO_PHYSICS_SERVER_COMMAND_PROCESSOR_H
|
|
#define MUJOCO_PHYSICS_SERVER_COMMAND_PROCESSOR_H
|
|
|
|
#include "../PhysicsCommandProcessorInterface.h"
|
|
|
|
class MuJoCoPhysicsServerCommandProcessor : public PhysicsCommandProcessorInterface
|
|
{
|
|
|
|
struct MuJoCoPhysicsServerCommandProcessorInternalData* m_data;
|
|
|
|
bool processSyncBodyInfoCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processRequestInternalDataCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processSyncUserDataCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processLoadMJCFCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processRequestBodyInfoCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processForwardDynamicsCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processSendPhysicsParametersCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processRequestActualStateCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
bool processResetSimulationCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
|
|
void resetSimulation();
|
|
|
|
public:
|
|
MuJoCoPhysicsServerCommandProcessor();
|
|
|
|
virtual ~MuJoCoPhysicsServerCommandProcessor();
|
|
|
|
virtual bool connect();
|
|
|
|
virtual void disconnect();
|
|
|
|
virtual bool isConnected() const;
|
|
|
|
virtual bool processCommand(const struct SharedMemoryCommand& clientCmd, struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
|
|
virtual bool receiveStatus(struct SharedMemoryStatus& serverStatusOut, char* bufferServerToClient, int bufferSizeInBytes);
|
|
|
|
virtual void renderScene(int renderFlags){}
|
|
virtual void physicsDebugDraw(int debugDrawFlags){}
|
|
virtual void setGuiHelper(struct GUIHelperInterface* guiHelper){}
|
|
virtual void setTimeOut(double timeOutInSeconds){}
|
|
|
|
};
|
|
|
|
#endif //MUJOCO_PHYSICS_COMMAND_PROCESSOR_H
|