예제 #1
0
 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));
   }
 }
예제 #2
0
 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;
 }