+ Added joint feedback for constraints, needs testing/demo before 2.75 release.

See also http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2677
and http://code.google.com/p/bullet/issues/detail?id=227

To enable, use constraint->enableFeedback(true);
And then either use
constraint->getAppliedImpulse() for an estimated applied impulse,
or constraint-> getAppliedLinearImpulse(), or constraint->getAppliedAngularImpulseA() or constraint->getAppliedAngularImpulseB().

+removed a few warnings.
This commit is contained in:
erwin.coumans
2009-05-27 01:34:46 +00:00
parent 056659d2af
commit 258ef6e25a
5 changed files with 122 additions and 15 deletions

View File

@@ -1876,7 +1876,7 @@ void processSolverTask(void* userPtr, void* lsMemory)
// DMA the constraints
{
int dmaSize = sizeof(btSolverConstraint)*packetSize;
int dmaSize = sizeof(btSolverConstraint)*(int)packetSize;
uint64_t dmaPpuAddress2 = reinterpret_cast<uint64_t> (taskDesc.m_solverData.m_solverConstraintList + constraintListOffset);
cellDmaLargeGet(constraints, dmaPpuAddress2, dmaSize, DMA_TAG(1), 0, 0);
}
@@ -1895,7 +1895,7 @@ void processSolverTask(void* userPtr, void* lsMemory)
// Write back the constraints for accumulated stuff
{
int dmaSize = sizeof(btSolverConstraint)*packetSize;
int dmaSize = sizeof(btSolverConstraint)*(int)packetSize;
uint64_t dmaPpuAddress2 = reinterpret_cast<uint64_t> (taskDesc.m_solverData.m_solverConstraintList + constraintListOffset);
cellDmaLargePut(constraints, dmaPpuAddress2, dmaSize, DMA_TAG(1), 0, 0);
}
@@ -1923,7 +1923,7 @@ void processSolverTask(void* userPtr, void* lsMemory)
// DMA the constraints
{
int dmaSize = sizeof(btSolverConstraint)*packetSize*3;
int dmaSize = sizeof(btSolverConstraint)*(int)packetSize*3;
uint64_t dmaPpuAddress2 = reinterpret_cast<uint64_t> (taskDesc.m_solverData.m_solverInternalConstraintList + constraintListOffset);
cellDmaLargeGet(internalConstraints, dmaPpuAddress2, dmaSize, DMA_TAG(1), 0, 0);
}
@@ -1966,7 +1966,7 @@ void processSolverTask(void* userPtr, void* lsMemory)
// Write back the constraints for accumulated stuff
{
int dmaSize = sizeof(btSolverConstraint)*packetSize*3;
int dmaSize = sizeof(btSolverConstraint)*(int)packetSize*3;
uint64_t dmaPpuAddress2 = reinterpret_cast<uint64_t> (taskDesc.m_solverData.m_solverInternalConstraintList + constraintListOffset);
cellDmaLargePut(internalConstraints, dmaPpuAddress2, dmaSize, DMA_TAG(1), 0, 0);
}
@@ -2107,7 +2107,7 @@ void processSolverTask(void* userPtr, void* lsMemory)
// DMA the constraints
{
int dmaSize = sizeof(btSolverConstraint)*packetSize*3;
int dmaSize = sizeof(btSolverConstraint)*(int)packetSize*3;
uint64_t dmaPpuAddress2 = reinterpret_cast<uint64_t> (taskDesc.m_solverData.m_solverInternalConstraintList + constraintListOffset);
cellDmaLargeGet(internalConstraints, dmaPpuAddress2, dmaSize, DMA_TAG(1), 0, 0);
}