OGreNewt Body from OSM file?

Rambo

12-05-2006 09:38:49

I have world in OSM(oFusion) file. How i can convert that world to physics world?

This is my example:

oScene.initialise(OSMfile.c_str());
oScene.createScene();

OSMScene::EntityList::iterator it;
OSMScene::EntityList eList = oScene.getEntityList();
SceneNode* scn;

for(it = eList.begin();it != eList.end() ; ++it)
{
scn=mWorldSceneMgr->getSceneNode((*it)->getName());
Collision* col = new OgreNewt::CollisionPrimitives::TreeCollision(mWorld,scn,true);
Body* elements = new OgreNewt::Body( mWorld, col );
elements->attachToNode(scn);
delete col;
delete elements;
delete scn;
}


Of course this is my idea.

Maybe somebody know easiest method to convert entity from OSM to OgreNewt::Body?

DaCracker

12-05-2006 11:45:18

I guess you can change the oSceneLoader code a bit
to do this?

aida

08-08-2007 08:55:55

I'm facing the same problem. Did you find a solution?

Thank you

ProfesorX

09-08-2007 01:05:14

This is an old post, and it was been answered several times since then, you must use TreeCollisionSceneParser class, pass a node, (root node if you want all geometry) and use the parseScene Method.


OgreNewt::CollisionPrimitives::TreeCollisionSceneParser* coll;
coll = new OgreNewt::CollisionPrimitives::TreeCollisionSceneParser(world);
coll->parseScene(scnMgr->getRootSceneNode());
OgreNewt::Body* body = new OgreNewt::Body(world,coll);


Hope this helps