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;
}
Example #2
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);
     }
   }
 }
Example #3
0
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;
}
Example #4
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;
}
Example #9
0
 real GetProjectedYF1D::operator()(Interface1D& inter) {
   return integrate(_func, inter.verticesBegin(), inter.verticesEnd(), _integration);
 }