LCOV - code coverage report
Current view: top level - algs - CopyGeom.cpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 24 28 85.7 %
Date: 2020-07-01 15:24:36 Functions: 8 10 80.0 %
Branches: 21 40 52.5 %

           Branch data     Line data    Source code
       1                 :            : #include "meshkit/CopyGeom.hpp"
       2                 :            : #include "meshkit/MKCore.hpp"
       3                 :            : #include "meshkit/SizingFunction.hpp"
       4                 :            : #include "meshkit/RegisterMeshOp.hpp"
       5                 :            : #include "meshkit/LocalSet.hpp"
       6                 :            : #include "meshkit/ModelEnt.hpp"
       7                 :            : 
       8                 :            : #include "iMesh_extensions.h"
       9                 :            : #include "MBCN.h"
      10                 :            : 
      11                 :            : 
      12                 :            : namespace MeshKit
      13                 :            : {
      14                 :            : // static registration of this  mesh scheme
      15                 :            : moab::EntityType CopyGeom_tps[] = { moab::MBVERTEX,
      16                 :            :                                     moab::MBEDGE,
      17                 :            :                                     moab::MBTRI,
      18                 :            :                                     moab::MBHEX,
      19                 :            :                                     moab::MBMAXTYPE};
      20                 :         40 : const moab::EntityType* CopyGeom::output_types()
      21                 :         40 : { return CopyGeom_tps; }
      22                 :            : 
      23                 :          1 : CopyGeom::CopyGeom(MKCore *mkcore, const MEntVector &me_vec)
      24                 :            : : MeshScheme(mkcore, me_vec),
      25 [ +  - ][ +  - ]:          1 :   igeomImpl(mkcore->igeom_instance())
      26                 :            : {
      27         [ +  - ]:          1 :   m_x[0] = 0.0;
      28         [ +  - ]:          1 :   m_x[1] = 0.0;
      29         [ +  - ]:          1 :   m_x[2] = 0.0;
      30                 :          1 : }
      31                 :            : 
      32                 :          3 : CopyGeom::~CopyGeom()
      33         [ -  + ]:          2 : {}
      34                 :            : 
      35                 :          0 : bool CopyGeom::add_modelent(ModelEnt *model_ent)
      36                 :            : {
      37                 :          0 :   return MeshOp::add_modelent(model_ent);
      38                 :            : }
      39                 :            : 
      40                 :          1 : void CopyGeom::setup_this()
      41                 :          1 : {}
      42                 :            : 
      43                 :          1 : void CopyGeom::execute_this()
      44                 :            : {
      45   [ +  -  +  - ]:          4 :   for (MEntSelection::iterator mit = mentSelection.begin();
                 [ +  + ]
      46                 :          2 :        mit != mentSelection.end(); mit++) {
      47         [ +  - ]:          1 :     ModelEnt *me = mit->first;
      48                 :            :     iBase_EntityHandle ent = reinterpret_cast<iBase_EntityHandle>(
      49         [ +  - ]:          1 :       me->geom_handle());
      50                 :            :     iBase_EntityHandle tmp;
      51 [ +  - ][ +  - ]:          1 :     IBERRCHK(igeomImpl->copyEnt(ent, tmp), *igeomImpl);
      52 [ +  - ][ +  - ]:          1 :     IBERRCHK(igeomImpl->moveEnt(tmp, m_x[0], m_x[1], m_x[2]), *igeomImpl);
         [ +  - ][ +  - ]
                 [ +  - ]
      53                 :            :   }
      54                 :          1 : }
      55                 :            : 
      56                 :            : // set the target location - m_x
      57                 :          1 : void CopyGeom::set_location(const Vector<3> &dx)
      58                 :            : {
      59                 :          1 :   m_x = dx;
      60                 :          1 : }
      61                 :            : 
      62                 :          0 : void CopyGeom::tag_copied_sets(const char **tag_names, const char **tag_vals,
      63                 :            :                                const int num_tags)
      64                 :            : {
      65                 :            :   // TODO:
      66                 :          0 : }
      67                 :            : 
      68 [ +  - ][ +  - ]:        156 : } // namespace MeshKit

Generated by: LCOV version 1.11