Package fr.soleil.salsa.entity.scan2D

Examples of fr.soleil.salsa.entity.scan2D.IDimension2DY


        IDimension2DX dimension2DX = config2D.getDimensionX();
        if (dimension2DX == null) {
            dimension2DX = new Dimension2DXImpl();
            config2D.setDimensionX(dimension2DX);
        }
        IDimension2DY dimension2DY = config2D.getDimensionY();
        if (dimension2DY == null) {
            dimension2DY = new Dimension2DYImpl();
            config2D.setDimensionY(dimension2DY);
        }
View Full Code Here


                // Actuators y
                List<IActuator> actuatorsYList;
                List<String> actuatorsNamesYList;
                String[] actuatorsNamesYArray;
                IDimension2DY dimensionY = config.getDimensionY();
                actuatorsYList = dimensionY.getActuatorsList();
                actuatorsNamesYList = new ArrayList<String>(actuatorsYList.size());
                for (IActuator actuator : actuatorsYList) {
                    if (actuator.isEnabled()) {
                        actuatorsNamesYList.add(actuator.getName());
                    }
                }
                actuatorsNamesYArray = actuatorsNamesYList.toArray(new String[actuatorsNamesYList
                        .size()]);
                setAttribute("actuators2", actuatorsNamesYArray);

                // Dimensions X
                // 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[] allActuatorsPositionsXArray;
                double initialValueX;

                // Contains the positions in order, range after range, of the trajectories of an
                // actuator.
                List<Double> actuatorPositionsXList;
                // Contains the positions in order, actuator after actuator, range after range, of
                // the trajectories of all the actuators.
                List<Double> allActuatorsPositionsXList;
                // The list of integrations times.
                List<Double> integrationsTimesXList;
                double[] integrationsTimesXArray;
                int integrationTimeIndexX;
                // The list of speeds.
                List<Double> speedXList = new ArrayList<Double>();
                double[] speedXArray;
                // The number of points, which is the total steps numbers + 1 per range.
                int totalStepsNumberX;
                // The actuators used for this dimension
                List<IActuator> dimensionActuatorsXList;
                // Tango API
                dimensionActuatorsXList = dimensionX.getActuatorsList();
                // The positions, sorted as Tango expect them.
                allActuatorsPositionsXList = new ArrayList<Double>();
                // The number of enabled actuators.
                int enabledActuatorsXNumber = 0;
                // The positions must be sorted by actuator, so we loop over the actuators.
                for (IActuator actuator : dimensionActuatorsXList) {
                    if (actuator.isEnabled()) {
                        initialValueX = ActuatorConnector.getData(actuator);
                        actuatorPositionsXList = new ArrayList<Double>();
                        // For each actuators, the positions must be sorted by range.
                        for (ITrajectory2DX trajectory : findActuatorTrajectories(dimensionX,
                                actuator)) {
                            actuatorPositionsXList
                                    .addAll(TrajectoryCalculator
                                            .calculateLinearTrajectoriesPosition(trajectory,
                                                    initialValueX));
                            // The speeds must be sorted in the same order, so we read them here.
                            speedXList.add(trajectory.getSpeed());
                        }
                        allActuatorsPositionsXList.addAll(actuatorPositionsXList);
                        ++enabledActuatorsXNumber;
                    }
                }

                // Integration Time and steps number.
                integrationsTimesXList = new ArrayList<Double>(dimensionX.getRangesList().size());
                int stepsNumberX;
                totalStepsNumberX = 0;
                for (IRange2DX range : dimensionX.getRangesList()) {
                    stepsNumberX = range.getStepsNumber();
                    for (integrationTimeIndexX = 0; integrationTimeIndexX < stepsNumberX + 1; ++integrationTimeIndexX) {
                        integrationsTimesXList.add(range.getIntegrationTime());
                    }
                    totalStepsNumberX += stepsNumberX + 1;
                }
                integrationsTimesXArray = toDoubleArray(integrationsTimesXList);
                setAttribute("integrationTimes", integrationsTimesXArray);
                setAttribute("pointNumber", totalStepsNumberX);

                // Trajectories
                // Builds the array from the list.
                allActuatorsPositionsXArray = toDoubleArray(allActuatorsPositionsXList);
                // Sends the array to Tango.
                DeviceAttribute trajectoriesXAttribute = new DeviceAttribute("trajectories");
                if (enabledActuatorsXNumber != 0) {
                    trajectoriesXAttribute.insert(allActuatorsPositionsXArray, totalStepsNumberX,
                            enabledActuatorsXNumber);
                }
                else {
                    trajectoriesXAttribute.insert(new double[] {}, 0, 1);
                }
                scanServerProxy.write_attribute(trajectoriesXAttribute);

                // Speed.
                speedXArray = toDoubleArray(speedXList);
                setAttribute("scanSpeed", speedXArray);

                // Dimensions Y
                // 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[] allActuatorsPositionsYArray;
                double initialValueY;

                // Contains the positions in order, range after range, of the trajectories of an
                // actuator.
                List<Double> actuatorPositionsYList;
                // Contains the positions in order, actuator after actuator, range after range, of
                // the trajectories of all the actuators.
                List<Double> allActuatorsPositionsYList;
                // The number of points, which is the total steps numbers + 1 per range.
                int totalStepsNumberY;
                // The actuators used for this dimension
                List<IActuator> dimensionActuatorsYList;
                // Dimension
                dimensionActuatorsYList = dimensionY.getActuatorsList();
                // The positions, sorted as Tango expect them.
                allActuatorsPositionsYList = new ArrayList<Double>();
                // The number of enabled actuators.
                int enabledActuatorsYNumber = 0;
                // The positions must be sorted by actuator, so we loop over the actuators.
                for (IActuator actuator : dimensionActuatorsYList) {
                    if (actuator.isEnabled()) {
                        initialValueY = ActuatorConnector.getData(actuator);
                        actuatorPositionsYList = new ArrayList<Double>();
                        // For each actuators, the positions must be sorted by range.
                        for (ITrajectory2DY trajectory : findActuatorTrajectories(dimensionY,
                                actuator)) {
                            actuatorPositionsYList
                                    .addAll(TrajectoryCalculator
                                            .calculateLinearTrajectoriesPosition(trajectory,
                                                    initialValueY));
                        }
                        allActuatorsPositionsYList.addAll(actuatorPositionsYList);
                        ++enabledActuatorsYNumber;
                    }
                }

                // The number of points
                totalStepsNumberY = 0;
                for (IRange2DY range : dimensionY.getRangesList()) {
                    totalStepsNumberY += range.getStepsNumber() + 1;
                }
                setAttribute("pointNumber2", totalStepsNumberY);

                // Builds the array from the list.
View Full Code Here

                                        }
                                    }
                                }
                            }

                            IDimension2DY dimension2DY = config2d.getDimensionY();
                            List<IActuator> listActuator2DY = dimension2DY.getActuatorsList();
                            List<IRange2DY> range2DY = dimension2DY.getRangesList();

                            for (int i = 0; i < range2DY.size(); i++) {
                                List<ITrajectory> listTrajectory = range2DY.get(i).getTrajectoriesList();
                                for (int j = 0; j < listTrajectory.size(); j++) {
                                    IActuator actuator = listActuator2DY.get(j);
View Full Code Here

            tmpRangeList = dimension1D.getRangesXList();
        } else if (this instanceof IDimension2DX) {
            IDimension2DX dimension2DX = ((IDimension2DX) this);
            tmpRangeList = dimension2DX.getRangesList();
        } else if (this instanceof IDimension2DY) {
            IDimension2DY dimension2DY = ((IDimension2DY) this);
            tmpRangeList = dimension2DY.getRangesList();
        } else if (this instanceof IDimensionEnergy) {
            IDimensionEnergy dimensionEnergy = ((IDimensionEnergy) this);
            tmpRangeList = dimensionEnergy.getRangesEnergyList();
        } else if (this instanceof IDimensionHCS) {
            IDimensionHCS dimensionHCS = ((IDimensionHCS) this);
View Full Code Here

            dimension1D.setRangesXList((List<IRange1D>) arangeList);
        } else if (this instanceof IDimension2DX) {
            IDimension2DX dimension2DX = ((IDimension2DX) this);
            dimension2DX.setRangesList((List<IRange2DX>) arangeList);
        } else if (this instanceof IDimension2DY) {
            IDimension2DY dimension2DY = ((IDimension2DY) this);
            dimension2DY.setRangesList((List<IRange2DY>) arangeList);
        } else if (this instanceof IDimensionEnergy) {
            IDimensionEnergy dimensionEnergy = ((IDimensionEnergy) this);
            dimensionEnergy.setRangesEnergyList((List<IRangeEnergy>) arangeList);
        } else if (this instanceof IDimensionHCS) {
            IDimensionHCS dimensionHCS = ((IDimensionHCS) this);
View Full Code Here

        IDimension2DX dimension2DX = config2D.getDimensionX();
        if (dimension2DX == null) {
            dimension2DX = new Dimension2DXImpl();
            config2D.setDimensionX(dimension2DX);
        }
        IDimension2DY dimension2DY = config2D.getDimensionY();
        if (dimension2DY == null) {
            dimension2DY = new Dimension2DYImpl();
            config2D.setDimensionY(dimension2DY);
        }
View Full Code Here

                                        }
                                    }
                                }
                            }

                            IDimension2DY dimension2DY = config2d.getDimensionY();
                            List<IActuator> listActuator2DY = dimension2DY.getActuatorsList();
                            List<IRange2DY> range2DY = dimension2DY.getRangesList();

                            for (int i = 0; i < range2DY.size(); i++) {
                                List<ITrajectory> listTrajectory = range2DY.get(i)
                                        .getTrajectoriesList();
                                for (int j = 0; j < listTrajectory.size(); j++) {
View Full Code Here

TOP

Related Classes of fr.soleil.salsa.entity.scan2D.IDimension2DY

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.