Closed nickbianco closed 6 months ago
I've encountered some obstacles while working on PR #3626. While I'm only trying to implement support for PrescribedController
in that PR, I want it include a generic implementation that will support upcoming controller types (i.e., SynergyController
). This includes controllers that have a list Input
for wiring external controls from Moco into the model. However, recent changes to Controller
fixing memory leaks using a custom copy construtor prevent me from using Input
s (which do not support custom copy constructors).
Fixing the Controller
memory leak without a custom copy constructor means using Socket
s to manage the list of Actuator
s for a particular controller. Unfortunately, OpenSim currently does not support list Socket
s, which would be the ideal way to handle this solution. I could create an itermediate class with a Socket
for an Actuator
, but for the sake of not replacing hacky code with slightly-less-hacky code, I'm going to add support for list Socket
s, especially since support for these seemed to be intended in the first place.
Down the rabbit hole we go...
Adding support for
Controller
s will require:PrescribedController
, a user might want the controller to solely provide the controls to the model.Controller
s useaddInControls
to update the model controls, provide the option to create OCP controls on top of theController
controls.SynergyController
class (i.e., supportController
s withInput
s).