Path: blob/devel/ElmerGUI/Application/plugins/elmergrid_api.cpp
3203 views
#include <iostream>1#include "elmergrid_api.h"2#include "egmain.h"345using namespace std;67ElmergridAPI::ElmergridAPI()8{9cout << "Constructing ElmergridAPI... done" << endl;10cout.flush();11}121314ElmergridAPI::~ElmergridAPI()15{16cout << "Destructing ElmergridAPI... done" << endl;17cout.flush();18}1920int ElmergridAPI::loadElmerMeshStructure(const char *filename)21{22int retval = eg_loadmesh(filename);23return retval;24}252627int ElmergridAPI::createElmerMeshStructure(mesh_t *mesh,const char *options)28{29#if 130int retval = eg_transfermesh(mesh,options);31return retval;32#else33// nodes:34mesh->nodes = 4;35mesh->node = new node_t[4];36node_t *n;3738n = &mesh->node[0];39n->x[0] = 0.0;40n->x[1] = 0.0;41n->x[2] = 0.0;42n->index = -1;4344n = &mesh->node[1];45n->x[0] = 1.0;46n->x[1] = 0.0;47n->x[2] = 0.0;48n->index = -1;4950n = &mesh->node[2];51n->x[0] = 0.0;52n->x[1] = 1.0;53n->x[2] = 0.0;54n->index = -1;5556n = &mesh->node[3];57n->x[0] = 0.0;58n->x[1] = 0.0;59n->x[2] = 1.0;60n->index = -1;6162// elements:63mesh->elements = 1;64mesh->element = new element_t[1];6566element_t *e;6768e = &mesh->element[0];69e->code = 504;70e->nodes = 4;71e->node = new int[4];72e->node[0] = 0;73e->node[1] = 1;74e->node[2] = 2;75e->node[3] = 3;76e->index = 1;7778// boundaryelements:79mesh->boundaryelements = 4;80mesh->boundaryelement = new boundaryelement_t[4];8182boundaryelement_t *b;8384b = &mesh->boundaryelement[0];85b->code = 303;86b->nodes = 3;87b->node = new int[3];88b->node[0] = 0;89b->node[1] = 1;90b->node[2] = 2;91b->edges = 3;92b->edge = new int[3];93b->edge[0] = -1;94b->edge[1] = -1;95b->edge[2] = -1;96b->elements = 0;97b->element = new int[2]; // reserve space for 2 (will be corrected)98b->index = 1;99100b = &mesh->boundaryelement[1];101b->code = 303;102b->nodes = 3;103b->node = new int[3];104b->node[0] = 0;105b->node[1] = 1;106b->node[2] = 3;107b->edges = 3;108b->edge = new int[3];109b->edge[0] = -1;110b->edge[1] = -1;111b->edge[2] = -1;112b->elements = 0;113b->element = new int[2]; // reserve space for 2 (will be corrected)114b->index = 1;115116b = &mesh->boundaryelement[2];117b->code = 303;118b->nodes = 3;119b->node = new int[3];120b->node[0] = 0;121b->node[1] = 2;122b->node[2] = 3;123b->edges = 3;124b->edge = new int[3];125b->edge[0] = -1;126b->edge[1] = -1;127b->edge[2] = -1;128b->elements = 0;129b->element = new int[2]; // reserve space for 2 (will be corrected)130b->index = 1;131132b = &mesh->boundaryelement[3];133b->code = 303;134b->nodes = 3;135b->node = new int[3];136b->node[0] = 1;137b->node[1] = 2;138b->node[2] = 3;139b->edges = 3;140b->edge = new int[3];141b->edge[0] = -1;142b->edge[1] = -1;143b->edge[2] = -1;144b->elements = 0;145b->element = new int[2]; // reserve space for 2 (will be corrected)146b->index = 1;147148cout << "ok, palautan nyt uuden verkon" << endl;149cout.flush();150#endif151}152153154