opensim-org/opensim-core — pull request #234 by aseth1 (2014-11-05 23:29:15+00:00)
Title: Component extension interface fix (part II)

Extension of PR #228. Fixes inconsistencies raised in the second half of issue #86. Specifically the previous Component interface consisting of: `finalizeFromProperties()`, `connectToModel()`, `addToSystem()`, `initStateFromProperties()`, `setPropertiesFromState()` were made public non-virtual methods and the corresponding extension (virtual) methods were renamed `extend()`. This allowed the base to decouple and perform operations regardless of being called from the derived. This included invoking the same methods on (sub)components. Now all `Super::extend<...>` are consistently called first in the extend method of the derived Component. There are no exceptions to this rule.