EdgeStrokePool::~EdgeStrokePool() { int i = 0; // loop index for (i = 0; i < _strip.edges().num(); i++) { Bedge* edge = _strip.edges()[i]; assert(edge); //SimplexData* d = edge->find_data(this->static_name()); SimplexData* d = edge->find_data((uintptr_t)&(this->foo)); edge->rem_simplex_data(d); } i = 0; while (i < _num) { assert( _array[i]->is_of_type(EdgeStroke::static_name())); ((EdgeStroke*)_array[i++])->clear_simplex_data(); } }