Why some overridable Joint methods were made internal?

Topics: Developer Forum, User Forum
Nov 5, 2011 at 9:34 PM
Edited Nov 8, 2011 at 10:54 AM

Basically I am trying to create my own joint. I would like to keep the custom code in a separate assembly for obvious reasons.

Unfortunately there is no way to do this since some important methods of Joint class are marked as internal: InitVelocityConstraints, SolveVelocityConstraints, SolvePositionConstraints.

Is it possible to make them public in next release?

Also what is the point of JointType enumeration if the engine (hopefully) is designed to be extendible?

 Thanks.

Nov 8, 2011 at 10:54 AM

Up.

Nov 8, 2011 at 3:21 PM

Farseer is open source you can just edit the project and change internal to public / virtual

Nov 8, 2011 at 5:20 PM

I am aware of that. However I don't like workarounds. I think it is a small change that will make design better.

If the Joint base class is not meant to be extensible externally it should not be public (or only a subset of its interface) and concrete classes should be sealed. It is useless without all those internal methods anyways.

 

Nov 14, 2011 at 2:31 PM

Up.