anchor.diff:      //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;
  +    fNodes: TNodeArray;            // Nodes
  +    fPolygons: TPolygonArray;      // Polygons
  +    fPoint2NodeArr: TKMWord2Array;
   
       //Building the navmesh from terrain
       //Process involves many steps executed in a functional way
  
positive.code: 
    //Fill in NavMesh structure
    AssembleNavMesh;
  end;
  
  
  
negative.code:   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);
  
  