Merge pull request #2940 from erwincoumans/master

add removeState in C++ API, see also Issue https://github.com/bulletp
This commit is contained in:
erwincoumans 2020-07-18 06:25:33 -07:00 committed by GitHub
commit b67bf28f93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 0 deletions

View File

@ -2038,6 +2038,12 @@ PhysicsServerCommandProcessor::~PhysicsServerCommandProcessor()
if (m_data->m_threadPool)
delete m_data->m_threadPool;
for (int i = 0; i < m_data->m_savedStates.size(); i++)
{
delete m_data->m_savedStates[i].m_bulletFile;
delete m_data->m_savedStates[i].m_serializer;
}
delete m_data;
}

View File

@ -2546,6 +2546,27 @@ void b3RobotSimulatorClientAPI_NoDirect::restoreStateFromMemory(int stateId)
statusType = b3GetStatusType(statusHandle);
}
void b3RobotSimulatorClientAPI_NoDirect::removeState(int stateUniqueId)
{
b3PhysicsClientHandle sm = m_data->m_physicsClientHandle;
if (sm == 0)
{
b3Warning("Not connected");
return;
}
if (stateUniqueId >= 0)
{
b3SharedMemoryStatusHandle statusHandle;
int statusType;
if (b3CanSubmitCommand(sm))
{
statusHandle = b3SubmitClientCommandAndWaitStatus(sm, b3InitRemoveStateCommand(sm, stateUniqueId));
statusType = b3GetStatusType(statusHandle);
}
}
}
bool b3RobotSimulatorClientAPI_NoDirect::getVisualShapeData(int bodyUniqueId, b3VisualShapeInformation& visualShapeInfo)
{
b3PhysicsClientHandle sm = m_data->m_physicsClientHandle;

View File

@ -889,6 +889,7 @@ public:
int saveStateToMemory();
void restoreStateFromMemory(int stateId);
void removeState(int stateUniqueId);
int getAPIVersion() const
{