void getOccludeeF1D(Interface1D& inter, set<ViewShape*>& oShapes){ ViewEdge* ve = dynamic_cast<ViewEdge*>(&inter); if (ve){ ViewShape * aShape = ve->aShape(); if(aShape == 0){ oShapes.insert(0); return; } oShapes.insert(aShape); } else{ Interface0DIterator it=inter.verticesBegin(), itend=inter.verticesEnd(); for(;it!=itend;++it) oShapes.insert(Functions0D::getOccludeeF0D(it)); } }
vector<ViewShape*> GetOccludeeF1D::operator()(Interface1D& inter) { vector<ViewShape*> shapesVector; set<ViewShape*> shapesSet; ViewEdge* ve = dynamic_cast<ViewEdge*>(&inter); if (ve){ ViewShape * aShape = ve->aShape(); shapesVector.push_back(aShape); }else{ Interface0DIterator it=inter.verticesBegin(), itend=inter.verticesEnd(); for(;it!=itend;++it){ shapesSet.insert(Functions0D::getOccludeeF0D(it)); } shapesVector.insert<set<ViewShape*>::iterator>(shapesVector.begin(), shapesSet.begin(), shapesSet.end()); } return shapesVector; }