/[ff3d]/ff3d/solver/SurfaceMeshGenerator.cpp
ViewVC logotype

Diff of /ff3d/solver/SurfaceMeshGenerator.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.23 by dobj, Fri Jul 25 10:10:42 2003 UTC revision 1.24 by delpinux, Mon Jul 28 20:45:00 2003 UTC
# Line 2984  void plothexa(size_t ncase,std::set<cons Line 2984  void plothexa(size_t ncase,std::set<cons
2984    
2985    
2986  void showObject(const Object& object, const size_t& level,  void showObject(const Object& object, const size_t& level,
2987                  std::stack<int> objectStack, const size_t& numero)                  std::stack<std::string>& objectStack)
2988  {  {
2989    for (size_t i=0; i<level; ++i)    for (size_t i=0; i<level; ++i)
2990      std::cout << "==";      std::cout << "==";
# Line 2995  void showObject(const Object& object, co Line 2995  void showObject(const Object& object, co
2995      size_t j=0;      size_t j=0;
2996      for(Union::const_iterator i = U.begin();      for(Union::const_iterator i = U.begin();
2997          i != U.end(); ++i, ++j) {          i != U.end(); ++i, ++j) {
2998        if (j>1) {        showObject((*(*i)), level+1, objectStack);
2999          if (j>0) {
3000          for (size_t l=0; l<level; ++l)          for (size_t l=0; l<level; ++l)
3001            std::cout << "==";            std::cout << "==";
3002          std::cout << "Calcule l'union\n";  
3003            std::string u = "union(";
3004            std::cerr << "Calcule l'union de " << objectStack.top();
3005            u+=objectStack.top();
3006            objectStack.pop();
3007            u+=" et de ";
3008            std::cerr << " et de " << objectStack.top() << '\n';
3009            u+=objectStack.top();
3010            objectStack.pop();
3011    
3012            u+=")";
3013            objectStack.push(u);
3014        }        }
       showObject((*(*i)), level+1, objectStack, numero+1);  
3015      }      }
     for (size_t l=0; l<level; ++l)  
       std::cout << "==";  
     std::cout << "Calcule l'union\n";  
3016      break;      break;
3017    }  case Shape::intersection: {    }  case Shape::intersection: {
3018      const Intersection& I = static_cast<const Intersection&>(*(object.shape()));      const Intersection& I = static_cast<const Intersection&>(*(object.shape()));
# Line 3012  void showObject(const Object& object, co Line 3020  void showObject(const Object& object, co
3020      size_t j=0;      size_t j=0;
3021      for(Intersection::const_iterator i = I.begin();      for(Intersection::const_iterator i = I.begin();
3022          i != I.end(); ++i,++j) {          i != I.end(); ++i,++j) {
3023        if (j>1) {        showObject((*(*i)), level+1, objectStack);
3024          if (j>0) {
3025          for (size_t l=0; l<level; ++l)          for (size_t l=0; l<level; ++l)
3026            std::cout << "==";            std::cout << "==";
3027          std::cout << "Calcule l'intersection\n";  
3028            std::string u = "intersection(";
3029            std::cerr << "Calcule l'intersection de " << objectStack.top();
3030            u+=objectStack.top();
3031            objectStack.pop();
3032            u+=" et de ";
3033            std::cerr << " et de " << objectStack.top() << '\n';
3034            u+=objectStack.top();
3035            objectStack.pop();
3036    
3037            u+=")";
3038            objectStack.push(u);
3039        }        }
       showObject((*(*i)), level+1, objectStack, numero+1);  
3040      }      }
     for (size_t l=0; l<level; ++l)  
       std::cout << "==";  
     std::cout << "Calcule l'intersection\n";  
3041      break;      break;
3042    } case Shape::difference: {    } case Shape::difference: {
3043      fferr(0) << __FILE__ << ':' << __LINE__ << ": Not implemented\n";      fferr(0) << __FILE__ << ':' << __LINE__ << ": Not implemented\n";
# Line 3029  void showObject(const Object& object, co Line 3045  void showObject(const Object& object, co
3045    } case Shape::not_: {    } case Shape::not_: {
3046      const Not& N = static_cast<const Not&>(*(object.shape()));      const Not& N = static_cast<const Not&>(*(object.shape()));
3047      std::cout << "Not:\n";      std::cout << "Not:\n";
3048      showObject((*N.object()), level+1, objectStack, numero+1);      showObject((*N.object()), level+1, objectStack);
3049      break;      break;
3050    } default: {    } default: {
3051      std::cout << "Nouvel Objet à traiter: " << numero << '\n';      objectStack.push((*object.shape()).typeName());
3052        std::cout << "Marching cube sur " << objectStack.top() << '\n';
3053    }    }
3054    }    }
3055  }  }
# Line 3060  generateSurfacicMesh(const Object& O, Line 3077  generateSurfacicMesh(const Object& O,
3077    const Object& object = Omega.object();    const Object& object = Omega.object();
3078    const Scene& scene = Omega.scene();    const Scene& scene = Omega.scene();
3079    
3080    std::stack<int> objectStack;    std::stack<std::string> objectStack;
3081    showObject(object, 0, objectStack, 0);    showObject(object, 0, objectStack);
   //std::exit(1);  
3082    
3083    switch (object.shapeType()) {    switch (object.shapeType()) {
3084    case Shape::union_: {    case Shape::union_: {

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26