From: John P. <pet...@cf...> - 2004-05-14 19:40:29
|
Steffen and Florian, The MeshBase class now contains several "forwarding" functions, such as: void tetgen_triangulate_pointset(); void tetgen_pointset_convexhull(); The purpose of these functions is to construct a TetGenMeshInterface object, and then call a function by the same name, as in: void MeshBase::tetgen_triangulate_pointset() { TetGenMeshInterface tetgen_interface (_nodes, _elements, data); tetgen_interface.triangulate_pointset(); // Done triangulating the mesh. Now prepare it for use. this->prepare_for_use(); } In the interest of keeping the MeshBase interface as simple as possible, would you be able to have the TetGenInterface class take a reference to a Mesh upon construction? For example, see the Partitioner or MeshSmoother classes. Then the user does: Mesh mesh(3); // read in points... TetGenInterface tetgen(mesh); tetgen.triangulate_pointset(); Probably the best thing about this technique is the savings in compile time. If you change the functionality of TetGenMeshInterface, you no longer have to change mesh_base.h, which in turn prevents a huge re-compile. This shouldn't require too much work. If you are busy now, I can probably try to do it. Thanks, John W. Peterson |
From: Steffen P. <ste...@tu...> - 2004-05-14 20:44:16
|
John Peterson wrote: >Steffen and Florian, > >The MeshBase class now contains several "forwarding" >functions, such as: > >void tetgen_triangulate_pointset(); >void tetgen_pointset_convexhull(); > > >The purpose of these functions is to construct a >TetGenMeshInterface object, and then call a function >by the same name, as in: > >void MeshBase::tetgen_triangulate_pointset() >{ > TetGenMeshInterface tetgen_interface (_nodes, > _elements, > data); > tetgen_interface.triangulate_pointset(); > > // Done triangulating the mesh. Now prepare it for use. > this->prepare_for_use(); >} > > > >In the interest of keeping the MeshBase interface as >simple as possible, would you be able to have the TetGenInterface >class take a reference to a Mesh upon construction? For >example, see the Partitioner or MeshSmoother classes. >Then the user does: > >Mesh mesh(3); >// read in points... > >TetGenInterface tetgen(mesh); >tetgen.triangulate_pointset(); > > >Probably the best thing about this technique is the savings in >compile time. If you change the functionality of TetGenMeshInterface, >you no longer have to change mesh_base.h, which in turn prevents a >huge re-compile. > >This shouldn't require too much work. If you are busy now, I can >probably try to do it. > It's ok. Either Florian or I will have time to change it. Steffen |