28 return a_mode<=0x006?
true:
false;
32 if(a_mode==
points())
return true;
33 if(a_mode==
lines())
return true;
39 inline void cvt_2to3(
size_t a_npt,
const float* a_xys,
float*& a_xyzs) {
40 const float* vpos = a_xys;
42 for(
size_t i=0;i<a_npt;i++) {
55 const float* vpos = a_xyzs;
57 float x1 = *vpos;vpos++;
58 float y1 = *vpos;vpos++;
59 float z1 = *vpos;vpos++;
61 float x2 = *vpos;vpos++;
62 float y2 = *vpos;vpos++;
63 float z2 = *vpos;vpos++;
66 for(
size_t i=2;i<a_npt;i++) {
70 *a_pxyzs = x1;a_pxyzs++;
71 *a_pxyzs = y1;a_pxyzs++;
72 *a_pxyzs = z1;a_pxyzs++;
74 *a_pxyzs = x2;a_pxyzs++;
75 *a_pxyzs = y2;a_pxyzs++;
76 *a_pxyzs = z2;a_pxyzs++;
78 *a_pxyzs = x3;a_pxyzs++;
79 *a_pxyzs = y3;a_pxyzs++;
80 *a_pxyzs = z3;a_pxyzs++;
94 const float* vpos = a_xyzs;
95 const float* tpos = a_tcs;
97 float x1 = *vpos;vpos++;
98 float y1 = *vpos;vpos++;
99 float z1 = *vpos;vpos++;
101 float tx1 = *tpos;tpos++;
102 float ty1 = *tpos;tpos++;
104 float x2 = *vpos;vpos++;
105 float y2 = *vpos;vpos++;
106 float z2 = *vpos;vpos++;
108 float tx2 = *tpos;tpos++;
109 float ty2 = *tpos;tpos++;
111 float x3,y3,z3,tx3,ty3;
112 for(
size_t i=2;i<a_npt;i++) {
120 *a_pxyzs = x1;a_pxyzs++;
121 *a_pxyzs = y1;a_pxyzs++;
122 *a_pxyzs = z1;a_pxyzs++;
124 *a_ptcs = tx1;a_ptcs++;
125 *a_ptcs = ty1;a_ptcs++;
127 *a_pxyzs = x2;a_pxyzs++;
128 *a_pxyzs = y2;a_pxyzs++;
129 *a_pxyzs = z2;a_pxyzs++;
131 *a_ptcs = tx2;a_ptcs++;
132 *a_ptcs = ty2;a_ptcs++;
134 *a_pxyzs = x3;a_pxyzs++;
135 *a_pxyzs = y3;a_pxyzs++;
136 *a_pxyzs = z3;a_pxyzs++;
138 *a_ptcs = tx3;a_ptcs++;
139 *a_ptcs = ty3;a_ptcs++;
154 const float* vpos = a_xyzs;
156 float x1 = *vpos;vpos++;
157 float y1 = *vpos;vpos++;
158 float z1 = *vpos;vpos++;
160 float x2 = *vpos;vpos++;
161 float y2 = *vpos;vpos++;
162 float z2 = *vpos;vpos++;
166 for(
size_t i=2;i<a_npt;i++) {
172 *a_pxyzs = x1;a_pxyzs++;
173 *a_pxyzs = y1;a_pxyzs++;
174 *a_pxyzs = z1;a_pxyzs++;
176 *a_pxyzs = x3;a_pxyzs++;
177 *a_pxyzs = y3;a_pxyzs++;
178 *a_pxyzs = z3;a_pxyzs++;
180 *a_pxyzs = x2;a_pxyzs++;
181 *a_pxyzs = y2;a_pxyzs++;
182 *a_pxyzs = z2;a_pxyzs++;
184 *a_pxyzs = x1;a_pxyzs++;
185 *a_pxyzs = y1;a_pxyzs++;
186 *a_pxyzs = z1;a_pxyzs++;
188 *a_pxyzs = x2;a_pxyzs++;
189 *a_pxyzs = y2;a_pxyzs++;
190 *a_pxyzs = z2;a_pxyzs++;
192 *a_pxyzs = x3;a_pxyzs++;
193 *a_pxyzs = y3;a_pxyzs++;
194 *a_pxyzs = z3;a_pxyzs++;
205 flip = flip?
false:
true;
213 const float* vpos = a_xyzs;
214 const float* tpos = a_tcs;
216 float x1 = *vpos;vpos++;
217 float y1 = *vpos;vpos++;
218 float z1 = *vpos;vpos++;
220 float tx1 = *tpos;tpos++;
221 float ty1 = *tpos;tpos++;
223 float x2 = *vpos;vpos++;
224 float y2 = *vpos;vpos++;
225 float z2 = *vpos;vpos++;
227 float tx2 = *tpos;tpos++;
228 float ty2 = *tpos;tpos++;
230 float x3,y3,z3,tx3,ty3;
232 for(
size_t i=2;i<a_npt;i++) {
241 *a_pxyzs = x1;a_pxyzs++;
242 *a_pxyzs = y1;a_pxyzs++;
243 *a_pxyzs = z1;a_pxyzs++;
245 *a_ptcs = tx1;a_ptcs++;
246 *a_ptcs = ty1;a_ptcs++;
248 *a_pxyzs = x3;a_pxyzs++;
249 *a_pxyzs = y3;a_pxyzs++;
250 *a_pxyzs = z3;a_pxyzs++;
252 *a_ptcs = tx3;a_ptcs++;
253 *a_ptcs = ty3;a_ptcs++;
255 *a_pxyzs = x2;a_pxyzs++;
256 *a_pxyzs = y2;a_pxyzs++;
257 *a_pxyzs = z2;a_pxyzs++;
259 *a_ptcs = tx2;a_ptcs++;
260 *a_ptcs = ty2;a_ptcs++;
262 *a_pxyzs = x1;a_pxyzs++;
263 *a_pxyzs = y1;a_pxyzs++;
264 *a_pxyzs = z1;a_pxyzs++;
266 *a_ptcs = tx1;a_ptcs++;
267 *a_ptcs = ty1;a_ptcs++;
269 *a_pxyzs = x2;a_pxyzs++;
270 *a_pxyzs = y2;a_pxyzs++;
271 *a_pxyzs = z2;a_pxyzs++;
273 *a_ptcs = tx2;a_ptcs++;
274 *a_ptcs = ty2;a_ptcs++;
276 *a_pxyzs = x3;a_pxyzs++;
277 *a_pxyzs = y3;a_pxyzs++;
278 *a_pxyzs = z3;a_pxyzs++;
280 *a_ptcs = tx3;a_ptcs++;
281 *a_ptcs = ty3;a_ptcs++;
298 flip = flip?
false:
true;
315 const float* vpos = a_xyzs;
317 float x1 = *vpos;vpos++;
318 float y1 = *vpos;vpos++;
320 float x2 = *vpos;vpos++;
321 float y2 = *vpos;vpos++;
324 for(
size_t i=2;i<a_npt;i++) {
328 *a_pxyzs = x1;a_pxyzs++;
329 *a_pxyzs = y1;a_pxyzs++;
330 *a_pxyzs = 0;a_pxyzs++;
332 *a_pxyzs = x2;a_pxyzs++;
333 *a_pxyzs = y2;a_pxyzs++;
334 *a_pxyzs = 0;a_pxyzs++;
336 *a_pxyzs = x3;a_pxyzs++;
337 *a_pxyzs = y3;a_pxyzs++;
338 *a_pxyzs = 0;a_pxyzs++;
348 const float* vpos = a_xyzs;
350 float x1 = *vpos;vpos++;
351 float y1 = *vpos;vpos++;
353 float x2 = *vpos;vpos++;
354 float y2 = *vpos;vpos++;
358 for(
size_t i=2;i<a_npt;i++) {
363 *a_pxyzs = x1;a_pxyzs++;
364 *a_pxyzs = y1;a_pxyzs++;
365 *a_pxyzs = 0;a_pxyzs++;
367 *a_pxyzs = x3;a_pxyzs++;
368 *a_pxyzs = y3;a_pxyzs++;
369 *a_pxyzs = 0;a_pxyzs++;
371 *a_pxyzs = x2;a_pxyzs++;
372 *a_pxyzs = y2;a_pxyzs++;
373 *a_pxyzs = 0;a_pxyzs++;
375 *a_pxyzs = x1;a_pxyzs++;
376 *a_pxyzs = y1;a_pxyzs++;
377 *a_pxyzs = 0;a_pxyzs++;
379 *a_pxyzs = x2;a_pxyzs++;
380 *a_pxyzs = y2;a_pxyzs++;
381 *a_pxyzs = 0;a_pxyzs++;
383 *a_pxyzs = x3;a_pxyzs++;
384 *a_pxyzs = y3;a_pxyzs++;
385 *a_pxyzs = 0;a_pxyzs++;
394 flip = flip?
false:
true;
401 const float* vpos = a_xyzs;
403 float x1 = *vpos;vpos++;
404 float y1 = *vpos;vpos++;
407 for(
size_t i=1;i<a_npt;i++) {
411 *a_pxyzs = x1;a_pxyzs++;
412 *a_pxyzs = y1;a_pxyzs++;
413 *a_pxyzs = 0;a_pxyzs++;
415 *a_pxyzs = x2;a_pxyzs++;
416 *a_pxyzs = y2;a_pxyzs++;
417 *a_pxyzs = 0;a_pxyzs++;
428 const float* vpos = a_xyzs;
430 float x1 = *vpos;vpos++;
431 float y1 = *vpos;vpos++;
432 float z1 = *vpos;vpos++;
435 for(
size_t i=1;i<a_npt;i++) {
440 *a_pxyzs = x1;a_pxyzs++;
441 *a_pxyzs = y1;a_pxyzs++;
442 *a_pxyzs = z1;a_pxyzs++;
444 *a_pxyzs = x2;a_pxyzs++;
445 *a_pxyzs = y2;a_pxyzs++;
446 *a_pxyzs = z2;a_pxyzs++;
458 const float* vpos = a_xyzs;
460 float x1 = *vpos;vpos++;
461 float y1 = *vpos;vpos++;
462 float z1 = *vpos;vpos++;
469 for(
size_t i=1;i<a_npt;i++) {
474 *a_pxyzs = x1;a_pxyzs++;
475 *a_pxyzs = y1;a_pxyzs++;
476 *a_pxyzs = z1;a_pxyzs++;
478 *a_pxyzs = x2;a_pxyzs++;
479 *a_pxyzs = y2;a_pxyzs++;
480 *a_pxyzs = z2;a_pxyzs++;
487 *a_pxyzs = x1;a_pxyzs++;
488 *a_pxyzs = y1;a_pxyzs++;
489 *a_pxyzs = z1;a_pxyzs++;
491 *a_pxyzs = x0;a_pxyzs++;
492 *a_pxyzs = y0;a_pxyzs++;
493 *a_pxyzs = z0;a_pxyzs++;
500 const float* vpos = a_xyzs;
502 float x1 = *vpos;vpos++;
503 float y1 = *vpos;vpos++;
504 float z1 = *vpos;vpos++;
506 for(
size_t i=0;i<a_npt;i++) {
507 *a_pxyzs = *vpos;vpos++;a_pxyzs++;
508 *a_pxyzs = *vpos;vpos++;a_pxyzs++;
509 *a_pxyzs = *vpos;vpos++;a_pxyzs++;
512 *a_pxyzs = x1;a_pxyzs++;
513 *a_pxyzs = y1;a_pxyzs++;
514 *a_pxyzs = z1;a_pxyzs++;
519 float a_r,
float a_g,
float a_b,
float a_a,
520 float*& a_pxyz_rgbas) {
522 const float* vpos = a_xyzs;
524 float x1 = *vpos;vpos++;
525 float y1 = *vpos;vpos++;
527 float x2 = *vpos;vpos++;
528 float y2 = *vpos;vpos++;
531 for(
size_t i=2;i<a_npt;i++) {
535 *a_pxyz_rgbas = x1;a_pxyz_rgbas++;
536 *a_pxyz_rgbas = y1;a_pxyz_rgbas++;
537 *a_pxyz_rgbas = 0;a_pxyz_rgbas++;
539 *a_pxyz_rgbas = a_r;a_pxyz_rgbas++;
540 *a_pxyz_rgbas = a_g;a_pxyz_rgbas++;
541 *a_pxyz_rgbas = a_b;a_pxyz_rgbas++;
542 *a_pxyz_rgbas = a_a;a_pxyz_rgbas++;
544 *a_pxyz_rgbas = x2;a_pxyz_rgbas++;
545 *a_pxyz_rgbas = y2;a_pxyz_rgbas++;
546 *a_pxyz_rgbas = 0;a_pxyz_rgbas++;
548 *a_pxyz_rgbas = a_r;a_pxyz_rgbas++;
549 *a_pxyz_rgbas = a_g;a_pxyz_rgbas++;
550 *a_pxyz_rgbas = a_b;a_pxyz_rgbas++;
551 *a_pxyz_rgbas = a_a;a_pxyz_rgbas++;
553 *a_pxyz_rgbas = x3;a_pxyz_rgbas++;
554 *a_pxyz_rgbas = y3;a_pxyz_rgbas++;
555 *a_pxyz_rgbas = 0;a_pxyz_rgbas++;
557 *a_pxyz_rgbas = a_r;a_pxyz_rgbas++;
558 *a_pxyz_rgbas = a_g;a_pxyz_rgbas++;
559 *a_pxyz_rgbas = a_b;a_pxyz_rgbas++;
560 *a_pxyz_rgbas = a_a;a_pxyz_rgbas++;
568 float a_r,
float a_g,
float a_b,
float a_a,
569 float*& a_pxyz_rgbas) {
571 const float* vpos = a_xyzs;
573 float x1 = *vpos;vpos++;
574 float y1 = *vpos;vpos++;
575 float z1 = *vpos;vpos++;
577 float x2 = *vpos;vpos++;
578 float y2 = *vpos;vpos++;
579 float z2 = *vpos;vpos++;
582 for(
size_t i=2;i<a_npt;i++) {
587 *a_pxyz_rgbas = x1;a_pxyz_rgbas++;
588 *a_pxyz_rgbas = y1;a_pxyz_rgbas++;
589 *a_pxyz_rgbas = z1;a_pxyz_rgbas++;
591 *a_pxyz_rgbas = a_r;a_pxyz_rgbas++;
592 *a_pxyz_rgbas = a_g;a_pxyz_rgbas++;
593 *a_pxyz_rgbas = a_b;a_pxyz_rgbas++;
594 *a_pxyz_rgbas = a_a;a_pxyz_rgbas++;
596 *a_pxyz_rgbas = x2;a_pxyz_rgbas++;
597 *a_pxyz_rgbas = y2;a_pxyz_rgbas++;
598 *a_pxyz_rgbas = z2;a_pxyz_rgbas++;
600 *a_pxyz_rgbas = a_r;a_pxyz_rgbas++;
601 *a_pxyz_rgbas = a_g;a_pxyz_rgbas++;
602 *a_pxyz_rgbas = a_b;a_pxyz_rgbas++;
603 *a_pxyz_rgbas = a_a;a_pxyz_rgbas++;
605 *a_pxyz_rgbas = x3;a_pxyz_rgbas++;
606 *a_pxyz_rgbas = y3;a_pxyz_rgbas++;
607 *a_pxyz_rgbas = z3;a_pxyz_rgbas++;
609 *a_pxyz_rgbas = a_r;a_pxyz_rgbas++;
610 *a_pxyz_rgbas = a_g;a_pxyz_rgbas++;
611 *a_pxyz_rgbas = a_b;a_pxyz_rgbas++;
612 *a_pxyz_rgbas = a_a;a_pxyz_rgbas++;