Bayeux
3.4.1
Core Foundation library for SuperNEMO
bayeux
geomtools
model_macros.h
Go to the documentation of this file.
1
/* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3
* Creation date: 2011-12-05
4
* Last modified: 2011-12-05
5
*
6
* License:
7
*
8
* Description:
9
*
10
* Macros for geometry models
11
*
12
* History:
13
*
14
*/
15
16
#ifndef GEOMTOOLS_MODEL_MACROS_H
17
#define GEOMTOOLS_MODEL_MACROS_H 1
18
19
// This project:
20
#include <
geomtools/i_model.h
>
21
22
#define GEOMTOOLS_MODEL_INHERIT \
23
public ::geomtools::i_model \
24
25
26
#define GEOMTOOLS_MODEL_CLASS_DECLARE(ModelClassName) \
27
class ModelClassName : GEOMTOOLS_MODEL_INHERIT \
28
29
30
#define GEOMTOOLS_MODEL_REGISTRATION_INTERFACE(ModelClassName) \
31
private: \
32
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE(::geomtools::i_model,ModelClassName) \
33
34
35
#define GEOMTOOLS_MODEL_REGISTRATION_IMPLEMENT(ModelClassName,ModelClassId) \
36
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION(::geomtools::i_model,ModelClassName,ModelClassId) \
37
38
39
#define GEOMTOOLS_MODEL_PRE_CONSTRUCT_INTERFACE() \
40
protected: \
41
virtual void _pre_construct (::datatools::properties &); \
42
43
44
#define GEOMTOOLS_MODEL_POST_CONSTRUCT_INTERFACE() \
45
protected: \
46
virtual void _post_construct (::datatools::properties &); \
47
48
49
#define GEOMTOOLS_MODEL_AT_CONSTRUCT_INTERFACE() \
50
protected: \
51
virtual void _at_construct (const std::string &, \
52
const ::datatools::properties &, \
53
::geomtools::models_col_type * = 0); \
54
55
56
#define GEOMTOOLS_MODEL_AT_CONSTRUCT_IMPL_HEAD(ModelClassName,Name,Setup,Models) \
57
void ModelClassName::_at_construct (const std::string & Name, \
58
const ::datatools::properties & Setup, \
59
::geomtools::models_col_type * Models) \
60
61
62
#endif // GEOMTOOLS_MODEL_MACROS_H
63
64
/*
65
** Local Variables: --
66
** mode: c++ --
67
** c-file-style: "gnu" --
68
** tab-width: 2 --
69
** End: --
70
*/
i_model.h
Generated by
1.8.15