HPASharp.ConcreteMap.Slice C# (CSharp) Method

Slice() public method

public Slice ( int horizOrigin, int vertOrigin, int width, int height, IPassability passability ) : ConcreteMap
horizOrigin int
vertOrigin int
width int
height int
passability IPassability
return ConcreteMap
        public ConcreteMap Slice(int horizOrigin, int vertOrigin, int width, int height, IPassability passability)
        {
            var slicedConcreteMap = new ConcreteMap(this.TileType, width, height, passability);
			
			// so we now put the obstacles in place
			for (var x = 0; x < width; x++)
				for (var y = 0; y < height; y++)
				{
					// get the local node
					var localNodeInfo = slicedConcreteMap.Graph.GetNode(slicedConcreteMap.GetNodeIdFromPos(x, y)).Info;
					// get the initial concreteMap node
					var nodeInfo = this.Graph.GetNode(this.GetNodeIdFromPos(horizOrigin + x, vertOrigin + y)).Info;
					// set obstacle for the local node
					localNodeInfo.IsObstacle = nodeInfo.IsObstacle;
					localNodeInfo.Cost = nodeInfo.Cost;
				}

            return slicedConcreteMap;
		}

Usage Example

Esempio n. 1
0
 public Cluster(ConcreteMap concreteMap, Id <Cluster> id, int clusterX, int clusterY, Position origin, Size size)
 {
     SubConcreteMap      = concreteMap.Slice(origin.X, origin.Y, size.Width, size.Height, concreteMap.Passability);
     Id                  = id;
     ClusterY            = clusterY;
     ClusterX            = clusterX;
     Origin              = origin;
     Size                = size;
     _distances          = new Dictionary <Tuple <Id <AbstractNode>, Id <AbstractNode> >, int>();
     _cachedPaths        = new Dictionary <Tuple <Id <AbstractNode>, Id <AbstractNode> >, List <Id <ConcreteNode> > >();
     _distanceCalculated = new Dictionary <Tuple <Id <AbstractNode>, Id <AbstractNode> >, bool>();
     EntrancePoints      = new List <EntrancePoint>();
 }
All Usage Examples Of HPASharp.ConcreteMap::Slice