diff options
Diffstat (limited to 'gui/src/lineSegmenter.cpp')
| -rw-r--r-- | gui/src/lineSegmenter.cpp | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/gui/src/lineSegmenter.cpp b/gui/src/lineSegmenter.cpp deleted file mode 100644 index 14f6e24..0000000 --- a/gui/src/lineSegmenter.cpp +++ /dev/null @@ -1,71 +0,0 @@ - #include "lineSegmenter.h" - -const vector <ofPolyline> & lineSegmenter::getSegments(int num,float coverage, float phase){ - //num - number of segments - //coverage - amount that each segment fills it's slot from 0-1 - //phase - from 0-1 - - //if the path is closed, we can make a segment that crosses the end/beginning - //however we want to be able to deal with open paths - -/* - -segments 0...n - 1 -phase 0...1 - -phase 0 - -segment 0 is (0 -> coverage) / n -segment n - 1 is ((0 -> coverage) + (n-1)) /n - -phase 1: has to be the loop target, it has to look identical - -segment 0 is (1 -> coverage) / n -segment n - 1 is (1 - > coverage) + (n-1) - -*/ - - - segments.clear(); - - for (int i=0;i<num;i++){ - float startIndex=line.getIndexAtPercent((phase+i)/num); //always <1 - float endPoint=(phase+i+coverage)/num; //can be >1 - float endIndex=line.getIndexAtPercent(endPoint>1.0f?endPoint-1.0f:endPoint); - ofPolyline segment; - segment.addVertex(line.getPointAtIndexInterpolated(startIndex)); - for (int j=(int)ceil(startIndex);j<(endPoint>1?line.size():(int)ceil(endIndex));j++){ - segment.addVertex(line[j]); - } - if (endPoint>1){ - segments.push_back(segment); - segment.clear(); - for (int j=0;j<(int)ceil(endIndex);j++){ - segment.addVertex(line[j]); - } - segment.addVertex(line.getPointAtIndexInterpolated(endIndex)); - } - else { - segment.addVertex(line.getPointAtIndexInterpolated(endIndex)); - } - segments.push_back(segment); - } - - return segments; -} - -void lineSegmenter::draw(){ - line.draw(); - return; -} -int lineSegmenter::size(){ - return line.size(); -} - - -/* - - - - -*/
\ No newline at end of file |
