private Vector3 MapColor(Values.SensorColors color) { switch (color) { case Values.SensorColors.Black: return((Vector4)Color.black); case Values.SensorColors.Blue: return((Vector4)Color.blue); case Values.SensorColors.Cyan: return((Vector4)Color.cyan); case Values.SensorColors.Gray: return((Vector4)Color.gray); case Values.SensorColors.Green: return((Vector4)Color.green); case Values.SensorColors.Magenta: return((Vector4)Color.magenta); case Values.SensorColors.Red: return((Vector4)Color.red); case Values.SensorColors.White: return((Vector4)Color.white); case Values.SensorColors.Yellow: return((Vector4)Color.yellow); default: return(new Vector3(-1F, -1F, -1F)); } }
public override bool ColorSensor(Values.Sensor sensor, Values.SensorColors color) { var sensor_color = GetRGBSensorValue(sensor) / 255F; switch (color) { case Values.SensorColors.Unknown: bool isUnknown = false; foreach (var test_color in AllColors) { isUnknown |= (sensor_color - MapColor(test_color)).magnitude < 0.25F; } return(isUnknown); default: var distance = (sensor_color - MapColor(color)).magnitude; return(distance < 0.25F); } }
public abstract bool ColorSensor(Values.Sensor sensor, Values.SensorColors color);