-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplugin_main.cpp
More file actions
60 lines (54 loc) · 2.17 KB
/
plugin_main.cpp
File metadata and controls
60 lines (54 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*!
* \file plugins/skin_layer_generator/unit_tests/src/tests.cpp
* \brief registry for SkinLayerGenerator
*/
/// includes
#include <string>
#include <map>
#include <vector>
#include "skin_layer_generator.h"
#include <bridge/util.h>
#include <bridge/util_domain_dependent.h>
#include <common/error.h>
#include <common/ug_config.h>
#include <common/log.h>
#include <registry/registry.h>
#include <registry/error.h>
#include <lib_disc/domain.h>
#include <lib_grid/lib_grid.h>
namespace ug {
namespace skin_layer_generator {
/// usings
using namespace ug::bridge;
using namespace std;
/*!
* \brief functionality which should be registered
*/
struct Functionality {
static void Common(Registry& reg, string& parentGroup) {
// group membership
std::string grp("/UG4/Plugins/Neuro/SkinLayerGenerator/");
// typedefs
typedef skin_layer_generator::SkinLayerGenerator TSLG;
/// registry of SkinLayerGenerator
reg.add_class_<TSLG>("SkinLayerGenerator", grp)
.add_constructor<void (*)()>("")
.add_method("generate", (void (TSLG::*)())(&TSLG::generate), "", "", "generate the mesh", "")
.add_method("add_layer", (void (TSLG::*)(number, number, const std::string&))(&TSLG::add_layer), "", "layer's name#layer's thickness#layer's resolution", "add skin layer", "")
.add_method("add_layer_with_injection", (void (TSLG::*)(number, number, const std::string&, const std::string&, number, number, number))(&TSLG::add_layer_with_injection), "", "layer's name#layer's thickness#layer's resolution#injection's name#injection's thickness#injection's resolution#injection's relative position in layer", "add skin layer with injection", "")
.add_method("enable_output_straightening", (void (TSLG::*)(bool))(&TSLG::set_straighten_subset_names_for_lua), "", "true or false", "");
}
};
}
/*!
* \brief initializing routine for plugin
*/
extern "C" void
InitUGPlugin_SkinLayerGenerator(bridge::Registry& reg, std::string& parentGroup) {
std::string grp("/UG4/Plugins/Neuro/SkinLayerGenerator/");
typedef skin_layer_generator::Functionality Functionality;
try {
bridge::RegisterCommon<Functionality>(reg, grp);
} UG_REGISTRY_CATCH_THROW(grp);
}
}