| 97 | 
  | 
 | 
| 98 | 
  | 
// A modifier creating a triangle with the incremental builder. | 
| 99 | 
  | 
template <class HDS> | 
| 100 | 
< | 
class Build_nanorod : public CGAL::Modifier_base<HDS> { | 
| 100 | 
> | 
class buildSingleCrystal : public CGAL::Modifier_base<HDS> { | 
| 101 | 
  | 
 public: | 
| 102 | 
  | 
  Vertex_handle end1; | 
| 103 | 
  | 
  Vertex_handle neight1; | 
| 105 | 
  | 
  Vertex_handle neight2; | 
| 106 | 
  | 
  Vertex_handle neight3; | 
| 107 | 
  | 
   | 
| 108 | 
< | 
  Build_nanorod() {} | 
| 108 | 
> | 
  buildSingleCrystal() {} | 
| 109 | 
  | 
  void operator()( HDS& hds) { | 
| 110 | 
  | 
    // Postcondition: `hds' is a valid polyhedral surface. | 
| 111 | 
  | 
    CGAL::Polyhedron_incremental_builder_3<HDS> B( hds, true); | 
| 268 | 
  | 
 | 
| 269 | 
  | 
GeometryBuilder::GeometryBuilder(double length,double width) { | 
| 270 | 
  | 
  // Create the geometry for nanorod | 
| 271 | 
< | 
  Build_nanorod<HalfedgeDS> nanorod; | 
| 271 | 
> | 
 buildSingleCrystal<HalfedgeDS> nanorod; | 
| 272 | 
  | 
   | 
| 273 | 
  | 
  nanoRodPolyhedron.delegate( nanorod); | 
| 274 | 
  | 
    |