This project has moved. For the latest updates, please go here.

Why some overridable Joint methods were made internal?

Topics: Developer Forum, User Forum
Nov 5, 2011 at 8:34 PM
Edited Nov 8, 2011 at 9: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?


Nov 8, 2011 at 9:54 AM


Nov 8, 2011 at 2:21 PM

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

Nov 8, 2011 at 4: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 1:31 PM