Add point correspondences to the outline
Add point correspondences to the outline
To the Outline object this adds
hfpoint correspondence mapping in forward direction for points on boundary
hbpoint correspondence mapping in backward direction for points on boundary
retistruct::OutlineCommon -> retistruct::Outline -> PathOutline
hfForward correspondences
hbBackward correspondences
addPoints()Add points to the outline register of points
PathOutline$addPoints(P)
P2 column matrix of points to add
The ID of each added point in the register. If points already exist a point will not be created in the register, but an ID will be returned
nextPoint()Get next point in path for
PathOutline$nextPoint(pids)
pidsPoint IDs of points to get next position
insertPoint()Insert point at a fractional distance between points
PathOutline$insertPoint(i0, i1, f)
i0Point ID of first point
i1Point ID of second point
fFraction of distance between points i0 and
i1 at which to insert point
stitchSubpaths()Stitch subpaths
PathOutline$stitchSubpaths(VF0, VF1, VB0, VB1, epsilon)
VF0First vertex of “forward” subpath
VF1Second vertex of “forward” subpath
VB0First vertex of “backward” subpath
VB1Second vertex of “backward” subpath
epsilonMinimum distance between points
clone()The objects of this class are cloneable with this method.
PathOutline$clone(deep = FALSE)
deepWhether to make a deep clone.
The member function stitchSubpaths() stitches together two
subpaths of the outline. One subpath is stitched in the forward
direction from the point indexed by VF0 to the point
indexed by VF1. The other is stitched in the backward
direction from VB0 to VB1. Each point in the subpath
is linked to points in the opposing pathway at an equal or
near-equal fraction along. If a point exists in the opposing
pathway within a distance epsilon of the projection, this
point is connected. If no point exists within this tolerance, a
new point is created.