void SeLct::get_path_corners ( GsArray<GsVec2>& points, GsArray<char>& topdown ) { points.size(0); topdown.size(0); if ( !_fpath ) return; for ( int i=0; i<_fpath->size(); i++ ) { points.push() = _fpath->get(i); topdown.push() = _fpath->get(i).side; } }
void SeLct::get_funnel_corners ( GsArray<GsVec2>& points, GsArray<char>& sides, FunnelDeque* funnel ) { char s; points.size(0); sides.size(0); if ( !funnel ) funnel=_fdeque; if ( !funnel ) return; for ( int i=0; i<funnel->size(); i++ ) { points.push() = (*funnel)[i]; s = (*funnel)[i].side; sides.push() = s; if ( (*funnel)[i].apex ) sides.top() = GS_UPPER(s); } }