public StepModule() { Get["/projects/{id}/plan"] = parameters => { return(Mutexify((string)parameters.id, sti => { return Response.AsJson(sti.GetMainWorkplan()); })); }; Get["/projects/{id}/plan/{wsid}"] = parameters => { return(Mutexify((string)parameters.id, sti => { var rtn = sti.GetSpecificWorkplan(parameters.wsid); return Response.AsJson(rtn as DataTypes.Executable); })); }; Get["/projects/{id}/geometry"] = parameters => { return(Mutexify((string)parameters.id, sti => { return Response.AsText(sti.GetStateGeom()); })); }; Get["/projects/{pid}/geometry/{type}/{eid}"] = parameters => { return(Mutexify((string)parameters.pid, sti => { STEPNCLib.MachineState.GeomType typ = STEPNCLib.MachineState.GeomType.NONE; if ((string)parameters.type == "shell") { typ = STEPNCLib.MachineState.GeomType.MESH; } else if ((string)parameters.type == "annotation") { typ = STEPNCLib.MachineState.GeomType.POLYLINE; } if (typ == STEPNCLib.MachineState.GeomType.NONE) { return Response.AsText(""); } return Response.AsText(sti.GetStateGeom((string)parameters.eid, typ)); })); }; Get["/projects/{id}/keystate"] = paramters => { return(Mutexify((string)paramters.id, sti => { return Response.AsText(sti.GetKeyState()); })); }; Get["/projects/{id}/deltastate"] = parameters => { return(Mutexify((string)parameters.id, sti => { return Response.AsText(sti.GetDeltaState()); })); }; Get["/projects/{id}/step"] = parameters => { return(Mutexify((string)parameters.id, sti => { int resp = sti.StepState(); if (resp == 0) { return Response.AsText("OK"); } else if (resp == 1) { return Response.AsText("SWITCH"); } else { return Response.AsText("ERROR"); } })); }; Get["/projects/{id}/workingstep/{step}"] = parameters => { return(Mutexify((string)parameters.id, sti => { int resp = -1; if ((string)parameters.step == "next") { resp = sti.SetStateNextWS(); } else { resp = sti.SetStateWS((uint)parameters.step); } if (resp == 0) { return Response.AsText("OK"); } else { return Response.AsText("ERROR"); } })); }; }
public string GetStateGeom(string uuid, STEPNCLib.MachineState.GeomType geomtype) { return(machinestate.GetGeometryJSON(uuid, geomtype)); }