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 : :
|