easy-iso

Iso-surface extraction from volume data
git clone https://git.0xfab.ch/easy-iso.git
Log | Files | Refs | Submodules | README | LICENSE

easy_iso.cpp (910B)


      1 // File       : easy_iso.cpp
      2 // Date       : Tue Nov 22 15:00:14 2016
      3 // Author     : Fabian Wermelinger
      4 // Description: Isosurface extractor
      5 // Copyright 2016 ETH Zurich. All Rights Reserved.
      6 #include <string>
      7 #include <sstream>
      8 #include "ArgumentParser.h"
      9 #include "interpolation/kernels.h"
     10 #include "IsoExtractor.h"
     11 
     12 int main(int argc, char* argv[])
     13 {
     14     ArgumentParser parser(argc, const_cast<const char**>(argv));
     15 
     16     using Tinterp = M2;
     17     if (parser("interp_kernel").asString("M2") == "Mp4")
     18         using Tinterp = Mprime4;
     19     else if (parser("interp_kernel").asString("M2") == "M5")
     20         using Tinterp = M5;
     21 
     22     IsoExtractor<Tinterp> iso(parser);
     23 
     24     const Real isoval = parser("isoval").asDouble(0.0);
     25     std::ostringstream basename;
     26     basename << "isosurf_" << isoval;
     27     const std::string fout = parser("fout").asString(basename.str());
     28     iso.extract(isoval, fout);
     29 
     30     return 0;
     31 }