unsigned size() const { return x.size(); } coord operator[] (unsigned idx) const { if (idx >= x.size()) return coord(); else return coord(x[idx], y[idx], z[idx]); } void erase(unsigned idx) { if (idx < x.size()) { x.erase(x.begin()+idx); y.erase(y.begin()+idx); z.erase(z.begin()+idx); } } void push_back(const coord &crd) { x.push_back(crd.x); y.push_back(crd.y); z.push_back(crd.z); }