summaryrefslogtreecommitdiff
path: root/src/boundary.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boundary.cpp')
-rwxr-xr-xsrc/boundary.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/boundary.cpp b/src/boundary.cpp
index 2425c4a..3e5b18c 100755
--- a/src/boundary.cpp
+++ b/src/boundary.cpp
@@ -37,13 +37,15 @@ void boundary::undo(){
}
void boundary::getCentroid(){
- float x=0;
float y=0;
+ float maxx=-1;
+ float minx=100000;
for (int i=0;i<points.size();i++) {
- x+=points[i].x;
y+=points[i].y;
+ minx=min(minx,points[i].x);
+ maxx=max(maxx,points[i].x);
}
- centroid=ofPoint(x/points.size(),y/points.size(),0);
+ centroid=ofPoint(minx+((maxx-minx)*0.1),y/points.size(),0);
}
bool boundary::contains(ofPoint p)
@@ -77,6 +79,16 @@ bool boundary::contains(ofPoint p)
return false;
else
return true;
+}
+int boundary::findPoint(ofPoint pos){
+ int threshold=6;
+ int selected=-1;
+ for (int i=0;i<points.size();i++) {
+ if (abs(points[i].x-pos.x)<=threshold&&abs(points[i].x-pos.x)<=threshold) {
+ selected=i;
+ }
+ }
+ return selected;
}
void boundary::openFile(string file) {
filename=file;