public void registerWithVariableChangedListener(VariableChangedListener changedListener) { toggleMode.addVariableChangedListener(changedListener); }
protected EnumYoVariableDependentInputManager(final YoEnum<T> yoEnum, Class<T> enumType) { this.enumValues = enumType.getEnumConstants(); this.yoEnum = yoEnum; yoEnum.addVariableChangedListener(new VariableChangedListener() { @Override public void notifyOfVariableChange(YoVariable<?> v) { updateListeners(yoEnum); } }); }
/** * Creates a new event trigger from the given {@code yoTrigger}. * <p> * An event is fired at the state machine every time {@code yoTrigger} changes value. * </p> * * @param yoTrigger the variable to use for firing events. * @return this factory for chaining operations. */ public <E extends Enum<E>> EventBasedStateMachineFactory<K, S> buildYoEventTrigger(YoEnum<E> yoTrigger) { EventTrigger eventTrigger = buildEventTrigger(); yoTrigger.addVariableChangedListener(new VariableChangedListener() { @Override public void notifyOfVariableChange(YoVariable<?> v) { E newEvent = yoTrigger.getEnumValue(); if (newEvent != null) { eventTrigger.fireEvent(yoTrigger.getEnumValue()); yoTrigger.set(null); } } }); return this; }
public FiniteStateMachineYoVariableTrigger(final FiniteStateMachine<?, ?, ?> stateMachine, String name, YoVariableRegistry registry, final Class<E> enumType) { final YoEnum<E> yoVariable = new YoEnum<>(name, registry, enumType, true); yoVariable.set(null); // Attach a change listener, firing state machine events for every callback. yoVariable.addVariableChangedListener(new VariableChangedListener() { @Override public void notifyOfVariableChange(YoVariable<?> v) { if (yoVariable.getEnumValue() != null) { stateMachine.trigger(enumType, yoVariable.getEnumValue()); // Reset to null to be ready for another event. yoVariable.set(null); } } }); } }
requestHighLevelControlMode.addVariableChangedListener(new VariableChangedListener()
private YoSwitchableFilterModeIMUHandleHolder(final SwitchableFilterModeIMUHandle handle, IMUDefinition imuDefinition, YoVariableRegistry parentRegistry) { super(handle, imuDefinition, parentRegistry); this.handle = handle; filterTypeToUse = new YoEnum<>(handle.getName() + "_filterTypeToUse", parentRegistry, MicroStrainData.MicrostrainFilterType.class); filterTypeToUse.addVariableChangedListener(new VariableChangedListener() { @Override public void notifyOfVariableChange(YoVariable<?> v) { handle.setFilterTypeToUse(filterTypeToUse.getEnumValue()); } }); filterTypeToUse.set(MicroStrainData.MicrostrainFilterType.COMPLIMENTARY_FILTER); } }
private YoMicroStrainIMUHandleHolder(MicroStrainIMUHandle handle, IMUDefinition imuDefinition, YoVariableRegistry parentRegistry) { super(handle, imuDefinition, parentRegistry); this.microStrainIMUHandle = handle; filterTypeToUse = new YoEnum<>(handle.getName() + "_filterTypeToUse", parentRegistry, MicrostrainFilterType.class); filterTypeToUse.addVariableChangedListener(new VariableChangedListener() { @Override public void notifyOfVariableChange(YoVariable<?> v) { microStrainIMUHandle.setFilterTypeToReturn(filterTypeToUse.getEnumValue()); } }); filterTypeToUse.set(MicrostrainFilterType.COMPLIMENTARY_FILTER); }
private void addGoalMarkerRobot() { goalMarkerRobot.setGravity(0.0); environmentRobots.add(goalMarkerRobot); YoVariableRegistry robotsYoVariableRegistry = goalMarkerRobot.getRobotsYoVariableRegistry(); YoEnum<GoalMarkerLocation> goalMarkerLocationYoEnum = YoEnum.create("DesiredGoalMarkerLocation", GoalMarkerLocation.class, robotsYoVariableRegistry); goalMarkerLocationYoEnum.addVariableChangedListener(new GoalMarkerLocationUpdater()); goalMarkerLocationYoEnum.set(GoalMarkerLocation.TOP_OF_STAIRS); }
private void createGroundTypeListener(final SimulationConstructionSet scs) { final YoEnum<GroundType> groundType = new YoEnum<>("GroundType", scs.getRootRegistry(), GroundType.class, false); groundType.set(DEFAULT_GROUND); final EnumMap<GroundType, Graphics3DObject> environmentsGraphics = new EnumMap<>(GroundType.class); environmentsGraphics.put(GroundType.OBSTACLE_COURSE, new DefaultCommonAvatarEnvironment().getTerrainObject3D().getLinkGraphics()); environmentsGraphics.put(GroundType.FLAT, new FlatGroundEnvironment().getTerrainObject3D().getLinkGraphics()); environmentsGraphics.put(GroundType.NOTHING, new Graphics3DObject()); environmentsGraphics.put(GroundType.CINDER_BLOCKS, new CinderBlockFieldEnvironment().getTerrainObject3D().getLinkGraphics()); environmentsGraphics.put(GroundType.BLOCK, createBlock()); environmentsGraphics.put(GroundType.BLOCKS, createBlocks()); environmentsGraphics.put(GroundType.BLOCKS2, createBlocks2()); environmentsGraphics.put(GroundType.L_SHAPE, createLShapedGround()); VariableChangedListener listener = new VariableChangedListener() { private Graphics3DNode groundGraphicsNode = null; @Override public void notifyOfVariableChange(YoVariable<?> v) { if (groundGraphicsNode != null) scs.removeGraphics3dNode(groundGraphicsNode); groundGraphicsNode = scs.addStaticLinkGraphics(environmentsGraphics.get(groundType.getEnumValue())); } }; groundType.addVariableChangedListener(listener); listener.notifyOfVariableChange(null); }
@Override public void starting(SimulationConstructionSet scs, Robot robot, YoVariableRegistry registry) { registry.addChild(sliderBoardRegistry); final SliderBoardConfigurationManager sliderBoardConfigurationManager = new SliderBoardConfigurationManager(scs); for (StepprStandPrepSetpoints setpoint : StepprStandPrepSetpoints.values) { StandPrepVariables variables = new StandPrepVariables(setpoint, registry); StepprJoint aJoint = setpoint.getJoints()[0]; sliderBoardConfigurationManager.setKnob(1, selectedJointPair, 0, StepprJoint.values.length); sliderBoardConfigurationManager.setSlider(1, variables.tau_d, -100.0, 100.0); sliderBoardConfigurationManager.setSlider(3, variables.damping, 0, 5 * aJoint.getRatio() * aJoint.getRatio()); sliderBoardConfigurationManager.saveConfiguration(setpoint.toString()); allSetpoints.put(setpoint, variables); } selectedJointPair.addVariableChangedListener(new VariableChangedListener() { @Override public void notifyOfVariableChange(YoVariable<?> v) { sliderBoardConfigurationManager.loadConfiguration(selectedJointPair.getEnumValue().toString()); } }); selectedJointPair.set(StepprStandPrepSetpoints.HIP_Y); StepprDashboard.createDashboard(scs, registry); scs.getDataBuffer().attachIndexChangedListener(this); }
secondaryJoint.set(YoEnum.NULL_VALUE); selectedJoint.addVariableChangedListener(new VariableChangedListener()
selectedJoint.addVariableChangedListener(new VariableChangedListener()
selectedJoint.addVariableChangedListener(new VariableChangedListener()
YoEnum<HighLevelControllerName> currentState = (YoEnum<HighLevelControllerName>) scs.getVariable("highLevelControllerNameCurrentState"); currentState.set(HighLevelControllerName.DO_NOTHING_BEHAVIOR); currentState.addVariableChangedListener(v -> currentState.set(HighLevelControllerName.DO_NOTHING_BEHAVIOR)); assertTrue(drcSimulationTestHelper.simulateAndBlockAndCatchExceptions(0.5)); script.setPerformAssertions(true);
swingTimeRemaining.addVariableChangedListener(variableChangedListener); yoICP.attachVariableChangedListener(variableChangedListener); yoSupportSide.addVariableChangedListener(variableChangedListener);
selectedJointPair.addVariableChangedListener(new VariableChangedListener()
selectedJointPair.addVariableChangedListener(new VariableChangedListener()
sliderBoardMode.addVariableChangedListener(listener); listener.notifyOfVariableChange(null);