00001 00006 #ifndef meshes1D_hh 00007 #define meshes1D_hh 00008 00009 #include "mesh.hh" 00010 00011 namespace concepts { 00012 00013 // ******************************************************************* Line ** 00014 00021 class Line : public Mesh1 { 00022 public: 00029 Line(const uint n = 1); 00030 00032 Line(Real left, Real right); 00034 Line(Real left, Real mid, Real right); 00036 Line(Real v0, Real v1, Real v2, Real v3); 00037 00038 00039 virtual ~Line(); 00040 unsigned int ncell() const { return n_; } 00041 Scan1* scan() { return new PStlVectorScan<Cell1>(cell_); } 00042 virtual std::ostream& info(std::ostream& os) const; 00043 private: 00044 // Number of cells 00045 const uint n_; 00046 00047 Sequence<Vertex*> vtx_; 00048 Sequence<Edge* > edg_; 00049 Sequence<Cell1* > cell_; 00050 00051 void construct_(const Array<Real> coord); 00052 }; 00053 00054 } // namespace concepts 00055 00056 #endif // meshes1D_hh