Page 1 of 1

Making a copy of IAnimatedSceneNode

Posted: Fri Aug 13, 2010 11:09 am
by bonsalty
Hi!

Whats the proper way of making a copy from a mesh?

I made a custom object which is holding the model-node and the mesh.

Code: Select all

scene::IAnimatedMeshSceneNode *model;
scene::IAnimatedMesh* mesh ;
.
.
.
//init
mesh = params->smgr->getMesh(path.GetBuffer());
model = params->smgr->addAnimatedMeshSceneNode( mesh );

When I get the pointer of the mesh from the first object and call
model = params->smgr->addAnimatedMeshSceneNode( mesh );
for the second object, irrlicht gives an acces violation.

Any ideas?

Posted: Fri Aug 13, 2010 12:57 pm
by serengeor
Just look trough tutorials, there's a tutorial that loads 3 fairies with the same mesh.

What you should do I think:

Code: Select all

scene::IAnimatedMeshSceneNode *model;
scene::IAnimatedMeshSceneNode *model2;
scene::IAnimatedMesh* mesh ;
.
.
.
//init
mesh = params->smgr->getMesh(path.GetBuffer());
model = params->smgr->addAnimatedMeshSceneNode( mesh ); 
model2 = params->smgr->addAnimatedMeshSceneNode( mesh );

Posted: Fri Aug 13, 2010 2:03 pm
by Zurzaza
you can use the clone() function...

Code: Select all

scene::IAnimatedMeshSceneNode *model;
scene::IAnimatedMeshSceneNode *model2;
scene::IAnimatedMesh* mesh ;
.
.
.
//init
mesh = params->smgr->getMesh(path.GetBuffer());
model = params->smgr->addAnimatedMeshSceneNode( mesh );
model2 = model->clone();