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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
// patch_system_info.hh -- static info describing various types of patch systems
// $Id$
//******************************************************************************
namespace patch_system_info
{
//
// full-sphere patch system
// ... covers all 4pi steradians
//
namespace full_sphere
{
static const struct patch_info patch_info_array[]
= {
// +z patch (90 x 90 degrees): dmu [ -45, 45], dnu [ -45, 45]
{"+z", patch::patch_is_plus, 'z', -45.0, 45.0, -45.0, 45.0},
// +x patch (90 x 90 degrees): dnu [ 45, 135], dphi [ -45, 45]
{"+x", patch::patch_is_plus, 'x', 45.0, 135.0, -45.0, 45.0},
// +y patch (90 x 90 degrees): dmu [ 45, 135], dphi [ 45, 135]
{"+y", patch::patch_is_plus, 'y', 45.0, 135.0, 45.0, 135.0},
// -x patch (90 x 90 degrees): dnu [-135, -45], dphi [ 135, 225]
{"-x", patch::patch_is_minus, 'x', -135.0, -45.0, 135.0, 225.0},
// -y patch (90 x 90 degrees): dmu [-135, -45], dphi [-135, -45]
{"-y", patch::patch_is_minus, 'y', -135.0, -45.0, -135.0, -45.0},
// -z patch (90 x 90 degrees): dmu [ 135, 225], dnu [ 135, 225]
{"-z", patch::patch_is_minus, 'z', 135.0, 225.0, 135.0, 225.0},
};
static const int N_patches = sizeof(patch_info_array) / sizeof(patch_info);
}; // namespace patch_system_info::full_sphere
//
// +z hemisphere (half) patch system
// ... mirror symmetry across z=0 plane
//
namespace plus_z_hemisphere
{
static const struct patch_info patch_info_array[]
= {
// +z patch (90 x 90 degrees): dmu [ -45, 45], dnu [ -45, 45]
{"+z", patch::patch_is_plus, 'z', -45.0, 45.0, -45.0, 45.0},
// +x patch (45 x 90 degrees): dnu [ 45, 90], dphi [ -45, 45]
{"+x", patch::patch_is_plus, 'x', 45.0, 90.0, -45.0, 45.0},
// +y patch (45 x 90 degrees): dmu [ 45, 90], dphi [ 45, 135]
{"+y", patch::patch_is_plus, 'y', 45.0, 90.0, 45.0, 135.0},
// -x patch (45 x 90 degrees): dnu [ -90, -45], dphi [ 135, 225]
{"-x", patch::patch_is_minus, 'x', -90.0, -45.0, 135.0, 225.0},
// -y patch (45 x 90 degrees): dmu [ -90, -45], dphi [-135, -45]
{"-y", patch::patch_is_minus, 'y', -90.0, -45.0, -135.0, -45.0},
};
static const int N_patches = sizeof(patch_info_array) / sizeof(patch_info);
}; // namespace patch_system_info::plus_z_hemisphere
//
// +[xy] "vertical" quarter-grid (quadrant) patch system
// ... 90 degree periodic rotation symmetry about z axis
//
namespace plus_xy_quadrant
{
static const struct patch_info patch_info_array[]
= {
// +z patch (45 x 45 degrees): dmu [ 0, 45], dnu [ 0, 45]
{"+z", patch::patch_is_plus, 'z', 0.0, 45.0, 0.0, 45.0},
// +x patch (90 x 45 degrees): dnu [ 45, 135], dphi [ 0, 45]
{"+x", patch::patch_is_plus, 'x', 45.0, 135.0, 0.0, 45.0},
// +y patch (90 x 45 degrees): dmu [ 45, 135], dphi [ 45, 90]
{"+y", patch::patch_is_plus, 'y', 45.0, 135.0, 45.0, 90.0},
// -z patch (45 x 45 degrees): dmu [ 135, 180], dnu [ 135, 180]
{"-z", patch::patch_is_minus, 'z', 135.0, 180.0, 135.0, 180.0},
};
static const int N_patches = sizeof(patch_info_array) / sizeof(patch_info);
}; // namespace patch_system_info::plus_xy_quadrant
//
// +[xz] "horizontal" quarter-grid (quadrant) patch system
// ... mirror symmetry across z=0 plane,
// 180 degree periodic rotation symmetry about z axis
//
namespace plus_xz_quadrant
{
static const struct patch_info patch_info_array[]
= {
// +z patch (90 x 45 degrees): dmu [ -45, 45], dnu [ 0, 45]
{"+z", patch::patch_is_plus, 'z', -45.0, 45.0, 0.0, 45.0},
// +x patch (45 x 90 degrees): dnu [ 45, 90], dphi [ -45, 45]
{"+x", patch::patch_is_plus, 'x', 45.0, 90.0, -45.0, 45.0},
// +y patch (45 x 45 degrees): dmu [ 45, 90], dphi [ 45, 90]
{"+y", patch::patch_is_plus, 'y', 45.0, 90.0, 45.0, 90.0},
// -y patch (45 x 45 degrees): dmu [ -90, -45], dphi [ -90, -45]
{"-y", patch::patch_is_minus, 'y', -90.0, -45.0, -90.0, -45.0},
};
static const int N_patches = sizeof(patch_info_array) / sizeof(patch_info);
}; // namespace patch_system_info::plus_xz_quadrant
//
// +[xyz] (octant) patch system
// ... mirror symmetry across z=0 plane,
// 90 degree periodic rotation symmetry about z axis
//
namespace plus_xyz_octant
{
static const struct patch_info patch_info_array[]
= {
// +z patch (45 x 45 degrees): dmu [ 0, 45], dnu [ 0, 45]
{"+z", patch::patch_is_plus, 'z', 0.0, 45.0, 0.0, 45.0},
// +x patch (45 x 45 degrees): dnu [ 45, 90], dphi [ 0, 45]
{"+x", patch::patch_is_plus, 'x', 45.0, 90.0, 0.0, 45.0},
// +y patch (45 x 45 degrees): dmu [ 45, 90], dphi [ 45, 90]
{"+y", patch::patch_is_plus, 'y', 45.0, 90.0, 45.0, 90.0},
};
static const int N_patches = sizeof(patch_info_array) / sizeof(patch_info);
}; // namespace patch_system_info::octant
}; // namespace patch_system_info::
|