[MOAB-dev] Re-arranging MOAB source
Jason Kraftcheck
kraftche at cae.wisc.edu
Thu Jan 7 16:16:51 CST 2010
Tim Tautges wrote:
>
>
> Jason Kraftcheck wrote:
>> Tim Tautges wrote:
>>> Several questions:
>>>
>>> Where would things like the skinner go (TopoUtil, ElemUtil, etc)?
>>>
>>
>> Any features that are to be usable by other tools should go into moab/.
>> Other stuff should be in tools/.
>
> Then I think we need something like "core" inside moab, to distinguish
> the core stuff from the utils. Or, make a utils directory (which
> wouldn't be a bad idea either, for trees and other stuff).
>
Or just put the utils in subdirectories of MOAB, and leave the core stuff in
the top-level directory. Or perhaps create more top-level directories than
just moab/ if there are other libraries that may be used w/out MOAB.
>>
>>> How would naming the source directory moab help with namespacing, other
>>> than perceptually? If it's just perceptual, then I think we should
>>> balance that against the familiarity that src has.
>>>
>>
>> The directory name could serve as a "namespace" for header files. For
>> example:
>> #include "moab/exodus_order.h"
>
> I've always found subdirs in #includes annoying. Why not just put
> -Imoab and reference exodus_order.h directly?
If I have a class named Vector3D in Mesquite, and MOAB has a class named
Vector3D, then I cannot use both tools together unless at least one of those
classes is in some namespace other than the top level-one. Namespaces solve
this issue for class names. However, I also need to include the headers
defining each header. If both Mesquite and MOAB use the conventional name
of Vector3D.hpp, how do I include both? If one is going to use the
classname->filename convention for C++ headers, then there must also be a
namespace for the headers.
Also, I don't think we
> should install into a bunch of subdirs under include, and tools (and
> examples) should look as much as possible like apps outside moab.
>
I don't see a) a problem with subdirs under include or b) the relevance of apps.
- jason
More information about the moab-dev
mailing list