anchor.diff:    public
       constructor Create(aInfluences: TKMInfluences);
   
  +    property Point2NodeArr: TKMWord2Array read fPoint2NodeArr;
  +    property Polygons: TPolygonArray read fPolygons;
  +    property Nodes: TNodeArray read fNodes;
  +
       procedure Init;
       procedure GetDefenceOutline(aOwner: TKMHandIndex; out aOutline1, aOutline2: TKMWeightSegments);
   
  
positive.code:     //Working data
      fNodeCount: Integer;
      fPolyCount: Integer;
      fNodes: array of record
        Loc: TKMPoint;
        Nearby: array of Word; //Indexes of connected nodes
        Owner: array [0..MAX_HANDS-1] of Byte;
      end;
      fPolygons: array of record
        Indices: array [0..2] of Word;
        NearbyCount: Byte; //could be 0 .. 3
        Nearby: array [0..2] of Word; //Neighbour polygons
      end;
  
      //Building the navmesh from terrain
      //Process involves many steps executed in a functional way
  
negative.code:     Weight: Single;
    end;
  
    TNode = record
        Loc: TKMPoint;
        Nearby: array of Word; //Indexes of connected nodes
        Owner: array [0..MAX_HANDS-1] of Byte;
      end;
  
    TPolygon = record
        CenterPoint: TKMPoint;
        NearbyCount: Byte; //could be 0 .. 3
        Indices: array [0..2] of Word; //Neighbour nodes
        Nearby: array [0..2] of Word; //Neighbour polygons
      end;
  
    TNodeArray = array of TNode;
    TPolygonArray = array of TPolygon;
  
    //NavMesh is used to acess the map on a higher level than tiles
    //terrain is represented as a mesh interconnected polygons
    TKMNavMesh = class
  