LCOV - code coverage report
Current view: top level - algs/Qslim - QslimMesher.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 14 17 82.4 %
Date: 2020-07-01 15:24:36 Functions: 6 7 85.7 %
Branches: 7 18 38.9 %

           Branch data     Line data    Source code
       1                 :            : #include "meshkit/QslimMesher.hpp"
       2                 :            : #include "meshkit/QslimOptions.hpp"
       3                 :            : #include "QslimDecimation.hpp"
       4                 :            : #include "meshkit/MKCore.hpp"
       5                 :            : #include "meshkit/ModelEnt.hpp"
       6                 :            : #include "meshkit/RegisterMeshOp.hpp"
       7                 :            : #include "moab/ReadUtilIface.hpp"
       8                 :            : #include <vector>
       9                 :            : #include <math.h>
      10                 :            : 
      11                 :            : namespace MeshKit
      12                 :            : {
      13                 :            : 
      14                 :            : //---------------------------------------------------------------------------//
      15                 :            : //Entity Type initialization for edge meshing
      16                 :            : moab::EntityType QslimMesher_tps[] = {moab::MBVERTEX, moab::MBEDGE, moab::MBMAXTYPE};
      17                 :         42 : const moab::EntityType* QslimMesher::output_types()
      18                 :         42 :   { return QslimMesher_tps; }
      19                 :            : 
      20                 :            : //---------------------------------------------------------------------------//
      21                 :            : // Construction Function for Qslim Mesher
      22                 :          1 : QslimMesher::QslimMesher(MKCore *mk_core, const MEntVector &me_vec)
      23         [ +  - ]:          1 :         : MeshScheme(mk_core, me_vec)
      24                 :            : {
      25                 :            : 
      26                 :          1 : }
      27                 :            : //---------------------------------------------------------------------------//
      28                 :            : // setup function: set up the number of intervals for edge meshing through the 
      29                 :            : // sizing function
      30                 :          1 : void QslimMesher::setup_this()
      31                 :            : {
      32                 :            : 
      33                 :            :   // make decimate mesher
      34                 :            :   // will take only one input, a set from ModelEnts ?
      35         [ +  - ]:          1 :   ModelEnt * me = mentSelection.begin()->first;
      36                 :          1 :   moab::EntityHandle set=me->mesh_handle(); // this is the initial set
      37         [ +  - ]:          1 :   _worker = new MeshKit::QslimDecimation(mk_core()->moab_instance(), set);
      38                 :          1 : }
      39                 :            : 
      40                 :            : //---------------------------------------------------------------------------//
      41                 :            : // execute function: Generate the mesh for decimation
      42                 :          1 : void QslimMesher::execute_this()
      43                 :            : {
      44                 :            :   // put the result in the range, eventually
      45 [ +  - ][ +  - ]:          1 :         _worker->decimate(_opts, mentSelection.begin()->second);
      46                 :            :         // this will modify the initialSet !!
      47                 :          1 : }
      48                 :            : 
      49                 :            : //---------------------------------------------------------------------------//
      50                 :            : // Deconstruction function
      51                 :          0 : QslimMesher::~QslimMesher()
      52                 :            : {
      53         [ #  # ]:          0 :   delete _worker;
      54         [ #  # ]:          0 : }
      55                 :            : 
      56                 :            : 
      57 [ +  - ][ +  - ]:        156 : } // MeshKit namespace
      58                 :            : 

Generated by: LCOV version 1.11