@@ -9,13 +9,23 @@ def __init__(self):
9
9
# Save the current camera settings
10
10
self .camera_pos = scene .camera .pos
11
11
self .camera_axes = scene .camera .axis
12
+
13
+ # Private parameters for indexing in grid_object
14
+ self .__xy_plane_idx = 0
15
+ self .__xz_plane_idx = 1
16
+ self .__yz_plane_idx = 2
17
+ self .__planes_idx = 0
18
+ self .__labels_idx = 1
19
+
12
20
# Initialise a grid object
13
21
# grid_object[0] will always be the 3 plane graphics. [XY, XZ, YZ] (alphabetical in order and connection)
14
22
# grid_object[1] will always be the labels. There is always a certain number of indices.
15
23
# Order is [x-plane numbers, "X", y-plane numbers, "Y", z-plane numbers, "Z"]
16
24
self .grid_object = [[], []]
17
25
self .__init_grid ()
18
26
27
+
28
+
19
29
def __init_grid (self ):
20
30
"""
21
31
Initialise the grid along the x, y, z axes.
@@ -25,10 +35,10 @@ def __init_grid(self):
25
35
relative_cam = True # Whether the grid follows the camera rotation and movement
26
36
27
37
the_grid = self .__create_grid_objects (relative_cam , num_squares )
28
- self .grid_object [0 ] = the_grid
38
+ self .grid_object [self . __planes_idx ] = the_grid
29
39
30
40
# Update the labels instead of recreating them
31
- update_grid_numbers (self .grid_object [1 ], relative_cam , num_squares )
41
+ update_grid_numbers (self .grid_object [self . __labels_idx ], relative_cam , num_squares )
32
42
33
43
def __create_grid_objects (self , bool_camera_relative , num_squares ):
34
44
"""
@@ -124,7 +134,10 @@ def __create_grid_objects(self, bool_camera_relative, num_squares):
124
134
yz_plane = compound (yz_lines )
125
135
126
136
# Combine all into one list
127
- grid = [xy_plane , xz_plane , yz_plane ]
137
+ grid = [None , None , None ]
138
+ grid [self .__xy_plane_idx ] = xy_plane
139
+ grid [self .__xz_plane_idx ] = xz_plane
140
+ grid [self .__yz_plane_idx ] = yz_plane
128
141
129
142
return grid
130
143
@@ -174,21 +187,21 @@ def __move_grid_objects(self, bool_camera_relative, num_squares):
174
187
175
188
# XY Plane
176
189
if camera_axes .z < 0 :
177
- self .grid_object [0 ][ 0 ].pos = vector (x_middle , y_middle , min_z_coord )
190
+ self .grid_object [self . __planes_idx ][ self . __xy_plane_idx ].pos = vector (x_middle , y_middle , min_z_coord )
178
191
else :
179
- self .grid_object [0 ][ 0 ].pos = vector (x_middle , y_middle , max_z_coord )
192
+ self .grid_object [self . __planes_idx ][ self . __xy_plane_idx ].pos = vector (x_middle , y_middle , max_z_coord )
180
193
181
194
# XZ Plane
182
195
if camera_axes .y < 0 :
183
- self .grid_object [0 ][ 1 ].pos = vector (x_middle , min_y_coord , z_middle )
196
+ self .grid_object [self . __planes_idx ][ self . __xz_plane_idx ].pos = vector (x_middle , min_y_coord , z_middle )
184
197
else :
185
- self .grid_object [0 ][ 1 ].pos = vector (x_middle , max_y_coord , z_middle )
198
+ self .grid_object [self . __planes_idx ][ self . __xz_plane_idx ].pos = vector (x_middle , max_y_coord , z_middle )
186
199
187
200
# YZ Plane
188
201
if camera_axes .x < 0 :
189
- self .grid_object [0 ][ 2 ].pos = vector (min_x_coord , y_middle , z_middle )
202
+ self .grid_object [self . __planes_idx ][ self . __yz_plane_idx ].pos = vector (min_x_coord , y_middle , z_middle )
190
203
else :
191
- self .grid_object [0 ][ 2 ].pos = vector (max_x_coord , y_middle , z_middle )
204
+ self .grid_object [self . __planes_idx ][ self . __yz_plane_idx ].pos = vector (max_x_coord , y_middle , z_middle )
192
205
193
206
def update_grid (self ):
194
207
"""
@@ -212,7 +225,7 @@ def update_grid(self):
212
225
num_squares = 10 # Length of the grid in each direction (in units)
213
226
relative_cam = True # Whether the grid follows the camera rotation and movement
214
227
self .__move_grid_objects (relative_cam , num_squares )
215
- update_grid_numbers (self .grid_object [1 ], relative_cam , num_squares )
228
+ update_grid_numbers (self .grid_object [self . __labels_idx ], relative_cam , num_squares )
216
229
217
230
# Else save current grid
218
231
else :
@@ -226,9 +239,9 @@ def set_visibility(self, is_visible):
226
239
:param is_visible: Boolean of whether to display the grid
227
240
:type is_visible: bool
228
241
"""
229
- for plane in self .grid_object [0 ]:
242
+ for plane in self .grid_object [self . __planes_idx ]:
230
243
plane .visible = is_visible
231
- for number in self .grid_object [1 ]:
244
+ for number in self .grid_object [self . __labels_idx ]:
232
245
number .visible = is_visible
233
246
234
247
def clear_scene (self ):
@@ -246,7 +259,7 @@ def clear_scene(self):
246
259
and have the user assume they are all deleted. However, all objects can be redisplayed by setting the visibility
247
260
"""
248
261
# Save current grid visibility
249
- grid_visibility = self .grid_object [0 ][ 0 ].visible
262
+ grid_visibility = self .grid_object [self . __planes_idx ][ self . __xy_plane_idx ].visible
250
263
251
264
# Set all objects invisible
252
265
for scene_object in scene .objects :
0 commit comments