dNewtonArticulatedTransformManager.cpp
yes I renamed to dNewtonArticulationManager.h and dNewtonArticulationManager.cpp
Now only do the post processing of set of joint that are set as a hierarchical structural, (contraction of joints with not loops like vehicle, ragdolls, joint joints, but does not calculate the local transform of bodies.
Ten the calculation of local matrices is done automatically but just attaching a body as a child of another body.
Try to sync to latest code so that you can see, it is very cool.
The one problem that I have is that ogre, is no thread safe so crating and object form another thread cause to go into an infinite loop. I look like Ogre dispatch some background thread, but with out a safe way to do that it makes it impossible to integrate with other mutthread library.
For example a loop like kthais
- Code: Select all
bool test = true;
while(!m_exitApplication)
{
// Pump window messages for nice behavior
Ogre::WindowEventUtilities::messagePump();
if(mWindow->isClosed()) {
break;
}
// this will make Ogre go in ans infinet loop at random
If (test){
mSceneMgr->getRootSceneNode()->createChildSceneNode("_OgreNewton_Debugger_Node_"), m_physicsWorld
test = false
}
// Render a frame
if(!mRoot->renderOneFrame()) {
break;
}
}
I find that, and huge overlook, for and engien that is suppors to be so popular. thsi is making almost impoble to integrate a muthreded engine with Ogre.
righ now if you play any demo there run fine, untiol you start shooting objets, it will eventually randomlly go into an infinit loop in some Ogre render thread.