예제 #1
0
ViewShape *getOccludeeF0D(Interface0DIterator& it)
{
	ViewEdge *ve1, *ve2;
	getViewEdges(it, ve1, ve2);
	ViewShape *aShape = ve1->aShape();
	return aShape;
}
예제 #2
0
 Nature::EdgeNature CurveNatureF0D::operator()(Interface0DIterator& iter) {
   Nature::EdgeNature nat = 0;
   ViewEdge * ve1, *ve2;
   getViewEdges(iter, ve1, ve2);
   nat |= ve1->getNature();
   if(ve2!=0)
     nat |= ve2->getNature();
   return nat;
 }
예제 #3
0
 unsigned int QuantitativeInvisibilityF0D::operator()(Interface0DIterator& iter) {
   ViewEdge * ve1, *ve2;
   getViewEdges(iter,ve1,ve2);
   unsigned int qi1, qi2;
   qi1 = ve1->qi();
   if(ve2 != 0){
     qi2 = ve2->qi();
     if(qi2!=qi1)
       cout << "QuantitativeInvisibilityF0D: ambiguous evaluation for point " << iter->getId() << endl;
   }
   return qi1;
 }
예제 #4
0
  void getOccludersF0D(Interface0DIterator& it, set<ViewShape*>& oOccluders){
    ViewEdge * ve1, *ve2;
    getViewEdges(it, ve1, ve2);
    occluder_container::const_iterator oit = ve1->occluders_begin();
    occluder_container::const_iterator oitend = ve1->occluders_end();

    for(;oit!=oitend; ++oit)
      oOccluders.insert((*oit));  

    if(ve2!=0){
      oit = ve2->occluders_begin();
      oitend = ve2->occluders_end();
      for(;oit!=oitend; ++oit)
        oOccluders.insert((*oit)); 
    }
  }
예제 #5
0
int QuantitativeInvisibilityF0D::operator()(Interface0DIterator& iter)
{
	ViewEdge *ve1, *ve2;
	getViewEdges(iter, ve1, ve2);
	unsigned int qi1, qi2;
	qi1 = ve1->qi();
	if (ve2 != NULL) {
		qi2 = ve2->qi();
		if (qi2 != qi1) {
			if (G.debug & G_DEBUG_FREESTYLE) {
				cout << "QuantitativeInvisibilityF0D: ambiguous evaluation for point " << iter->getId() << endl;
			}
		}
	}
	result = qi1;
	return 0;
}
예제 #6
0
 ViewShape* getShapeF0D(Interface0DIterator& it)
 {
   ViewEdge *ve1, *ve2;
   getViewEdges(it, ve1, ve2);
   return ve1->viewShape();
 }