// Actuators
List<IActuator> actuatorsList;
List<String> actuatorsNamesList;
String[] actuatorsNamesArray;
IDimensionHCS dimension = config.getDimensionX();
actuatorsList = dimension.getActuatorsList();
actuatorsNamesList = new ArrayList<String>(actuatorsList.size());
for (IActuator actuator : actuatorsList) {
if (actuator.isEnabled()) {
actuatorsNamesList.add(actuator.getName());
}
}
actuatorsNamesArray = actuatorsNamesList.toArray(new String[actuatorsNamesList
.size()]);
setAttribute("actuators", actuatorsNamesArray);
// Dimensions
// Tango exchanges trajectories as double arrays that contains the positions, in
// order,
// actuator after actuator, range after range, of the trajectories of all the
// actuators.
// There is one such array per dimension.
double[] allActuatorsPositionsArray;
double initialValue;
// Contains the positions in order, range after range, of the trajectories of an
// actuator.
List<Double> actuatorPositionsList;
// Contains the positions in order, actuator after actuator, range after range, of
// the trajectories of all the actuators.
List<Double> allActuatorsPositionsList;
// The list of speeds.
List<Double> speedList = new ArrayList<Double>();
double[] speedArray;
// The actuators used for this dimension
List<IActuator> dimensionActuatorsList;
// Dimension.
// Initial computations.
dimensionActuatorsList = dimension.getActuatorsList();
// The positions, sorted as Tango expect them.
allActuatorsPositionsList = new ArrayList<Double>();
// The number of enabled actuators.
int enabledActuatorsNumber = 0;
// The positions must be sorted by actuator, so we loop over the actuators.