A place to discuss everything related to Newton Dynamics.
Moderators: Sascha Willems, walaber
by 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

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by 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

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by 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

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by 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

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Julio Jerez » Sun Apr 21, 2013 6:45 am
ok done it.
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Julio Jerez » Tue Apr 23, 2013 9:46 am
what bug?
-
Julio Jerez
- Moderator

-
- Posts: 12426
- Joined: Sun Sep 14, 2003 2:18 pm
- Location: Los Angeles
-
by Julio Jerez » Thu Apr 25, 2013 7:59 am
Ok it is all done now. see SceneCollision demo in sandbox
-
Julio Jerez
- 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 3 guests