00001 00006 #ifndef AsympEdgesTest_hh 00007 #define AsympEdgesTest_hh 00008 00009 #include "basics/testcase.hh" 00010 #include "geometry.hh" 00011 #include "toolbox/sequence.hh" 00012 #include "toolbox/hashMap.hh" 00013 #include "app-kersten/ThinSheet/asympEdges.hh" 00014 00015 namespace test { 00016 00017 // ******************************************************* AsympEdgesTest ** 00018 00019 class AsympEdgesTest : public TestCase { 00020 public: 00021 AsympEdgesTest(); 00022 virtual ~AsympEdgesTest() {} 00023 virtual void run(); 00024 00026 00027 00029 void testTwoSquares(); 00030 void testFourSquares(); 00032 private: 00034 const std::string pathGitter_; 00036 std::auto_ptr<concepts::Mesh2> msh_; 00038 std::auto_ptr<concepts::HashMap<double> > attr_thickness_; 00040 std::auto_ptr<concepts::ThinSheetEdges> thinEdges_; 00041 00043 void loadMesh_(const std::string name); 00045 void loadThickness_(const std::string name); 00047 void createSheetObject_(const concepts::ThinSheetRule& rule); 00048 void testEdge_(const concepts::Quad2d* quad, uint i, bool top) const; 00050 void scanCells_() const; 00052 void oneCell_(const concepts::Quad2d* cell) const; 00053 }; 00054 00055 } // namespace test 00056 00057 #endif // AsympEdgesTest_hh