Exemple #1
0
edgeCurve::~edgeCurve() {
    clearVerts();
    if (mPath) delete mPath;
    if (mHole) delete mHole;
    if (mSlaveHole) delete mSlaveHole;
    if (mResampleLine) delete mResampleLine;
}
Exemple #2
0
void edgeCurve::forceUpdateVerts(vector<ofVec3f> _verts) {
    int ind = 0;
    clearVerts();
    for (auto v : _verts) {
        mVerts.push_back(new draggableVertex(v,ind));
        ind++;
    }
}
Exemple #3
0
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
}
Exemple #4
0
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;
}
Exemple #5
0
void ofxFace::clear()
{
    clearVerts();
    clearEdges();
}