General Comments

Post and discuss features you'd like to see in the BEPUphysics library.
Post Reply
doggan
Posts: 20
Joined: Fri Jan 09, 2009 9:26 pm

General Comments

Post by doggan »

After using Bepu Physics for a couple days, overall I am pretty happy with the feature set of the library. Here are some general issues I've run across. Whether they are valid suggestions or just user-error on my part, I don't know for sure :shock:

1). Entities need to be added to a space before entity.addEventHook can be called. It would be nice to be able to add events to an entity at any time... And then they will become active when the entity is added to a space.

2). Entity.removeEventHooks() would be nice (i.e. a function to remove all associated events).

3). It's a bit strange and sometimes frustrating that static objects (StaticTriangleMesh) and dynamic objects (Box, Sphere, etc) have nothing in common. One would think that fundamentally they share a common base class somewhere along the line. For example, JigLibX derives its collision objects (static meshes, capsule, boxes, etc) from a Primitive base class.

4). Documentation for isDetector says that if isDetector == true, the entity won't undergo velocity solving. However, these detector object still seem to be affected by gravity. I have to set isAffectedByGravity = false. This is possibly just a documentation issue.

Keep up the good work :)
Norbo
Site Admin
Posts: 4929
Joined: Tue Jul 04, 2006 4:45 am

Re: General Comments

Post by Norbo »

1) This is on the to-do list.

2) This has been added to the to-do list.

3) This is primarily because the StaticTriangleGroup does not have the same abilities as its Entity-based brethren. I didn't want to establish a link between the expected functionality of a physical entity (or some additional superclass) and a generally unmoving, unchanging bunch of geometry. The StaticTriangleGroup acts more as a manager (hence the name not being a primitive like TriangleMesh or something similar), putting collidable triangle entities in the right spots when necessary. This setup may change in a future cleaning sweep, though.

4) Velocity solving in this case refers to contact velocity solving. Normal entities go through a solver that stops penetrating velocity at contact points; detectors do not. Detectors can still move around due to velocities and force fields like gravity. I'll clarify this a bit in the documentation.
Post Reply