00001 00005 class PreproBox : public Prepro 00006 00007 { 00008 private: 00009 Handle(GeometryBox) geometry_box; 00010 Handle(PartitionBox) partition_box; 00011 00012 void generateBoxMesh (GridFE& grid); 00013 00014 public: 00015 PreproBox (); 00016 PreproBox (GeometryBox& geom, PartitionBox& part); 00017 ~PreproBox () {} 00018 00019 virtual bool ok () const; 00020 virtual void generateMesh (Grid& grid); 00021 static void box2triangle (GridFE& grid, bool six_Telms_in_box = true); 00022 static void box2prism (GridFE& grid); 00023 static real meshGrading1D (real xco, real xl, real xr, real refinement); 00024 00025 virtual const Geometry& geometry () const { return geometry_box(); } 00026 virtual Geometry& geometry () { return geometry_box(); } 00027 virtual const Partition& partition () const { return partition_box(); } 00028 virtual Partition& partition () { return partition_box(); } 00029 00030 const GeometryBox& geometryBox () const { return geometry_box(); } 00031 GeometryBox& geometryBox () { return geometry_box(); } 00032 const PartitionBox& partitionBox () const { return partition_box(); } 00033 PartitionBox& partitionBox () { return partition_box(); } 00034 00035 static void defineStatic (MenuSystem& menu, int level = MAIN); 00036 virtual void define (MenuSystem& menu, int level = MAIN) 00037 { defineStatic(menu, level); } 00038 virtual void scan (MenuSystem& menu); 00039 00040 CLASS_INFO 00041 VIRTUAL_CAST(PreproBox) 00042 }; 00043 00044