blob: 276942259acbaf4a0bc8145172fd53b68dd3de8a (
plain)
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
|
/*@@
@file Slicing.h
@date Wed Jul 14 16:20:03 1999
@author Gerd Lanfermann
@desc
Prototypes and structure for Einstein_slicing.
Einstein_slicing holds:
1) the name of the slicing as specified in the parameter
slicing / mixed_slicing
2) the param_active number, which also indicates priority
when running mixed
3) a function pointer: a "time-to-slice" function can
be registered which is called and which can be used
to do fancy conditionals, like use slicing XYZ if a
grid functions has collapsed in some region.
@enddesc
@@*/
#ifdef __cplusplus
extern "C" {
#endif
/* Return values for the time-to-slice fucntion */
#define SLICING_YES 1
#define SLICING_DONTCARE 0
#define SLICING_NO -1
struct Einstein_slicing {
char *name;
int param_active;
int (*timetoslice)(cGH*);
};
int Einstein_RegisterSlicing(const char *name);
int Einstein_SetSlicingPriority(int handle,int flag);
int Einstein_RegisterTimeToSlice(int handle,int (*func)(cGH *));
int Einstein_GetSlicingHandle(const char *name);
void Einstein_SetNextSlicing(cGH *);
#ifdef __cplusplus
}
#endif
|