static OneWayArrayMap GetInputMap(OneWayArrayMap result, int noOfInitialNodes) { OneWayArrayMap input = OneWayArrayMap.CreateEmpty(Connection.Removed, noOfInitialNodes); input.AddReverse(result); return(input); }
static OneWayArrayMap ExtractMap(IList <TrackableNode> processed) { ArrayConnection[] connections = new ArrayConnection[processed.Count]; for (int i = 0; i < processed.Count; ++i) { connections[i] = processed[i].Type; } OneWayArrayMap backwardsMap = new OneWayArrayMap(connections); return(backwardsMap); }
public TrackedVoronoiGrid CreateGrid(VoronoiNodes nodes, Settings settings) { List <TrackableNode> mesherNodes = WrapInMesherNodes(nodes.Nodes); BoundaryMesh <TrackableNode> mesh = CreateMesh(mesherNodes, settings); VoronoiGrid grid = Convert2VoronoiGrid(mesh, settings); OneWayArrayMap resultMap = ExtractMap(mesh.GetNodes()); OneWayArrayMap inputMap = GetInputMap(resultMap, nodes.Count); TrackedVoronoiGrid movingGrid = new TrackedVoronoiGrid { Result = grid, InputNodesToResultNodes = inputMap, ResultNodesToInputNodes = resultMap }; return(movingGrid); }