public void addChildSolver(BEPUikSolverDefinition child) { childSolvers.Add(child); if (childSolversManager != null) { childSolversManager.addSubInterface(child, child.getEditInterface()); } }
internal EditInterface getEditInterface() { if (editInterface == null) { editInterface = ReflectedEditInterface.createEditInterface(this, ReflectedEditInterface.DefaultScanner, Name + " - IK Solver", null); editInterface.addCommand(new EditInterfaceCommand("Add Child Solver", callback => { addChildSolver(new BEPUikSolverDefinition() { Name = "Child" }); })); childSolversManager = editInterface.createEditInterfaceManager <BEPUikSolverDefinition>(); childSolversManager.addCommand(new EditInterfaceCommand("Remove", callback => { removeChildSolver(childSolversManager.resolveSourceObject(callback.getSelectedEditInterface())); })); foreach (var child in childSolvers) { childSolversManager.addSubInterface(child, child.getEditInterface()); } } return(editInterface); }