PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Framework
DeclareField.h
Go to the documentation of this file.
1
16
#pragma once
17
18
namespace
dyno
19
{
20
21
#define DEF_VAR(T, name, value, desc) \
22
private: \
23
FVar<T> var_##name = FVar<T>(T(value), std::string(#name), desc, FieldTypeEnum::Param, this); \
24
public: \
25
inline FVar<T>* var##name() {return &var_##name;}
26
27
#define DEF_VAR_IN(T, name, desc) \
28
private: \
29
FVar<T> in_##name = FVar<T>(std::string(#name), desc, FieldTypeEnum::In, this); \
30
public: \
31
inline FVar<T>* in##name() {return &in_##name;}
32
33
#define DEF_VAR_OUT(T, name, desc) \
34
private: \
35
FVar<T> out_##name = FVar<T>(std::string(#name), desc, FieldTypeEnum::Out, this); \
36
public: \
37
inline FVar<T>* out##name() {return &out_##name;}
38
39
#define DEF_VAR_STATE(T, name, value, desc) \
40
private: \
41
FVar<T> state_##name = FVar<T>(T(value), std::string(#name), desc, FieldTypeEnum::State, this); \
42
public: \
43
inline FVar<T>* state##name() {return &state_##name;}
44
48
#define DEF_INSTANCE_IN(T, name, desc) \
49
private: \
50
FInstance<T> in_##name = FInstance<T>(std::string(#name), desc, FieldTypeEnum::In, this); \
51
public: \
52
inline FInstance<T>* in##name() {return &in_##name;}
53
54
#define DEF_INSTANCE_OUT(T, name, desc) \
55
private: \
56
FInstance<T> out_##name = FInstance<T>(std::string(#name), desc, FieldTypeEnum::Out, this); \
57
public: \
58
inline FInstance<T>* out##name() {return &out_##name;}
59
60
#define DEF_INSTANCE_IO(T, name, desc) \
61
private: \
62
FInstance<T> io_##name = FInstance<T>(std::string(#name), desc, FieldTypeEnum::IO, this); \
63
public: \
64
inline FInstance<T>* io##name() {return &io_##name;}
65
70
#define DEF_INSTANCE_STATE(T, name, desc) \
71
private: \
72
FInstance<T> state_##name = FInstance<T>(std::string(#name), desc, FieldTypeEnum::State, this); \
73
public: \
74
inline FInstance<T>* state##name() {return &state_##name;}
75
79
#define DEF_INSTANCES_STATE(T, name, desc) \
80
private: \
81
FArray<std::shared_ptr<T>, DeviceType::CPU> state_##name = FArray<std::shared_ptr<T>, DeviceType::CPU>(std::string(#name)+std::string("(s)"), desc, FieldTypeEnum::State, this); \
82
public: \
83
inline FArray<std::shared_ptr<T>, DeviceType::CPU>* state##name##s() {return &state_##name;}
84
85
#define DEF_INSTANCES_IN(T, name, desc) \
86
private: \
87
FArray<std::shared_ptr<T>, DeviceType::CPU> in_##name = FArray<std::shared_ptr<T>, DeviceType::CPU>(std::string(#name)+std::string("(s)"), desc, FieldTypeEnum::In, this); \
88
public: \
89
inline FArray<std::shared_ptr<T>, DeviceType::CPU>* in##name##s() {return &in_##name;}
90
91
#define DEF_INSTANCES_OUT(T, name, desc) \
92
private: \
93
FArray<std::shared_ptr<T>, DeviceType::CPU> out_##name = FArray<std::shared_ptr<T>, DeviceType::CPU>(std::string(#name)+std::string("(s)"), desc, FieldTypeEnum::Out, this); \
94
public: \
95
inline FArray<std::shared_ptr<T>, DeviceType::CPU>* out##namee##s() {return &out_##name;}
96
97
101
#define DEF_ARRAY_IN(T, name, device, desc) \
102
private: \
103
FArray<T, device> in_##name = FArray<T, device>(std::string(#name), desc, FieldTypeEnum::In, this); \
104
public: \
105
inline FArray<T, device>* in##name() {return &in_##name;}
106
107
#define DEF_ARRAY_OUT(T, name, device, desc) \
108
private: \
109
FArray<T, device> out_##name = FArray<T, device>(std::string(#name), desc, FieldTypeEnum::Out, this); \
110
public: \
111
inline FArray<T, device>* out##name() {return &out_##name;}
112
113
#define DEF_ARRAY_IO(T, name, device, desc) \
114
private: \
115
FArray<T, device> io_##name = FArray<T, device>(std::string(#name), desc, FieldTypeEnum::IO, this); \
116
public: \
117
inline FArray<T, device>* in##name() {return &io_##name;} \
118
inline FArray<T, device>* out##name() {return &io_##name;}
119
120
124
#define DEF_ARRAY2D_IN(T, name, device, desc) \
125
private: \
126
FArray2D<T, device> in_##name = FArray2D<T, device>(std::string(#name), desc, FieldTypeEnum::In, this); \
127
public: \
128
inline FArray2D<T, device>* in##name() {return &in_##name;}
129
130
#define DEF_ARRAY2D_OUT(T, name, device, desc) \
131
private: \
132
FArray2D<T, device> out_##name = FArray2D<T, device>(std::string(#name), desc, FieldTypeEnum::Out, this); \
133
public: \
134
inline FArray2D<T, device>* out##name() {return &out_##name;}
135
136
#define DEF_ARRAY2D_IO(T, name, device, desc) \
137
private: \
138
FArray2D<T, device> io_##name = FArray2D<T, device>(std::string(#name), desc, FieldTypeEnum::IO, this); \
139
public: \
140
inline FArray2D<T, device>* in##name() {return &io_##name;} \
141
inline FArray2D<T, device>* out##name() {return &io_##name;}
142
143
147
#define DEF_ARRAY3D_IN(T, name, device, desc) \
148
private: \
149
FArray3D<T, device> in_##name = FArray3D<T, device>(std::string(#name), desc, FieldTypeEnum::In, this); \
150
public: \
151
inline FArray3D<T, device>* in##name() {return &in_##name;}
152
153
#define DEF_ARRAY3D_OUT(T, name, device, desc) \
154
private: \
155
FArray3D<T, device> out_##name = FArray3D<T, device>(std::string(#name), desc, FieldTypeEnum::Out, this); \
156
public: \
157
inline FArray3D<T, device>* out##name() {return &out_##name;}
158
159
#define DEF_ARRAY3D_IO(T, name, device, desc) \
160
private: \
161
FArray3D<T, device> io_##name = FArray3D<T, device>(std::string(#name), desc, FieldTypeEnum::IO, this); \
162
public: \
163
inline FArray3D<T, device>* in##name() {return &io_##name;} \
164
inline FArray3D<T, device>* out##name() {return &io_##name;}
165
166
170
#define DEF_ARRAYLIST_IN(T, name, device, desc) \
171
private: \
172
FArrayList<T, device> in_##name = FArrayList<T, device>(std::string(#name), desc, FieldTypeEnum::In, this); \
173
public: \
174
inline FArrayList<T, device>* in##name() {return &in_##name;}
175
176
#define DEF_ARRAYLIST_OUT(T, name, device, desc) \
177
private: \
178
FArrayList<T, device> out_##name = FArrayList<T, device>(std::string(#name), desc, FieldTypeEnum::Out, this); \
179
public: \
180
inline FArrayList<T, device>* out##name() {return &out_##name;}
181
182
#define DEF_ARRAYLIST_IO(T, name, device, desc) \
183
private: \
184
FArrayList<T, device> io_##name = FArrayList<T, device>(std::string(#name), desc, FieldTypeEnum::IO, this); \
185
public: \
186
inline FArrayList<T, device>* in##name() {return &io_##name;} \
187
inline FArrayList<T, device>* out##name() {return &io_##name;}
188
}
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2