Static Collision Best Practice

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Re: Static Collision Best Practice

Postby Julio Jerez » Fri Apr 19, 2013 2:41 pm

The scene collision is a subclass of the compound collision.
Basically a scene collision is a static collision; therefore you can add collision tress, user collision and high fields.
Yes the using a scene collision is the best way to make a static world with moving static parts.
In Newton 300 the is not NewtonSceneCollisionCreateProxy anymore, Instead you have this interface wich generalize the proxy concept

Code: Select all
   NEWTON_API void NewtonSceneCollisionBeginAddRemove (NewtonCollision* const sceneCollision);   
   NEWTON_API void* NewtonSceneCollisionAddSubCollision (NewtonCollision* const sceneCollision, NewtonCollision* const collision);   
   NEWTON_API void NewtonSceneCollisionSetSubCollisionMatrix (NewtonCollision* const sceneCollision, void* const node, dFloat* const matrix);
   NEWTON_API void NewtonSceneCollisionEndAddRemove (NewtonCollision* const sceneCollision);   
   NEWTON_API void* NewtonSceneCollisionGetFirstNode (NewtonCollision* const sceneCollision);
   NEWTON_API void* NewtonSceneCollisionGetNextNode (NewtonCollision* const sceneCollision, void* const node);
   NEWTON_API NewtonCollision* NewtonSceneCollisionGetCollisionFromNode (NewtonCollision* const sceneCollision, void* const node);

You can iterate obe the nodes of a scne collision, or you cn asimple hiold to the nodes you wha to manuipulate when you create then.

You move then you have to do it from a
NewtonSceneCollisionBeginAddRemove / NewtonSceneCollisionEndAddRemove
Block

Look at the scene collision demo in the sandbox.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Static Collision Best Practice

Postby Julio Jerez » Fri Apr 19, 2013 5:17 pm

JackMK wrote:Basically "Scene Collision" is one big rigid body with several collision objects as far as I can tell.

yes, one static body.

JackMK wrote:After creation of rigid body is it possible to remove or add sub collision objects?
I´d like to add or remove collisions based on player position in a big dynamic world.

yes.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Static Collision Best Practice

Postby Julio Jerez » Fri Apr 19, 2013 7:13 pm

Oh you are right I forget to add the public interface for
void* NewtonSceneCollisionRemoveSubCollision (NewtonCollision* const sceneCollision, NewtonCollision* const collision);

I will added it tonight.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Static Collision Best Practice

Postby Julio Jerez » Sat Apr 20, 2013 9:35 am

Ok I added the function for remove collision.

on the second question, scene and compound collision has a different aabb callback
void NewtonMaterialSetCompoundCollisionCallback(const NewtonWorld* const newtonWorld, int id0, int id1, NewtonOnCumpoundSubCollisionAABBOverlap compoundAabbOverlap)

I realized that function was no exposed to the Newton Header either so I added.

I added to the compoundCollidin demo and that world, but I fail o scene collision.
I will find out why is that and fix it, but for now you can sink to SVN and see if how is works.
I will add the rest to the scene collision demo today.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Static Collision Best Practice

Postby Julio Jerez » Sun Apr 21, 2013 6:45 am

ok done it.
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Static Collision Best Practice

Postby Julio Jerez » Tue Apr 23, 2013 9:46 am

what bug?
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Static Collision Best Practice

Postby Julio Jerez » Thu Apr 25, 2013 7:59 am

Ok it is all done now. see SceneCollision demo in sandbox
Julio Jerez
Moderator
Moderator
 
Posts: 12426
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron