void DgSqrD4Grid2DS::setAddParents (const DgResAdd<DgIVec2D>& add, DgLocVector& vec) const { //cout << " setAddParents: " << add << endl; if (isCongruent() || radix() == 3) { DgLocation* tmpLoc = makeLocation(add); grids()[add.res() - 1]->convert(tmpLoc); convert(tmpLoc); vec.push_back(*tmpLoc); delete tmpLoc; } else // must be aligned aperture 4 { // vertices lie in parents DgLocation* tmpLoc = makeLocation(add); DgPolygon* verts = makeVertices(*tmpLoc); delete tmpLoc; //cout << " verts 1: " << *verts << endl; grids()[add.res() - 1]->convert(*verts); //cout << " verts 2: " << *verts << endl; convert(*verts); //cout << " verts 3: " << *verts << endl; for (int i = 0; i < verts->size(); i++) { bool found = false; for (int j = 0; j < vec.size(); j++) { //cout << " " << i << " " << j << " " << (*verts)[i] << " " << vec[j]; if ((*verts)[i] == vec[j]) { //cout << " YES" << endl; found = true; break; } //cout << " NO" << endl; } if (!found) vec.push_back((*verts)[i]); } //cout << " parents: " << vec << endl; delete verts; } } // void DgSqrD4Grid2DS::setAddParents
Sphere::Sphere(float radius, int slices, int stacks) :_radius(radius), _slices(slices), _stacks(stacks) { makeVertices(); makeIndices(); }