Ejemplo n.º 1
0
        public static IRangerSensor produceRangerSensor(RangerSensorFactoryProducts productType, string name, SensorPose pose, IAbstractRobotHardware brick, params Object[] args)
        {
            switch (productType)
            {
                case RangerSensorFactoryProducts.RangerSensorIR10_80:
                    return new RangerSensorIR10_80(name, pose, brick, (AnalogPinId)args[0], (int)args[1], (double)args[2]);

                case RangerSensorFactoryProducts.RangerSensorIR20_150:
                    return new RangerSensorIR20_150(name, pose, brick, (AnalogPinId)args[0], (int)args[1], (double)args[2]);

                case RangerSensorFactoryProducts.RangerSensorSonar:
                    return new RangerSensorSonar(name, pose, brick, (GpioPinId)args[0], (GpioPinId)args[1], (int)args[2], (double)args[3]);

                case RangerSensorFactoryProducts.RangerSensorParkingSonar:
                    return new RangerSensorParkingSonar(name, pose, brick, (int)args[0]);

                default:
                    throw new NotImplementedException("Error: RangerSensorFactory cannot produce ranger type " + productType);
            }
        }
Ejemplo n.º 2
0
        public static IRangerSensor produceRangerSensor(RangerSensorFactoryProducts productType, string name, SensorPose pose, IAbstractRobotHardware brick, params Object[] args)
        {
            switch (productType)
            {
            case RangerSensorFactoryProducts.RangerSensorIR10_80:
                return(new RangerSensorIR10_80(name, pose, brick, (AnalogPinId)args[0], (int)args[1], (double)args[2]));

            case RangerSensorFactoryProducts.RangerSensorIR20_150:
                return(new RangerSensorIR20_150(name, pose, brick, (AnalogPinId)args[0], (int)args[1], (double)args[2]));

            case RangerSensorFactoryProducts.RangerSensorSonar:
                return(new RangerSensorSonar(name, pose, brick, (GpioPinId)args[0], (GpioPinId)args[1], (int)args[2], (double)args[3]));

            case RangerSensorFactoryProducts.RangerSensorParkingSonar:
                return(new RangerSensorParkingSonar(name, pose, brick, (int)args[0]));

            default:
                throw new NotImplementedException("Error: RangerSensorFactory cannot produce ranger type " + productType);
            }
        }