package { import flash.events.Event; import flash.net.*; /** * Uses php scripts to communicate with server to read/write files. * @author Chad Nelson */ public class FileIO { /** * Sets an event for loading sites.txt * @param f - callback function */ public static function readInput(f : Function):void { var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.TEXT; loader.addEventListener(Event.COMPLETE, f); trace("Get sites.txt"); loader.load(new URLRequest("http://www.chaddington.com/input.php")); } /** * Parses sites.txt into a vector of type VoronoiSite * @param s - string containing text of sites.txt * @return vector contain all sites */ public static function parseInput(s : String):Vector. { var sites : Vector. = new Vector.(); var current_site : VoronoiSite; var points : Array = s.split("("); var i : uint = 1; for each (var pt : String in points) { var coordinates : Array = pt.split(","); if (coordinates.length != 2) continue; current_site = new VoronoiSite(String(i), parseFloat(coordinates[0]), parseFloat(coordinates[1])); sites.push(current_site); i++; } return sites; } /** * Writes output to voronoi.txt * @param output_text */ public static function printOutput(output_text:String):void { var request:URLRequest = new URLRequest("http://www.chaddington.com/output.php") var data:URLVariables = new URLVariables(); data.data = output_text; request.data = data; request.method = URLRequestMethod.POST; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.load(request); } } }