Esempio n. 1
0
    bool AddPoly() {
        if (poly_.size() == Settings::MaxPolygons)
            return false;

        int idx = RangeRand(poly_.size());
        PolyIt it = poly_.begin();
        std::advance(it, idx);
        poly_.insert(it, DnaPolygon());
        return true;
    }
Esempio n. 2
0
    bool MovePoly() {
        int origpos = RangeRand(poly_.size());
        int newpos  = RangeRand(poly_.size());

        if (newpos == origpos)
            return false;

        PolyIt it = poly_.begin();
        std::advance(it, origpos);
        DnaPolygon p(*it);
        poly_.erase(it);
        it = poly_.begin();
        std::advance(it, newpos);
        poly_.insert(it, p);

        return true;
    }