Subject: [geometry] type based tag dispatching for VTK output
From: Tomislav Maric (tomislav.maric_at_[hidden])
Date: 2013-06-06 11:15:52
I was in South Korea for the last 10 days, so I didn't have the chance
to spend much time on the VTK stuff. Now I'm back and I've read the
documentation provided by Bruno and Barend (thans again for that!) like
10 times. I believe that I understand the design much better now,
although it will still take getting used to, coming from a code that has
maybe 2 metafunctions and uses generic programming mostly for Lifting (I
found the link on generic-programming.org in the bibliography of the GGL
article of 2009 I think).
Some notes and questions:
Structures with static apply() methods implement the algorithms
(strategies) for writing different geometries. Why is there a "detail"
namespace at all, I mean, why do the strategies in the namespace
"dispatch::" inherit from "detail::"?
Why is the output done using the format manipulators with stream
operators as friend functions? So that new stream operators don' t have
to be registered for each geometry?
I've pushed VTK output with type based tag dispatching (I did the best I
could at this point) using tags of boost.geometry up on
"git_at_[hidden]/tmaric:boost-geometry-3d", so any input you can spare
is very much appreciated.
Btw, we pushed the article on the geometrical two-phase flow simulation
method (Volume of Fluid - VoF) to arXiv, you can get it there, if you
want to see nice pictures and what I plan to use the boost.geometry 3D
stuff for (see pages 10-12 for geometrical operations, and the result
section for the geometry of the interface between fluids):
Geometry list run by mateusz at loskot.net