Branch data Line data Source code
1 : :
2 : :
3 : : #include "GfxDebug.hpp"
4 : : #include "GMem.hpp"
5 : : #include "CubitVector.hpp"
6 : : #include "DLIList.hpp"
7 : : #include <cassert>
8 : :
9 : : GfxDebug* GfxDebug::mInstance = 0;
10 : :
11 : 0 : GfxDebug::GfxDebug()
12 : : {
13 [ # # ]: 0 : if(mInstance)
14 : : {
15 : 0 : assert(0);
16 : : // if you want a new instance in place of a previous one,
17 : : // delete the previous one first
18 : : }
19 : 0 : mInstance = this;
20 : 0 : }
21 : :
22 : 0 : GfxDebug::~GfxDebug()
23 : : {
24 : 0 : mInstance = 0;
25 [ # # ]: 0 : }
26 : :
27 : 0 : bool GfxDebug::is_initialized()
28 : : {
29 [ # # ]: 0 : if (mInstance == 0)
30 : 0 : return false;
31 : 0 : return true;
32 : : }
33 : :
34 : : // this will clear out all temporary data and any graphics windows created
35 : : // with this interface.
36 : : /*
37 : : void GfxDebug::reset()
38 : : {
39 : : if(!mInstance) return;
40 : : mInstance->p_reset();
41 : : }
42 : : */
43 : :
44 : 0 : void GfxDebug::clear()
45 : : {
46 [ # # ]: 0 : if(!mInstance) return;
47 : 0 : mInstance->p_clear();
48 : : }
49 : :
50 : 0 : void GfxDebug::display_all(bool flush_highlight, bool import_mesh_display)
51 : : {
52 [ # # ]: 0 : if(!mInstance) return;
53 : 0 : mInstance->p_display_all(flush_highlight, import_mesh_display);
54 : : }
55 : :
56 : 0 : void GfxDebug::clear_highlight()
57 : : {
58 [ # # ]: 0 : if(!mInstance) return;
59 : 0 : mInstance->p_clear_highlight();
60 : : }
61 : :
62 : 0 : void GfxDebug::drawing_mode(int mode)
63 : : {
64 [ # # ]: 0 : if(!mInstance) return;
65 : 0 : mInstance->p_drawing_mode(mode);
66 : : }
67 : : /*
68 : : void GfxDebug::rebuild_all()
69 : : {
70 : : if(!mInstance) return;
71 : : mInstance->p_rebuild_all();
72 : : }
73 : : */
74 : :
75 : : // Window Related Functions
76 : :
77 : : // creates a graphics window and makes it the current one
78 : : // not creating a window will use an existing current window
79 : : // all drawing goes only into the current window
80 : 0 : int GfxDebug::create_window()
81 : : {
82 [ # # ]: 0 : if(!mInstance) return -1;
83 : 0 : return mInstance->p_create_window();
84 : : }
85 : :
86 : : // deletes a window created by this interface
87 : 0 : void GfxDebug::delete_window(int window_id)
88 : : {
89 [ # # ]: 0 : if(!mInstance) return;
90 : 0 : mInstance->p_delete_window(window_id);
91 : : }
92 : :
93 : : // switches a window created by this interface into a 2D drawing mode.
94 : 0 : void GfxDebug::set_2D_mode(int window_id)
95 : : {
96 [ # # ]: 0 : if(!mInstance) return;
97 : 0 : mInstance->p_set_2D_mode(window_id);
98 : : }
99 : :
100 : : // causes the current window to be redrawn
101 : 0 : void GfxDebug::flush()
102 : : {
103 [ # # ]: 0 : if(!mInstance) return;
104 : 0 : mInstance->p_flush();
105 : : }
106 : :
107 : : // give control to the current window to handle mouse events
108 : 0 : void GfxDebug::mouse_xforms()
109 : : {
110 [ # # ]: 0 : if(!mInstance) return;
111 : 0 : mInstance->p_mouse_xforms();
112 : : }
113 : :
114 : : // compute display to world transformation of a length
115 : 0 : void GfxDebug::display_to_world_length(double pixels, double& length)
116 : : {
117 [ # # ]: 0 : if(!mInstance) return;
118 : 0 : mInstance->p_display_to_world_length(pixels, length);
119 : : }
120 : :
121 : : // Geometry Drawing Functions
122 : :
123 : 0 : void GfxDebug::draw_ref_entity(RefEntity* entity, int color, CubitTransformMatrix* mat)
124 : : {
125 [ # # ]: 0 : if(!mInstance) return;
126 : 0 : mInstance->p_draw_ref_entity(entity, color, mat);
127 : : }
128 : :
129 : 0 : void GfxDebug::draw_ref_vertex(RefVertex* entity, int color)
130 : : {
131 [ # # ]: 0 : if(!mInstance) return;
132 : 0 : mInstance->p_draw_ref_vertex(entity, color);
133 : : }
134 : :
135 : 0 : void GfxDebug::draw_ref_edge(RefEdge* entity, int color)
136 : : {
137 [ # # ]: 0 : if(!mInstance) return;
138 : 0 : mInstance->p_draw_ref_edge(entity, color);
139 : : }
140 : :
141 : 0 : void GfxDebug::draw_ref_face(RefFace* entity, int color)
142 : : {
143 [ # # ]: 0 : if(!mInstance) return;
144 : 0 : mInstance->p_draw_ref_face(entity, color);
145 : : }
146 : :
147 : 0 : void GfxDebug::draw_ref_face_edges(RefFace* entity, int color)
148 : : {
149 [ # # ]: 0 : if(!mInstance) return;
150 : 0 : mInstance->p_draw_ref_face_edges(entity, color);
151 : : }
152 : :
153 : 0 : void GfxDebug::draw_ref_volume(RefVolume* entity, int color)
154 : : {
155 [ # # ]: 0 : if(!mInstance) return;
156 : 0 : mInstance->p_draw_ref_volume(entity, color);
157 : : }
158 : :
159 : 0 : void GfxDebug::draw_ref_body(Body* entity, int color)
160 : : {
161 [ # # ]: 0 : if(!mInstance) return;
162 : 0 : mInstance->p_draw_ref_body(entity, color);
163 : : }
164 : :
165 : :
166 : 0 : void GfxDebug::draw_mref_entity(MRefEntity* entity, int color, bool draw_geom, bool draw_mesh, CubitTransformMatrix* mat)
167 : : {
168 [ # # ]: 0 : if(!mInstance) return;
169 : 0 : mInstance->p_draw_mref_entity(entity, color, draw_geom, draw_mesh, mat);
170 : : }
171 : :
172 : 0 : void GfxDebug::draw_mref_vertex(MRefVertex* entity, int color)
173 : : {
174 [ # # ]: 0 : if(!mInstance) return;
175 : 0 : mInstance->p_draw_mref_vertex(entity, color);
176 : : }
177 : :
178 : 0 : void GfxDebug::draw_mref_edge(MRefEdge* entity, int color)
179 : : {
180 [ # # ]: 0 : if(!mInstance) return;
181 : 0 : mInstance->p_draw_mref_edge(entity, color);
182 : : }
183 : :
184 : 0 : void GfxDebug::draw_mref_face(MRefFace* entity, int color)
185 : : {
186 [ # # ]: 0 : if(!mInstance) return;
187 : 0 : mInstance->p_draw_mref_face(entity, color);
188 : : }
189 : :
190 : 0 : void GfxDebug::draw_mref_volume(MRefVolume* entity, int color)
191 : : {
192 [ # # ]: 0 : if(!mInstance) return;
193 : 0 : mInstance->p_draw_mref_volume(entity, color);
194 : : }
195 : :
196 : 0 : void GfxDebug::draw_mref_body(MBody* entity, int color)
197 : : {
198 [ # # ]: 0 : if(!mInstance) return;
199 : 0 : mInstance->p_draw_mref_body(entity, color);
200 : : }
201 : :
202 : 0 : void GfxDebug::draw_mref_entity_mesh(MRefEntity* entity, int color)
203 : : {
204 [ # # ]: 0 : if(!mInstance) return;
205 : 0 : mInstance->p_draw_mref_entity_mesh(entity, color);
206 : : }
207 : :
208 : 0 : void GfxDebug::draw_mref_volume_faces(MRefVolume* entity, int color)
209 : : {
210 [ # # ]: 0 : if(!mInstance) return;
211 : 0 : mInstance->p_draw_mref_volume_faces(entity, color);
212 : : }
213 : :
214 : : /*
215 : : void GfxDebug::highlight_ref_entity(RefEntity* entity)
216 : : {
217 : : if(!mInstance) return;
218 : : mInstance->p_highlight_ref_entity(entity);
219 : : }
220 : : */
221 : :
222 : 0 : void GfxDebug::highlight_ref_vertex(RefVertex* entity)
223 : : {
224 [ # # ]: 0 : if(!mInstance) return;
225 : 0 : mInstance->p_highlight_ref_vertex(entity);
226 : : }
227 : :
228 : 0 : void GfxDebug::highlight_ref_edge(RefEdge* entity)
229 : : {
230 [ # # ]: 0 : if(!mInstance) return;
231 : 0 : mInstance->p_highlight_ref_edge(entity);
232 : : }
233 : :
234 : 0 : void GfxDebug::highlight_ref_face(RefFace* entity)
235 : : {
236 [ # # ]: 0 : if(!mInstance) return;
237 : 0 : mInstance->p_highlight_ref_face(entity);
238 : : }
239 : :
240 : 0 : void GfxDebug::highlight_ref_volume(RefVolume* entity)
241 : : {
242 [ # # ]: 0 : if(!mInstance) return;
243 : 0 : mInstance->p_highlight_ref_volume(entity);
244 : : }
245 : :
246 : 0 : void GfxDebug::highlight_ref_body(Body* entity)
247 : : {
248 [ # # ]: 0 : if(!mInstance) return;
249 : 0 : mInstance->p_highlight_ref_body(entity);
250 : : }
251 : :
252 : : /*
253 : : void GfxDebug::highlight_mref_entity(MRefEntity* entity)
254 : : {
255 : : if(!mInstance) return;
256 : : mInstance->p_highlight_mref_entity(entity);
257 : : }
258 : : */
259 : :
260 : 0 : void GfxDebug::highlight_mref_vertex(MRefVertex* entity)
261 : : {
262 [ # # ]: 0 : if(!mInstance) return;
263 : 0 : mInstance->p_highlight_mref_vertex(entity);
264 : : }
265 : :
266 : 0 : void GfxDebug::highlight_mref_edge(MRefEdge* entity)
267 : : {
268 [ # # ]: 0 : if(!mInstance) return;
269 : 0 : mInstance->p_highlight_mref_edge(entity);
270 : : }
271 : :
272 : 0 : void GfxDebug::highlight_mref_face(MRefFace* entity)
273 : : {
274 [ # # ]: 0 : if(!mInstance) return;
275 : 0 : mInstance->p_highlight_mref_face(entity);
276 : : }
277 : :
278 : 0 : void GfxDebug::highlight_mref_volume(MRefVolume* entity)
279 : : {
280 [ # # ]: 0 : if(!mInstance) return;
281 : 0 : mInstance->p_highlight_mref_volume(entity);
282 : : }
283 : :
284 : 0 : void GfxDebug::highlight_mref_body(MBody* entity)
285 : : {
286 [ # # ]: 0 : if(!mInstance) return;
287 : 0 : mInstance->p_highlight_mref_body(entity);
288 : : }
289 : :
290 : :
291 : :
292 : :
293 : : // Mesh Drawing Functions
294 : :
295 : : // draws mesh entities with a color from the cubit color table
296 : : // prefer these functions to a loop drawing each entity separately
297 : : /*
298 : : void GfxDebug::draw_mesh_entities(DLIList<MeshEntity*>* entities, int color)
299 : : {
300 : : if(!mInstance) return;
301 : : mInstance->p_draw_mesh_entities(entities, color);
302 : : }
303 : : */
304 : :
305 : 0 : void GfxDebug::draw_nodes(DLIList<CubitNode*>* entities, int color)
306 : : {
307 [ # # ]: 0 : if(!mInstance) return;
308 : 0 : mInstance->p_draw_nodes(entities, color);
309 : : }
310 : 0 : void GfxDebug::draw_edges(DLIList<CubitEdge*>* entities, int color)
311 : : {
312 [ # # ]: 0 : if(!mInstance) return;
313 : 0 : mInstance->p_draw_edges(entities, color);
314 : : }
315 : 0 : void GfxDebug::draw_quads(DLIList<CubitFace*>* entities, int color)
316 : : {
317 [ # # ]: 0 : if(!mInstance) return;
318 : 0 : mInstance->p_draw_quads(entities, color);
319 : : }
320 : 0 : void GfxDebug::draw_tris(DLIList<CubitTri*>* entities, int color)
321 : : {
322 [ # # ]: 0 : if(!mInstance) return;
323 : 0 : mInstance->p_draw_tris(entities, color);
324 : : }
325 : 0 : void GfxDebug::draw_tets(DLIList<CubitTet*>* entities, int color)
326 : : {
327 [ # # ]: 0 : if(!mInstance) return;
328 : 0 : mInstance->p_draw_tets(entities, color);
329 : : }
330 : 0 : void GfxDebug::draw_hexes(DLIList<CubitHex*>* entities, int color)
331 : : {
332 [ # # ]: 0 : if(!mInstance) return;
333 : 0 : mInstance->p_draw_hexes(entities, color);
334 : : }
335 : : /*
336 : : void GfxDebug::draw_pyramids(DLIList<CubitPyramid*>* entities, int color)
337 : : {
338 : : if(!mInstance) return;
339 : : mInstance->p_draw_pyramids(entities, color);
340 : : }
341 : : */
342 : 0 : void GfxDebug::draw_wedges(DLIList<CubitWedge*>* entities, int color)
343 : : {
344 [ # # ]: 0 : if(!mInstance) return;
345 : 0 : mInstance->p_draw_wedges(entities, color);
346 : : }
347 : :
348 : 0 : void GfxDebug::draw_mesh_entity(MeshEntity* entity, int color)
349 : : {
350 [ # # ]: 0 : if(!mInstance) return;
351 : 0 : mInstance->p_draw_mesh_entity(entity, color);
352 : : }
353 : :
354 : 0 : void GfxDebug::draw_node(CubitNode* entity, int color)
355 : : {
356 [ # # ]: 0 : if(!mInstance) return;
357 : 0 : mInstance->p_draw_node(entity, color);
358 : : }
359 : 0 : void GfxDebug::draw_edge(CubitEdge* entity, int color)
360 : : {
361 [ # # ]: 0 : if(!mInstance) return;
362 : 0 : mInstance->p_draw_edge(entity, color);
363 : : }
364 : 0 : void GfxDebug::draw_quad(CubitFace* entity, int color)
365 : : {
366 [ # # ]: 0 : if(!mInstance) return;
367 : 0 : mInstance->p_draw_quad(entity, color);
368 : : }
369 : 0 : void GfxDebug::draw_tri(CubitTri* entity, int color)
370 : : {
371 [ # # ]: 0 : if(!mInstance) return;
372 : 0 : mInstance->p_draw_tri(entity, color);
373 : : }
374 : 0 : void GfxDebug::draw_tet(CubitTet* entity, int color)
375 : : {
376 [ # # ]: 0 : if(!mInstance) return;
377 : 0 : mInstance->p_draw_tet(entity, color);
378 : : }
379 : 0 : void GfxDebug::draw_hex(CubitHex* entity, int color)
380 : : {
381 [ # # ]: 0 : if(!mInstance) return;
382 : 0 : mInstance->p_draw_hex(entity, color);
383 : : }
384 : 0 : void GfxDebug::draw_pyramid(CubitPyramid* entity, int color)
385 : : {
386 [ # # ]: 0 : if(!mInstance) return;
387 : 0 : mInstance->p_draw_pyramid(entity, color);
388 : : }
389 : :
390 : 0 : void GfxDebug::draw_wedge(CubitWedge* entity, int color)
391 : : {
392 [ # # ]: 0 : if(!mInstance) return;
393 : 0 : mInstance->p_draw_wedge(entity, color);
394 : : }
395 : :
396 : 0 : void GfxDebug::highlight_node(CubitNode* entity)
397 : : {
398 [ # # ]: 0 : if(!mInstance) return;
399 : 0 : mInstance->p_highlight_node(entity);
400 : : }
401 : :
402 : 0 : void GfxDebug::highlight_edge(CubitEdge* entity)
403 : : {
404 [ # # ]: 0 : if(!mInstance) return;
405 : 0 : mInstance->p_highlight_edge(entity);
406 : : }
407 : :
408 : 0 : void GfxDebug::highlight_quad(CubitFace* entity)
409 : : {
410 [ # # ]: 0 : if(!mInstance) return;
411 : 0 : mInstance->p_highlight_quad(entity);
412 : : }
413 : :
414 : 0 : void GfxDebug::highlight_tri(CubitTri* entity)
415 : : {
416 [ # # ]: 0 : if(!mInstance) return;
417 : 0 : mInstance->p_highlight_tri(entity);
418 : : }
419 : :
420 : 0 : void GfxDebug::highlight_tet(CubitTet* entity)
421 : : {
422 [ # # ]: 0 : if(!mInstance) return;
423 : 0 : mInstance->p_highlight_tet(entity);
424 : : }
425 : :
426 : 0 : void GfxDebug::highlight_hex(CubitHex* entity)
427 : : {
428 [ # # ]: 0 : if(!mInstance) return;
429 : 0 : mInstance->p_highlight_hex(entity);
430 : : }
431 : :
432 : 0 : void GfxDebug::highlight_pyramid(CubitPyramid* entity)
433 : : {
434 [ # # ]: 0 : if(!mInstance) return;
435 : 0 : mInstance->p_highlight_pyramid(entity);
436 : : }
437 : :
438 : 0 : void GfxDebug::highlight_wedge(CubitWedge* entity)
439 : : {
440 [ # # ]: 0 : if(!mInstance) return;
441 : 0 : mInstance->p_highlight_wedge(entity);
442 : : }
443 : :
444 : :
445 : : // Facet Drawing Functions
446 : :
447 : 0 : void GfxDebug::draw_facet(CubitFacet* facet, int color, int draw_uv )
448 : : {
449 [ # # ]: 0 : if(!mInstance) return;
450 : 0 : mInstance->p_draw_facet(facet, color, draw_uv);
451 : : }
452 : :
453 : 0 : void GfxDebug::draw_facet_edge(CubitFacetEdge* facet_edge, int color)
454 : : {
455 [ # # ]: 0 : if(!mInstance) return;
456 : 0 : mInstance->p_draw_facet_edge(facet_edge, color);
457 : : }
458 : :
459 : 0 : void GfxDebug::draw_geotet(GeoTet *tet, int color)
460 : : {
461 [ # # ]: 0 : if(!mInstance) return;
462 : 0 : mInstance->p_draw_geotet(tet, color);
463 : : }
464 : :
465 : 0 : void GfxDebug::draw_geonode(GeoNode *node, int color)
466 : : {
467 [ # # ]: 0 : if(!mInstance) return;
468 : 0 : mInstance->p_draw_geonode(node, color);
469 : : }
470 : :
471 : : // Generic Primitive Drawing Functions
472 : :
473 : 0 : void GfxDebug::draw_box(CubitBox& box, int color)
474 : : {
475 [ # # ]: 0 : if(!mInstance) return;
476 : 0 : mInstance->p_draw_box(box, color);
477 : : }
478 : :
479 : : // draw point x,y,z of color
480 : 0 : void GfxDebug::draw_point(float x, float y, float z, int color)
481 : : {
482 [ # # ]: 0 : if(!mInstance) return;
483 : 0 : mInstance->p_draw_point(x, y, z, color);
484 : : }
485 : :
486 : 0 : void GfxDebug::draw_point(const CubitVector& vector, int color)
487 : : {
488 [ # # ]: 0 : if(!mInstance) return;
489 : 0 : mInstance->p_draw_point(vector, color);
490 : : }
491 : :
492 : 0 : void GfxDebug::draw_point(CubitVector* vector, int color)
493 : : {
494 [ # # ]: 0 : if(!mInstance) return;
495 : 0 : mInstance->p_draw_point(*vector, color);
496 : : }
497 : :
498 : 0 : void GfxDebug::draw_points( DLIList<CubitVector> &points, int color )
499 : : {
500 [ # # ]: 0 : if (!mInstance) return;
501 : : int i;
502 [ # # ]: 0 : for ( i = 0; i < points.size(); i++ )
503 : : {
504 : 0 : mInstance->p_draw_point( points[i], color );
505 : : }
506 : : }
507 : :
508 : : // draw line of points {x,y,z}, {x,y,z} of color
509 : 0 : void GfxDebug::draw_line(float x1, float y1, float z1, float x2, float y2, float z2, int color)
510 : : {
511 [ # # ]: 0 : if(!mInstance) return;
512 : 0 : mInstance->p_draw_line(x1, y1, z1, x2, y2, z2, color);
513 : : }
514 : :
515 : 0 : void GfxDebug::draw_line(const CubitVector& x, const CubitVector& y, int color)
516 : : {
517 [ # # ]: 0 : if(!mInstance) return;
518 : 0 : mInstance->p_draw_line(x, y, color);
519 : : }
520 : :
521 : : // draw a polyline with a number of points of a color
522 : 0 : void GfxDebug::draw_polyline(const GPoint* points, int num_points, int color)
523 : : {
524 [ # # ]: 0 : if(!mInstance) return;
525 : 0 : mInstance->p_draw_polyline(points, num_points, color);
526 : : }
527 : :
528 : : // draw a polyline with a number of points of a color
529 : 0 : void GfxDebug::draw_polygon(const GPoint* points, int num_points, int color, int border_color, bool filled)
530 : : {
531 [ # # ]: 0 : if(!mInstance) return;
532 : 0 : mInstance->p_draw_polygon(points, num_points, color, border_color, filled);
533 : : }
534 : :
535 : : // draw a quad of a color
536 : 0 : void GfxDebug::draw_quad(const GPoint* points, int color)
537 : : {
538 [ # # ]: 0 : if(!mInstance) return;
539 : 0 : mInstance->p_draw_quad(points, color);
540 : : }
541 : :
542 : : // draw a tri of a color
543 : 0 : void GfxDebug::draw_tri(const GPoint* points, int color)
544 : : {
545 [ # # ]: 0 : if(!mInstance) return;
546 : 0 : mInstance->p_draw_tri(points, color);
547 : : }
548 : :
549 : 0 : void GfxDebug::draw_vector(const CubitVector& tail, const CubitVector& head, int color)
550 : : {
551 [ # # ]: 0 : if(!mInstance) return;
552 : 0 : mInstance->p_draw_vector(tail, head, color);
553 : : }
554 : :
555 : 0 : void GfxDebug::draw_vector(const GPoint* tail, const GPoint* head, int color)
556 : : {
557 [ # # ]: 0 : if(!mInstance) return;
558 [ # # ][ # # ]: 0 : mInstance->p_draw_vector(CubitVector(tail->x, tail->y, tail->z), CubitVector(head->x, head->y, head->z), color);
559 : : }
560 : :
561 : : // draw a shell (num points, point list, num faces, face list) of color
562 : 0 : void GfxDebug::draw_shell(int num_pts, const GPoint* points, int num_faces, const int* face_list, int color)
563 : : {
564 [ # # ]: 0 : if(!mInstance) return;
565 : 0 : mInstance->p_draw_shell(num_pts, points, num_faces, face_list, color);
566 : : }
567 : :
568 : : // draw a label at position x,y,z of color
569 : 0 : void GfxDebug::draw_label(const char* label, float x, float y, float z, int color)
570 : : {
571 [ # # ]: 0 : if(!mInstance) return;
572 : 0 : mInstance->p_draw_label(label, x, y, z, color);
573 : : }
574 : 0 : void GfxDebug::draw_label(int label, float x, float y, float z, int color)
575 : : {
576 [ # # ]: 0 : if(!mInstance) return;
577 : 0 : mInstance->p_draw_label(label, x, y, z, color);
578 : : }
579 : :
580 : : // zoom to specfied bounding box
581 : 0 : void GfxDebug::zoom(CubitBox &box)
582 : : {
583 [ # # ]: 0 : if(!mInstance) return;
584 : 0 : mInstance->p_zoom(box);
585 : : }
586 : :
587 : 0 : void GfxDebug::highlight_points(int num_points, const double* xyzs)
588 : : {
589 [ # # ]: 0 : if(!mInstance) return;
590 : 0 : mInstance->p_highlight_points(num_points, xyzs);
591 : : }
592 : :
593 : 0 : void GfxDebug::highlight_polylines(int num_points, const double* xyzs, int num_line_points, const int* line_list)
594 : : {
595 [ # # ]: 0 : if(!mInstance) return;
596 : 0 : mInstance->p_highlight_polylines(num_points, xyzs, num_line_points, line_list);
597 : : }
598 : :
599 : 0 : void GfxDebug::highlight_polygons(int num_points, const double* xyzs, int num_face_points, const int* face_list )
600 : : {
601 [ # # ]: 0 : if(!mInstance) return;
602 : 0 : mInstance->p_highlight_polygons(num_points, xyzs, num_face_points, face_list);
603 : : }
604 : :
605 : : // draw surface param lines
606 : 0 : void GfxDebug::draw_surface(Surface *surf, int color)
607 : : {
608 [ # # ]: 0 : if(!mInstance) return;
609 : 0 : mInstance->p_draw_surface(surf, color);
610 [ + - ][ + - ]: 6540 : }
611 : :
|