CppLcpFinder is a C++ class for finding least-cost paths
(LCPs) using a Quadtree as a resistance surface. The average
user should not need to interact with this class at all - all of the LCP
functionality is made available through the LcpFinder S4
class.
This class is defined in 'src/LcpFinderWrapper.h' and
'src/LcpFinderWrapper.cpp'. When made available to R, it is
exposed as CppLcpFinder rather than
LcpFinderWrapper. LcpFinderWrapper contains
a pointer to a LcpFinder C++ object (defined in
'src/LcpFinder.h' and 'src/LcpFinder.cpp'). All of the
core functionality is in the LcpFinder C++ class.
LcpFinderWrapper is a wrapper class that adds the 'Rcpp' code
required for it to be accessible from R.
Note that there is no constructor made accessible to R - a
CppLcpFinder is created by using the
getLcpFinder method of the CppQuadtree class.
getAllPathsSummaryDescription: Returns a matrix summarizing all the LCPs
calculated so far. summarize_lcps() is a wrapper for this
function - see documentation of that function for more details.
Parameters: none
Returns: a matrix with one row per LCP. See documentation of
summarize_lcps() for details.
getLcpDescription: Finds the LCP from the starting point to
another point. find_lcp is a wrapper for this function - see
its documentation for more details.
Parameters:
endPoint: two-element numeric vector (x,y) - the point to
find a shortest path to
Returns: A matrix representing the least-cost path. See
find_lcp() for details on the return matrix.
getSearchLimitsDescription: Returns the x and y limits of the search area.
Parameters: none
Returns: four-element numeric vector, in this order: xmin, xmax, ymin, ymax
getStartPointDescription: Returns the start point
Parameters: none
Returns: two-element numeric vector (x,y)
makeNetworkAllDescription: Calculates LCPs to all cells in the search
area. This is used by find_lcps when limit is
NULL. See documentation of that function for more details.
Parameters: none
Returns: void - no return value. Specific paths can be
retrieved using getLcp, and getAllPathsSummary can
be used to summarize all paths that have been found.
makeNetworkCostDistDescription: Calculates all LCPs whose cost-distance is less
than a given threshold. This is used in find_lcps when
limit is not NULL. See documentation of that function for
more details.
Parameters:
constraint: double; the maximum cost-distance allowed for a
LCP
Returns: void - no return value. Specific paths can be
retrieved using getLcp, and getAllPathsSummary can
be used to summarize all paths that have been found.