edgeCurve::~edgeCurve() { clearVerts(); if (mPath) delete mPath; if (mHole) delete mHole; if (mSlaveHole) delete mSlaveHole; if (mResampleLine) delete mResampleLine; }
void edgeCurve::forceUpdateVerts(vector<ofVec3f> _verts) { int ind = 0; clearVerts(); for (auto v : _verts) { mVerts.push_back(new draggableVertex(v,ind)); ind++; } }
void PolygonObject::prepareForDock(const Point &point, S32 teamIndex) { #ifndef ZAP_DEDICATED F32 h = 16; // Entire height F32 w = 20; // Half the width clearVerts(); addVert(point + Point(-w, 0)); addVert(point + Point( w, 0)); addVert(point + Point( w, h)); addVert(point + Point(-w, h)); Parent::prepareForDock(point, teamIndex); #endif }
void edgeCurve::resample(int _vcnt) { if (mResampleLine) { delete mResampleLine; mResampleLine = NULL; } mResampleLine = new ofPolyline(); int ind =0; for (auto v : mVerts) { if (ind ==0) { mResampleLine->addVertex(v->pos); mResampleLine->curveTo(v->pos); mResampleLine->curveTo(v->pos); } else if (ind == mVerts.size()-1) { mResampleLine->curveTo(v->pos); mResampleLine->curveTo(v->pos); } else { mResampleLine->curveTo(v->pos); } ind++; } ofPolyline rpln = mResampleLine->getResampledBySpacing(mResampleLine->getPerimeter()/(_vcnt+0.001)); clearVerts(); vector <ofPoint> pts = rpln.getVertices(); ind =0; for (auto pt : pts) { mVerts.push_back(new draggableVertex(pt,ind)); ind++; } mVertCnt = _vcnt; }
void ofxFace::clear() { clearVerts(); clearEdges(); }