int GetOccludersF1D::operator()(Interface1D& inter) { vector<ViewShape*> shapesVector; set<ViewShape*> shapesSet; ViewEdge *ve = dynamic_cast<ViewEdge*>(&inter); if (ve) { result = ve->occluders(); } else { Interface0DIterator it = inter.verticesBegin(), itend = inter.verticesEnd(); for (; it != itend; ++it) { Functions0D::getOccludersF0D(it, shapesSet); } shapesVector.insert(shapesVector.begin(), shapesSet.begin(), shapesSet.end()); result = shapesVector; } return 0; }
void getOccludersF1D(Interface1D& inter, set<ViewShape*>& oShapes){ ViewEdge* ve = dynamic_cast<ViewEdge*>(&inter); if (ve){ vector<ViewShape*>& occluders = ve->occluders(); oShapes.insert<vector<ViewShape*>::iterator>(occluders.begin(), occluders.end()); } else{ Interface0DIterator it=inter.verticesBegin(), itend=inter.verticesEnd(); for(;it!=itend;++it){ set<ViewShape*> shapes; Functions0D::getOccludersF0D(it, shapes); for(set<ViewShape*>::iterator s=shapes.begin(), send=shapes.end(); s!=send; ++s) oShapes.insert(*s); } } }
int GetShapeF1D::operator()(Interface1D &inter) { vector<ViewShape *> shapesVector; set<ViewShape *> shapesSet; ViewEdge *ve = dynamic_cast<ViewEdge *>(&inter); if (ve) { shapesVector.push_back(ve->viewShape()); } else { Interface0DIterator it = inter.verticesBegin(), itend = inter.verticesEnd(); for (; it != itend; ++it) shapesSet.insert(Functions0D::getShapeF0D(it)); shapesVector.insert<set<ViewShape *>::iterator>( shapesVector.begin(), shapesSet.begin(), shapesSet.end()); } result = shapesVector; return 0; }
Nature::EdgeNature CurveNatureF1D::operator()(Interface1D& inter) { ViewEdge* ve = dynamic_cast<ViewEdge*>(&inter); if (ve) return ve->getNature(); else{ // we return a nature that contains every // natures of the viewedges spanned by the chain. Nature::EdgeNature nat = Nature::NO_FEATURE; Interface0DIterator it = inter.verticesBegin(); while(!it.isEnd()){ nat |= _func(it); ++it; } return nat; } }
int ZDiscontinuityF1D::operator()(Interface1D& inter) { result = integrate(_func, inter.verticesBegin(), inter.verticesEnd(), _integration); return 0; }
int Orientation3DF1D::operator()(Interface1D& inter) { result = integrate(_func, inter.verticesBegin(), inter.verticesEnd(), _integration); return 0; }
int GetProjectedZF1D::operator()(Interface1D& inter) { result = integrate(_func, inter.verticesBegin(), inter.verticesEnd(), _integration); return 0; }
int TimeStampF1D::operator()(Interface1D& inter) { TimeStamp *timestamp = TimeStamp::instance(); inter.setTimeStamp(timestamp->getTimeStamp()); return 0; }
real GetProjectedYF1D::operator()(Interface1D& inter) { return integrate(_func, inter.verticesBegin(), inter.verticesEnd(), _integration); }