... this is good for object oriented scene, something that Raydium does not aim at all
I can easily understand that it's quiet disturbing to have to generate a separate name for elements of another instance of an object, but Raydium does not follow any "object paradigm rule". An element is a unique thing, with a unique name, owned by a uniquely named object. This object itself is not a big variable containing other things, like it's used to in usual object oriented development, it's "only" a bounding box for some elements of the scene.
In other words, I like to be able to do this like ...
id=raydium_ode_element_find("ball");
... and not ...
id=raydium_ode_element_find("football_game.ball");
But (there's a "but"), this way to go allows you to create your entity names absolutely like you want, even in an object oriented manner if you want ...
Just to show you, using your previous example :
Code:
int A=raydium_ode_object_create("OBJECT1");
raydium_ode_motor_create ("OBJECT1.XYZ", A, ... )
raydium_ode_motor_power_max_name("OBJECT1.XYZ",A,11)
int B=raydium_ode_object_create("OBJECT2");
raydium_ode_motor_create ("OBJECT2.XYZ", B, ... )
raydium_ode_motor_power_max_name("OBJECT2.XYZ",B,11)
You can even create a very simple wrapper for raydium_ode_motor_create() that adds object name to element name by itself.
See ? RayODE names are just some sort of "absolute path" to an entity, in a namespace (object, element, joint, motor, ...) ... Nothing else
