FLImaging 7.5.18.3
TLine3.h
1#pragma once
2
10
11#include <stdint.h>
12#include <type_traits>
13#include <typeinfo>
14
15#include "FLLibTags.h"
16#include "TPoint3.h"
17
19namespace FLImaging
20{
22 namespace Base
23 {
35 #pragma pack(push, 1)
36 template <typename T>
37 class FL_EXPORT TLine3
38 {
39 public:
45
54 {
55 }
56
67 {
68 tpPoints[0].x = (T)tl.tpPoints[0].x;
69 tpPoints[0].y = (T)tl.tpPoints[0].y;
70 tpPoints[0].z = (T)tl.tpPoints[0].z;
71 tpPoints[1].x = (T)tl.tpPoints[1].x;
72 tpPoints[1].y = (T)tl.tpPoints[1].y;
73 tpPoints[1].z = (T)tl.tpPoints[1].z;
74 }
75
86 {
87 if(pTl)
88 {
89 tpPoints[0].x = (T)pTl->tpPoints[0].x;
90 tpPoints[0].y = (T)pTl->tpPoints[0].y;
91 tpPoints[0].z = (T)pTl->tpPoints[0].z;
92 tpPoints[1].x = (T)pTl->tpPoints[1].x;
93 tpPoints[1].y = (T)pTl->tpPoints[1].y;
94 tpPoints[1].z = (T)pTl->tpPoints[1].z;
95 }
96 }
97
108 {
109 tpPoints[0].x = (T)tl.tpPoints[0].x;
110 tpPoints[0].y = (T)tl.tpPoints[0].y;
111 tpPoints[0].z = (T)tl.tpPoints[0].z;
112 tpPoints[1].x = (T)tl.tpPoints[1].x;
113 tpPoints[1].y = (T)tl.tpPoints[1].y;
114 tpPoints[1].z = (T)tl.tpPoints[1].z;
115 }
116
127 {
128 if(pTl)
129 {
130 tpPoints[0].x = (T)pTl->tpPoints[0].x;
131 tpPoints[0].y = (T)pTl->tpPoints[0].y;
132 tpPoints[0].z = (T)pTl->tpPoints[0].z;
133 tpPoints[1].x = (T)pTl->tpPoints[1].x;
134 tpPoints[1].y = (T)pTl->tpPoints[1].y;
135 tpPoints[1].z = (T)pTl->tpPoints[1].z;
136 }
137 }
138
149 {
150 tpPoints[0].x = (T)tl.tpPoints[0].x;
151 tpPoints[0].y = (T)tl.tpPoints[0].y;
152 tpPoints[0].z = (T)tl.tpPoints[0].z;
153 tpPoints[1].x = (T)tl.tpPoints[1].x;
154 tpPoints[1].y = (T)tl.tpPoints[1].y;
155 tpPoints[1].z = (T)tl.tpPoints[1].z;
156 }
157
168 {
169 if(pTl)
170 {
171 tpPoints[0].x = (T)pTl->tpPoints[0].x;
172 tpPoints[0].y = (T)pTl->tpPoints[0].y;
173 tpPoints[0].z = (T)pTl->tpPoints[0].z;
174 tpPoints[1].x = (T)pTl->tpPoints[1].x;
175 tpPoints[1].y = (T)pTl->tpPoints[1].y;
176 tpPoints[1].z = (T)pTl->tpPoints[1].z;
177 }
178 }
179
190 {
191 tpPoints[0].x = (T)tl.tpPoints[0].x;
192 tpPoints[0].y = (T)tl.tpPoints[0].y;
193 tpPoints[0].z = (T)tl.tpPoints[0].z;
194 tpPoints[1].x = (T)tl.tpPoints[1].x;
195 tpPoints[1].y = (T)tl.tpPoints[1].y;
196 tpPoints[1].z = (T)tl.tpPoints[1].z;
197 }
198
209 {
210 if(pTl)
211 {
212 tpPoints[0].x = (T)pTl->tpPoints[0].x;
213 tpPoints[0].y = (T)pTl->tpPoints[0].y;
214 tpPoints[0].z = (T)pTl->tpPoints[0].z;
215 tpPoints[1].x = (T)pTl->tpPoints[1].x;
216 tpPoints[1].y = (T)pTl->tpPoints[1].y;
217 tpPoints[1].z = (T)pTl->tpPoints[1].z;
218 }
219 }
220
231 {
232 tpPoints[0].x = (T)tl.tpPoints[0].x;
233 tpPoints[0].y = (T)tl.tpPoints[0].y;
234 tpPoints[0].z = (T)tl.tpPoints[0].z;
235 tpPoints[1].x = (T)tl.tpPoints[1].x;
236 tpPoints[1].y = (T)tl.tpPoints[1].y;
237 tpPoints[1].z = (T)tl.tpPoints[1].z;
238 }
239
250 {
251 if(pTl)
252 {
253 tpPoints[0].x = (T)pTl->tpPoints[0].x;
254 tpPoints[0].y = (T)pTl->tpPoints[0].y;
255 tpPoints[0].z = (T)pTl->tpPoints[0].z;
256 tpPoints[1].x = (T)pTl->tpPoints[1].x;
257 tpPoints[1].y = (T)pTl->tpPoints[1].y;
258 tpPoints[1].z = (T)pTl->tpPoints[1].z;
259 }
260 }
261
272 {
273 tpPoints[0].x = (T)tl.tpPoints[0].x;
274 tpPoints[0].y = (T)tl.tpPoints[0].y;
275 tpPoints[0].z = (T)tl.tpPoints[0].z;
276 tpPoints[1].x = (T)tl.tpPoints[1].x;
277 tpPoints[1].y = (T)tl.tpPoints[1].y;
278 tpPoints[1].z = (T)tl.tpPoints[1].z;
279 }
280
291 {
292 if(pTl)
293 {
294 tpPoints[0].x = (T)pTl->tpPoints[0].x;
295 tpPoints[0].y = (T)pTl->tpPoints[0].y;
296 tpPoints[0].z = (T)pTl->tpPoints[0].z;
297 tpPoints[1].x = (T)pTl->tpPoints[1].x;
298 tpPoints[1].y = (T)pTl->tpPoints[1].y;
299 tpPoints[1].z = (T)pTl->tpPoints[1].z;
300 }
301 }
302
313 {
314 tpPoints[0].x = (T)tl.tpPoints[0].x;
315 tpPoints[0].y = (T)tl.tpPoints[0].y;
316 tpPoints[0].z = (T)tl.tpPoints[0].z;
317 tpPoints[1].x = (T)tl.tpPoints[1].x;
318 tpPoints[1].y = (T)tl.tpPoints[1].y;
319 tpPoints[1].z = (T)tl.tpPoints[1].z;
320 }
321
332 {
333 if(pTl)
334 {
335 tpPoints[0].x = (T)pTl->tpPoints[0].x;
336 tpPoints[0].y = (T)pTl->tpPoints[0].y;
337 tpPoints[0].z = (T)pTl->tpPoints[0].z;
338 tpPoints[1].x = (T)pTl->tpPoints[1].x;
339 tpPoints[1].y = (T)pTl->tpPoints[1].y;
340 tpPoints[1].z = (T)pTl->tpPoints[1].z;
341 }
342 }
343
354 {
355 tpPoints[0].x = (T)tl.tpPoints[0].x;
356 tpPoints[0].y = (T)tl.tpPoints[0].y;
357 tpPoints[0].z = (T)tl.tpPoints[0].z;
358 tpPoints[1].x = (T)tl.tpPoints[1].x;
359 tpPoints[1].y = (T)tl.tpPoints[1].y;
360 tpPoints[1].z = (T)tl.tpPoints[1].z;
361 }
362
373 {
374 if(pTl)
375 {
376 tpPoints[0].x = (T)pTl->tpPoints[0].x;
377 tpPoints[0].y = (T)pTl->tpPoints[0].y;
378 tpPoints[0].z = (T)pTl->tpPoints[0].z;
379 tpPoints[1].x = (T)pTl->tpPoints[1].x;
380 tpPoints[1].y = (T)pTl->tpPoints[1].y;
381 tpPoints[1].z = (T)pTl->tpPoints[1].z;
382 }
383 }
384
395 {
396 tpPoints[0].x = (T)tl.tpPoints[0].x;
397 tpPoints[0].y = (T)tl.tpPoints[0].y;
398 tpPoints[0].z = (T)tl.tpPoints[0].z;
399 tpPoints[1].x = (T)tl.tpPoints[1].x;
400 tpPoints[1].y = (T)tl.tpPoints[1].y;
401 tpPoints[1].z = (T)tl.tpPoints[1].z;
402 }
403
414 {
415 if(pTl)
416 {
417 tpPoints[0].x = (T)pTl->tpPoints[0].x;
418 tpPoints[0].y = (T)pTl->tpPoints[0].y;
419 tpPoints[0].z = (T)pTl->tpPoints[0].z;
420 tpPoints[1].x = (T)pTl->tpPoints[1].x;
421 tpPoints[1].y = (T)pTl->tpPoints[1].y;
422 tpPoints[1].z = (T)pTl->tpPoints[1].z;
423 }
424 }
425
436 {
437 tpPoints[0].x = (T)tl.tpPoints[0].x;
438 tpPoints[0].y = (T)tl.tpPoints[0].y;
439 tpPoints[0].z = (T)tl.tpPoints[0].z;
440 tpPoints[1].x = (T)tl.tpPoints[1].x;
441 tpPoints[1].y = (T)tl.tpPoints[1].y;
442 tpPoints[1].z = (T)tl.tpPoints[1].z;
443 }
444
455 {
456 if(pTl)
457 {
458 tpPoints[0].x = (T)pTl->tpPoints[0].x;
459 tpPoints[0].y = (T)pTl->tpPoints[0].y;
460 tpPoints[0].z = (T)pTl->tpPoints[0].z;
461 tpPoints[1].x = (T)pTl->tpPoints[1].x;
462 tpPoints[1].y = (T)pTl->tpPoints[1].y;
463 tpPoints[1].z = (T)pTl->tpPoints[1].z;
464 }
465 }
466
480 TLine3(const TPoint3<int8_t>& tp0, const TPoint3<int8_t>& tp1)
481 {
482 tpPoints[0].x = (T)tp0.x;
483 tpPoints[0].y = (T)tp0.y;
484 tpPoints[0].z = (T)tp0.z;
485 tpPoints[1].x = (T)tp1.x;
486 tpPoints[1].y = (T)tp1.y;
487 tpPoints[1].z = (T)tp1.z;
488 }
489
503 TLine3(const TPoint3<int8_t>* pTp0, const TPoint3<int8_t>* pTp1)
504 {
505 if(pTp0)
506 {
507 tpPoints[0].x = (T)pTp0->x;
508 tpPoints[0].y = (T)pTp0->y;
509 tpPoints[0].z = (T)pTp0->z;
510 }
511
512 if(pTp1)
513 {
514 tpPoints[1].x = (T)pTp1->x;
515 tpPoints[1].y = (T)pTp1->y;
516 tpPoints[1].z = (T)pTp1->z;
517 }
518 }
519
534 {
535 tpPoints[0].x = (T)tp0.x;
536 tpPoints[0].y = (T)tp0.y;
537 tpPoints[0].z = (T)tp0.z;
538 tpPoints[1].x = (T)tp1.x;
539 tpPoints[1].y = (T)tp1.y;
540 tpPoints[1].z = (T)tp1.z;
541 }
542
556 TLine3(const TPoint3<uint8_t>* pTp0, const TPoint3<uint8_t>* pTp1)
557 {
558 if(pTp0)
559 {
560 tpPoints[0].x = (T)pTp0->x;
561 tpPoints[0].y = (T)pTp0->y;
562 tpPoints[0].z = (T)pTp0->z;
563 }
564
565 if(pTp1)
566 {
567 tpPoints[1].x = (T)pTp1->x;
568 tpPoints[1].y = (T)pTp1->y;
569 tpPoints[1].z = (T)pTp1->z;
570 }
571 }
572
587 {
588 tpPoints[0].x = (T)tp0.x;
589 tpPoints[0].y = (T)tp0.y;
590 tpPoints[0].z = (T)tp0.z;
591 tpPoints[1].x = (T)tp1.x;
592 tpPoints[1].y = (T)tp1.y;
593 tpPoints[1].z = (T)tp1.z;
594 }
595
609 TLine3(const TPoint3<int16_t>* pTp0, const TPoint3<int16_t>* pTp1)
610 {
611 if(pTp0)
612 {
613 tpPoints[0].x = (T)pTp0->x;
614 tpPoints[0].y = (T)pTp0->y;
615 tpPoints[0].z = (T)pTp0->z;
616 }
617
618 if(pTp1)
619 {
620 tpPoints[1].x = (T)pTp1->x;
621 tpPoints[1].y = (T)pTp1->y;
622 tpPoints[1].z = (T)pTp1->z;
623 }
624 }
625
640 {
641 tpPoints[0].x = (T)tp0.x;
642 tpPoints[0].y = (T)tp0.y;
643 tpPoints[0].z = (T)tp0.z;
644 tpPoints[1].x = (T)tp1.x;
645 tpPoints[1].y = (T)tp1.y;
646 tpPoints[1].z = (T)tp1.z;
647 }
648
663 {
664 if(pTp0)
665 {
666 tpPoints[0].x = (T)pTp0->x;
667 tpPoints[0].y = (T)pTp0->y;
668 tpPoints[0].z = (T)pTp0->z;
669 }
670
671 if(pTp1)
672 {
673 tpPoints[1].x = (T)pTp1->x;
674 tpPoints[1].y = (T)pTp1->y;
675 tpPoints[1].z = (T)pTp1->z;
676 }
677 }
678
693 {
694 tpPoints[0].x = (T)tp0.x;
695 tpPoints[0].y = (T)tp0.y;
696 tpPoints[0].z = (T)tp0.z;
697 tpPoints[1].x = (T)tp1.x;
698 tpPoints[1].y = (T)tp1.y;
699 tpPoints[1].z = (T)tp1.z;
700 }
701
715 TLine3(const TPoint3<int32_t>* pTp0, const TPoint3<int32_t>* pTp1)
716 {
717 if(pTp0)
718 {
719 tpPoints[0].x = (T)pTp0->x;
720 tpPoints[0].y = (T)pTp0->y;
721 tpPoints[0].z = (T)pTp0->z;
722 }
723
724 if(pTp1)
725 {
726 tpPoints[1].x = (T)pTp1->x;
727 tpPoints[1].y = (T)pTp1->y;
728 tpPoints[1].z = (T)pTp1->z;
729 }
730 }
731
746 {
747 tpPoints[0].x = (T)tp0.x;
748 tpPoints[0].y = (T)tp0.y;
749 tpPoints[0].z = (T)tp0.z;
750 tpPoints[1].x = (T)tp1.x;
751 tpPoints[1].y = (T)tp1.y;
752 tpPoints[1].z = (T)tp1.z;
753 }
754
769 {
770 if(pTp0)
771 {
772 tpPoints[0].x = (T)pTp0->x;
773 tpPoints[0].y = (T)pTp0->y;
774 tpPoints[0].z = (T)pTp0->z;
775 }
776
777 if(pTp1)
778 {
779 tpPoints[1].x = (T)pTp1->x;
780 tpPoints[1].y = (T)pTp1->y;
781 tpPoints[1].z = (T)pTp1->z;
782 }
783 }
784
799 {
800 tpPoints[0].x = (T)tp0.x;
801 tpPoints[0].y = (T)tp0.y;
802 tpPoints[0].z = (T)tp0.z;
803 tpPoints[1].x = (T)tp1.x;
804 tpPoints[1].y = (T)tp1.y;
805 tpPoints[1].z = (T)tp1.z;
806 }
807
821 TLine3(const TPoint3<int64_t>* pTp0, const TPoint3<int64_t>* pTp1)
822 {
823 if(pTp0)
824 {
825 tpPoints[0].x = (T)pTp0->x;
826 tpPoints[0].y = (T)pTp0->y;
827 tpPoints[0].z = (T)pTp0->z;
828 }
829
830 if(pTp1)
831 {
832 tpPoints[1].x = (T)pTp1->x;
833 tpPoints[1].y = (T)pTp1->y;
834 tpPoints[1].z = (T)pTp1->z;
835 }
836 }
837
852 {
853 tpPoints[0].x = (T)tp0.x;
854 tpPoints[0].y = (T)tp0.y;
855 tpPoints[0].z = (T)tp0.z;
856 tpPoints[1].x = (T)tp1.x;
857 tpPoints[1].y = (T)tp1.y;
858 tpPoints[1].z = (T)tp1.z;
859 }
860
875 {
876 if(pTp0)
877 {
878 tpPoints[0].x = (T)pTp0->x;
879 tpPoints[0].y = (T)pTp0->y;
880 tpPoints[0].z = (T)pTp0->z;
881 }
882
883 if(pTp1)
884 {
885 tpPoints[1].x = (T)pTp1->x;
886 tpPoints[1].y = (T)pTp1->y;
887 tpPoints[1].z = (T)pTp1->z;
888 }
889 }
890
904 TLine3(const TPoint3<float>& tp0, const TPoint3<float>& tp1)
905 {
906 tpPoints[0].x = (T)tp0.x;
907 tpPoints[0].y = (T)tp0.y;
908 tpPoints[0].z = (T)tp0.z;
909 tpPoints[1].x = (T)tp1.x;
910 tpPoints[1].y = (T)tp1.y;
911 tpPoints[1].z = (T)tp1.z;
912 }
913
927 TLine3(const TPoint3<float>* pTp0, const TPoint3<float>* pTp1)
928 {
929 if(pTp0)
930 {
931 tpPoints[0].x = (T)pTp0->x;
932 tpPoints[0].y = (T)pTp0->y;
933 tpPoints[0].z = (T)pTp0->z;
934 }
935
936 if(pTp1)
937 {
938 tpPoints[1].x = (T)pTp1->x;
939 tpPoints[1].y = (T)pTp1->y;
940 tpPoints[1].z = (T)pTp1->z;
941 }
942 }
943
957 TLine3(const TPoint3<double>& tp0, const TPoint3<double>& tp1)
958 {
959 tpPoints[0].x = (T)tp0.x;
960 tpPoints[0].y = (T)tp0.y;
961 tpPoints[0].z = (T)tp0.z;
962 tpPoints[1].x = (T)tp1.x;
963 tpPoints[1].y = (T)tp1.y;
964 tpPoints[1].z = (T)tp1.z;
965 }
966
980 TLine3(const TPoint3<double>* pTp0, const TPoint3<double>* pTp1)
981 {
982 if(pTp0)
983 {
984 tpPoints[0].x = (T)pTp0->x;
985 tpPoints[0].y = (T)pTp0->y;
986 tpPoints[0].z = (T)pTp0->z;
987 }
988
989 if(pTp1)
990 {
991 tpPoints[1].x = (T)pTp1->x;
992 tpPoints[1].y = (T)pTp1->y;
993 tpPoints[1].z = (T)pTp1->z;
994 }
995 }
996
1016 TLine3(int8_t x0, int8_t y0, int8_t z0, int8_t x1, int8_t y1, int8_t z1)
1017 {
1018 tpPoints[0].x = (T)x0;
1019 tpPoints[0].y = (T)y0;
1020 tpPoints[0].z = (T)z0;
1021 tpPoints[1].x = (T)x1;
1022 tpPoints[1].y = (T)y1;
1023 tpPoints[1].z = (T)z1;
1024 }
1025
1045 TLine3(uint8_t x0, uint8_t y0, uint8_t z0, uint8_t x1, uint8_t y1, uint8_t z1)
1046 {
1047 tpPoints[0].x = (T)x0;
1048 tpPoints[0].y = (T)y0;
1049 tpPoints[0].z = (T)z0;
1050 tpPoints[1].x = (T)x1;
1051 tpPoints[1].y = (T)y1;
1052 tpPoints[1].z = (T)z1;
1053 }
1054
1074 TLine3(int16_t x0, int16_t y0, int16_t z0, int16_t x1, int16_t y1, int16_t z1)
1075 {
1076 tpPoints[0].x = (T)x0;
1077 tpPoints[0].y = (T)y0;
1078 tpPoints[0].z = (T)z0;
1079 tpPoints[1].x = (T)x1;
1080 tpPoints[1].y = (T)y1;
1081 tpPoints[1].z = (T)z1;
1082 }
1083
1103 TLine3(uint16_t x0, uint16_t y0, uint16_t z0, uint16_t x1, uint16_t y1, uint16_t z1)
1104 {
1105 tpPoints[0].x = (T)x0;
1106 tpPoints[0].y = (T)y0;
1107 tpPoints[0].z = (T)z0;
1108 tpPoints[1].x = (T)x1;
1109 tpPoints[1].y = (T)y1;
1110 tpPoints[1].z = (T)z1;
1111 }
1112
1132 TLine3(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1)
1133 {
1134 tpPoints[0].x = (T)x0;
1135 tpPoints[0].y = (T)y0;
1136 tpPoints[0].z = (T)z0;
1137 tpPoints[1].x = (T)x1;
1138 tpPoints[1].y = (T)y1;
1139 tpPoints[1].z = (T)z1;
1140 }
1141
1161 TLine3(uint32_t x0, uint32_t y0, uint32_t z0, uint32_t x1, uint32_t y1, uint32_t z1)
1162 {
1163 tpPoints[0].x = (T)x0;
1164 tpPoints[0].y = (T)y0;
1165 tpPoints[0].z = (T)z0;
1166 tpPoints[1].x = (T)x1;
1167 tpPoints[1].y = (T)y1;
1168 tpPoints[1].z = (T)z1;
1169 }
1170
1190 TLine3(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1)
1191 {
1192 tpPoints[0].x = (T)x0;
1193 tpPoints[0].y = (T)y0;
1194 tpPoints[0].z = (T)z0;
1195 tpPoints[1].x = (T)x1;
1196 tpPoints[1].y = (T)y1;
1197 tpPoints[1].z = (T)z1;
1198 }
1199
1219 TLine3(uint64_t x0, uint64_t y0, uint64_t z0, uint64_t x1, uint64_t y1, uint64_t z1)
1220 {
1221 tpPoints[0].x = (T)x0;
1222 tpPoints[0].y = (T)y0;
1223 tpPoints[0].z = (T)z0;
1224 tpPoints[1].x = (T)x1;
1225 tpPoints[1].y = (T)y1;
1226 tpPoints[1].z = (T)z1;
1227 }
1228
1248 TLine3(float x0, float y0, float z0, float x1, float y1, float z1)
1249 {
1250 tpPoints[0].x = (T)x0;
1251 tpPoints[0].y = (T)y0;
1252 tpPoints[0].z = (T)z0;
1253 tpPoints[1].x = (T)x1;
1254 tpPoints[1].y = (T)y1;
1255 tpPoints[1].z = (T)z1;
1256 }
1257
1277 TLine3(double x0, double y0, double z0, double x1, double y1, double z1)
1278 {
1279 tpPoints[0].x = (T)x0;
1280 tpPoints[0].y = (T)y0;
1281 tpPoints[0].z = (T)z0;
1282 tpPoints[1].x = (T)x1;
1283 tpPoints[1].y = (T)y1;
1284 tpPoints[1].z = (T)z1;
1285 }
1286
1296 void Set(const TLine3<int8_t>& tl)
1297 {
1298 tpPoints[0].x = (T)tl.tpPoints[0].x;
1299 tpPoints[0].y = (T)tl.tpPoints[0].y;
1300 tpPoints[0].z = (T)tl.tpPoints[0].z;
1301 tpPoints[1].x = (T)tl.tpPoints[1].x;
1302 tpPoints[1].y = (T)tl.tpPoints[1].y;
1303 tpPoints[1].z = (T)tl.tpPoints[1].z;
1304 }
1305
1315 void Set(const TLine3<int8_t>* pTl)
1316 {
1317 if(pTl)
1318 {
1319 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1320 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1321 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1322 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1323 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1324 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1325 }
1326 }
1327
1337 void Set(const TLine3<uint8_t>& tl)
1338 {
1339 tpPoints[0].x = (T)tl.tpPoints[0].x;
1340 tpPoints[0].y = (T)tl.tpPoints[0].y;
1341 tpPoints[0].z = (T)tl.tpPoints[0].z;
1342 tpPoints[1].x = (T)tl.tpPoints[1].x;
1343 tpPoints[1].y = (T)tl.tpPoints[1].y;
1344 tpPoints[1].z = (T)tl.tpPoints[1].z;
1345 }
1346
1356 void Set(const TLine3<uint8_t>* pTl)
1357 {
1358 if(pTl)
1359 {
1360 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1361 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1362 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1363 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1364 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1365 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1366 }
1367 }
1368
1378 void Set(const TLine3<int16_t>& tl)
1379 {
1380 tpPoints[0].x = (T)tl.tpPoints[0].x;
1381 tpPoints[0].y = (T)tl.tpPoints[0].y;
1382 tpPoints[0].z = (T)tl.tpPoints[0].z;
1383 tpPoints[1].x = (T)tl.tpPoints[1].x;
1384 tpPoints[1].y = (T)tl.tpPoints[1].y;
1385 tpPoints[1].z = (T)tl.tpPoints[1].z;
1386 }
1387
1397 void Set(const TLine3<int16_t>* pTl)
1398 {
1399 if(pTl)
1400 {
1401 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1402 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1403 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1404 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1405 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1406 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1407 }
1408 }
1409
1419 void Set(const TLine3<uint16_t>& tl)
1420 {
1421 tpPoints[0].x = (T)tl.tpPoints[0].x;
1422 tpPoints[0].y = (T)tl.tpPoints[0].y;
1423 tpPoints[0].z = (T)tl.tpPoints[0].z;
1424 tpPoints[1].x = (T)tl.tpPoints[1].x;
1425 tpPoints[1].y = (T)tl.tpPoints[1].y;
1426 tpPoints[1].z = (T)tl.tpPoints[1].z;
1427 }
1428
1438 void Set(const TLine3<uint16_t>* pTl)
1439 {
1440 if(pTl)
1441 {
1442 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1443 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1444 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1445 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1446 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1447 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1448 }
1449 }
1450
1460 void Set(const TLine3<int32_t>& tl)
1461 {
1462 tpPoints[0].x = (T)tl.tpPoints[0].x;
1463 tpPoints[0].y = (T)tl.tpPoints[0].y;
1464 tpPoints[0].z = (T)tl.tpPoints[0].z;
1465 tpPoints[1].x = (T)tl.tpPoints[1].x;
1466 tpPoints[1].y = (T)tl.tpPoints[1].y;
1467 tpPoints[1].z = (T)tl.tpPoints[1].z;
1468 }
1469
1479 void Set(const TLine3<int32_t>* pTl)
1480 {
1481 if(pTl)
1482 {
1483 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1484 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1485 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1486 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1487 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1488 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1489 }
1490 }
1491
1501 void Set(const TLine3<uint32_t>& tl)
1502 {
1503 tpPoints[0].x = (T)tl.tpPoints[0].x;
1504 tpPoints[0].y = (T)tl.tpPoints[0].y;
1505 tpPoints[0].z = (T)tl.tpPoints[0].z;
1506 tpPoints[1].x = (T)tl.tpPoints[1].x;
1507 tpPoints[1].y = (T)tl.tpPoints[1].y;
1508 tpPoints[1].z = (T)tl.tpPoints[1].z;
1509 }
1510
1520 void Set(const TLine3<uint32_t>* pTl)
1521 {
1522 if(pTl)
1523 {
1524 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1525 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1526 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1527 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1528 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1529 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1530 }
1531 }
1532
1542 void Set(const TLine3<int64_t>& tl)
1543 {
1544 tpPoints[0].x = (T)tl.tpPoints[0].x;
1545 tpPoints[0].y = (T)tl.tpPoints[0].y;
1546 tpPoints[0].z = (T)tl.tpPoints[0].z;
1547 tpPoints[1].x = (T)tl.tpPoints[1].x;
1548 tpPoints[1].y = (T)tl.tpPoints[1].y;
1549 tpPoints[1].z = (T)tl.tpPoints[1].z;
1550 }
1551
1561 void Set(const TLine3<int64_t>* pTl)
1562 {
1563 if(pTl)
1564 {
1565 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1566 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1567 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1568 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1569 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1570 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1571 }
1572 }
1573
1583 void Set(const TLine3<uint64_t>& tl)
1584 {
1585 tpPoints[0].x = (T)tl.tpPoints[0].x;
1586 tpPoints[0].y = (T)tl.tpPoints[0].y;
1587 tpPoints[0].z = (T)tl.tpPoints[0].z;
1588 tpPoints[1].x = (T)tl.tpPoints[1].x;
1589 tpPoints[1].y = (T)tl.tpPoints[1].y;
1590 tpPoints[1].z = (T)tl.tpPoints[1].z;
1591 }
1592
1602 void Set(const TLine3<uint64_t>* pTl)
1603 {
1604 if(pTl)
1605 {
1606 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1607 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1608 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1609 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1610 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1611 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1612 }
1613 }
1614
1624 void Set(const TLine3<float>& tl)
1625 {
1626 tpPoints[0].x = (T)tl.tpPoints[0].x;
1627 tpPoints[0].y = (T)tl.tpPoints[0].y;
1628 tpPoints[0].z = (T)tl.tpPoints[0].z;
1629 tpPoints[1].x = (T)tl.tpPoints[1].x;
1630 tpPoints[1].y = (T)tl.tpPoints[1].y;
1631 tpPoints[1].z = (T)tl.tpPoints[1].z;
1632 }
1633
1643 void Set(const TLine3<float>* pTl)
1644 {
1645 if(pTl)
1646 {
1647 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1648 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1649 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1650 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1651 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1652 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1653 }
1654 }
1655
1665 void Set(const TLine3<double>& tl)
1666 {
1667 tpPoints[0].x = (T)tl.tpPoints[0].x;
1668 tpPoints[0].y = (T)tl.tpPoints[0].y;
1669 tpPoints[0].z = (T)tl.tpPoints[0].z;
1670 tpPoints[1].x = (T)tl.tpPoints[1].x;
1671 tpPoints[1].y = (T)tl.tpPoints[1].y;
1672 tpPoints[1].z = (T)tl.tpPoints[1].z;
1673 }
1674
1684 void Set(const TLine3<double>* pTl)
1685 {
1686 if(pTl)
1687 {
1688 tpPoints[0].x = (T)pTl->tpPoints[0].x;
1689 tpPoints[0].y = (T)pTl->tpPoints[0].y;
1690 tpPoints[0].z = (T)pTl->tpPoints[0].z;
1691 tpPoints[1].x = (T)pTl->tpPoints[1].x;
1692 tpPoints[1].y = (T)pTl->tpPoints[1].y;
1693 tpPoints[1].z = (T)pTl->tpPoints[1].z;
1694 }
1695 }
1696
1710 void Set(const TPoint3<int8_t>& tp0, const TPoint3<int8_t>& tp1)
1711 {
1712 tpPoints[0].x = (T)tp0.x;
1713 tpPoints[0].y = (T)tp0.y;
1714 tpPoints[0].z = (T)tp0.z;
1715 tpPoints[1].x = (T)tp1.x;
1716 tpPoints[1].y = (T)tp1.y;
1717 tpPoints[1].z = (T)tp1.z;
1718 }
1719
1733 void Set(const TPoint3<int8_t>* pTp0, const TPoint3<int8_t>* pTp1)
1734 {
1735 if(pTp0)
1736 {
1737 tpPoints[0].x = (T)pTp0->x;
1738 tpPoints[0].y = (T)pTp0->y;
1739 tpPoints[0].z = (T)pTp0->z;
1740 }
1741
1742 if(pTp1)
1743 {
1744 tpPoints[1].x = (T)pTp1->x;
1745 tpPoints[1].y = (T)pTp1->y;
1746 tpPoints[1].z = (T)pTp1->z;
1747 }
1748 }
1749
1763 void Set(const TPoint3<uint8_t>& tp0, const TPoint3<uint8_t>& tp1)
1764 {
1765 tpPoints[0].x = (T)tp0.x;
1766 tpPoints[0].y = (T)tp0.y;
1767 tpPoints[0].z = (T)tp0.z;
1768 tpPoints[1].x = (T)tp1.x;
1769 tpPoints[1].y = (T)tp1.y;
1770 tpPoints[1].z = (T)tp1.z;
1771 }
1772
1786 void Set(const TPoint3<uint8_t>* pTp0, const TPoint3<uint8_t>* pTp1)
1787 {
1788 if(pTp0)
1789 {
1790 tpPoints[0].x = (T)pTp0->x;
1791 tpPoints[0].y = (T)pTp0->y;
1792 tpPoints[0].z = (T)pTp0->z;
1793 }
1794
1795 if(pTp1)
1796 {
1797 tpPoints[1].x = (T)pTp1->x;
1798 tpPoints[1].y = (T)pTp1->y;
1799 tpPoints[1].z = (T)pTp1->z;
1800 }
1801 }
1802
1816 void Set(const TPoint3<int16_t>& tp0, const TPoint3<int16_t>& tp1)
1817 {
1818 tpPoints[0].x = (T)tp0.x;
1819 tpPoints[0].y = (T)tp0.y;
1820 tpPoints[0].z = (T)tp0.z;
1821 tpPoints[1].x = (T)tp1.x;
1822 tpPoints[1].y = (T)tp1.y;
1823 tpPoints[1].z = (T)tp1.z;
1824 }
1825
1839 void Set(const TPoint3<int16_t>* pTp0, const TPoint3<int16_t>* pTp1)
1840 {
1841 if(pTp0)
1842 {
1843 tpPoints[0].x = (T)pTp0->x;
1844 tpPoints[0].y = (T)pTp0->y;
1845 tpPoints[0].z = (T)pTp0->z;
1846 }
1847
1848 if(pTp1)
1849 {
1850 tpPoints[1].x = (T)pTp1->x;
1851 tpPoints[1].y = (T)pTp1->y;
1852 tpPoints[1].z = (T)pTp1->z;
1853 }
1854 }
1855
1869 void Set(const TPoint3<uint16_t>& tp0, const TPoint3<uint16_t>& tp1)
1870 {
1871 tpPoints[0].x = (T)tp0.x;
1872 tpPoints[0].y = (T)tp0.y;
1873 tpPoints[0].z = (T)tp0.z;
1874 tpPoints[1].x = (T)tp1.x;
1875 tpPoints[1].y = (T)tp1.y;
1876 tpPoints[1].z = (T)tp1.z;
1877 }
1878
1892 void Set(const TPoint3<uint16_t>* pTp0, const TPoint3<uint16_t>* pTp1)
1893 {
1894 if(pTp0)
1895 {
1896 tpPoints[0].x = (T)pTp0->x;
1897 tpPoints[0].y = (T)pTp0->y;
1898 tpPoints[0].z = (T)pTp0->z;
1899 }
1900
1901 if(pTp1)
1902 {
1903 tpPoints[1].x = (T)pTp1->x;
1904 tpPoints[1].y = (T)pTp1->y;
1905 tpPoints[1].z = (T)pTp1->z;
1906 }
1907 }
1908
1922 void Set(const TPoint3<int32_t>& tp0, const TPoint3<int32_t>& tp1)
1923 {
1924 tpPoints[0].x = (T)tp0.x;
1925 tpPoints[0].y = (T)tp0.y;
1926 tpPoints[0].z = (T)tp0.z;
1927 tpPoints[1].x = (T)tp1.x;
1928 tpPoints[1].y = (T)tp1.y;
1929 tpPoints[1].z = (T)tp1.z;
1930 }
1931
1945 void Set(const TPoint3<int32_t>* pTp0, const TPoint3<int32_t>* pTp1)
1946 {
1947 if(pTp0)
1948 {
1949 tpPoints[0].x = (T)pTp0->x;
1950 tpPoints[0].y = (T)pTp0->y;
1951 tpPoints[0].z = (T)pTp0->z;
1952 }
1953
1954 if(pTp1)
1955 {
1956 tpPoints[1].x = (T)pTp1->x;
1957 tpPoints[1].y = (T)pTp1->y;
1958 tpPoints[1].z = (T)pTp1->z;
1959 }
1960 }
1961
1975 void Set(const TPoint3<uint32_t>& tp0, const TPoint3<uint32_t>& tp1)
1976 {
1977 tpPoints[0].x = (T)tp0.x;
1978 tpPoints[0].y = (T)tp0.y;
1979 tpPoints[0].z = (T)tp0.z;
1980 tpPoints[1].x = (T)tp1.x;
1981 tpPoints[1].y = (T)tp1.y;
1982 tpPoints[1].z = (T)tp1.z;
1983 }
1984
1998 void Set(const TPoint3<uint32_t>* pTp0, const TPoint3<uint32_t>* pTp1)
1999 {
2000 if(pTp0)
2001 {
2002 tpPoints[0].x = (T)pTp0->x;
2003 tpPoints[0].y = (T)pTp0->y;
2004 tpPoints[0].z = (T)pTp0->z;
2005 }
2006
2007 if(pTp1)
2008 {
2009 tpPoints[1].x = (T)pTp1->x;
2010 tpPoints[1].y = (T)pTp1->y;
2011 tpPoints[1].z = (T)pTp1->z;
2012 }
2013 }
2014
2028 void Set(const TPoint3<int64_t>& tp0, const TPoint3<int64_t>& tp1)
2029 {
2030 tpPoints[0].x = (T)tp0.x;
2031 tpPoints[0].y = (T)tp0.y;
2032 tpPoints[0].z = (T)tp0.z;
2033 tpPoints[1].x = (T)tp1.x;
2034 tpPoints[1].y = (T)tp1.y;
2035 tpPoints[1].z = (T)tp1.z;
2036 }
2037
2051 void Set(const TPoint3<int64_t>* pTp0, const TPoint3<int64_t>* pTp1)
2052 {
2053 if(pTp0)
2054 {
2055 tpPoints[0].x = (T)pTp0->x;
2056 tpPoints[0].y = (T)pTp0->y;
2057 tpPoints[0].z = (T)pTp0->z;
2058 }
2059
2060 if(pTp1)
2061 {
2062 tpPoints[1].x = (T)pTp1->x;
2063 tpPoints[1].y = (T)pTp1->y;
2064 tpPoints[1].z = (T)pTp1->z;
2065 }
2066 }
2067
2081 void Set(const TPoint3<uint64_t>& tp0, const TPoint3<uint64_t>& tp1)
2082 {
2083 tpPoints[0].x = (T)tp0.x;
2084 tpPoints[0].y = (T)tp0.y;
2085 tpPoints[0].z = (T)tp0.z;
2086 tpPoints[1].x = (T)tp1.x;
2087 tpPoints[1].y = (T)tp1.y;
2088 tpPoints[1].z = (T)tp1.z;
2089 }
2090
2104 void Set(const TPoint3<uint64_t>* pTp0, const TPoint3<uint64_t>* pTp1)
2105 {
2106 if(pTp0)
2107 {
2108 tpPoints[0].x = (T)pTp0->x;
2109 tpPoints[0].y = (T)pTp0->y;
2110 tpPoints[0].z = (T)pTp0->z;
2111 }
2112
2113 if(pTp1)
2114 {
2115 tpPoints[1].x = (T)pTp1->x;
2116 tpPoints[1].y = (T)pTp1->y;
2117 tpPoints[1].z = (T)pTp1->z;
2118 }
2119 }
2120
2134 void Set(const TPoint3<float>& tp0, const TPoint3<float>& tp1)
2135 {
2136 tpPoints[0].x = (T)tp0.x;
2137 tpPoints[0].y = (T)tp0.y;
2138 tpPoints[0].z = (T)tp0.z;
2139 tpPoints[1].x = (T)tp1.x;
2140 tpPoints[1].y = (T)tp1.y;
2141 tpPoints[1].z = (T)tp1.z;
2142 }
2143
2157 void Set(const TPoint3<float>* pTp0, const TPoint3<float>* pTp1)
2158 {
2159 if(pTp0)
2160 {
2161 tpPoints[0].x = (T)pTp0->x;
2162 tpPoints[0].y = (T)pTp0->y;
2163 tpPoints[0].z = (T)pTp0->z;
2164 }
2165
2166 if(pTp1)
2167 {
2168 tpPoints[1].x = (T)pTp1->x;
2169 tpPoints[1].y = (T)pTp1->y;
2170 tpPoints[1].z = (T)pTp1->z;
2171 }
2172 }
2173
2187 void Set(const TPoint3<double>& tp0, const TPoint3<double>& tp1)
2188 {
2189 tpPoints[0].x = (T)tp0.x;
2190 tpPoints[0].y = (T)tp0.y;
2191 tpPoints[0].z = (T)tp0.z;
2192 tpPoints[1].x = (T)tp1.x;
2193 tpPoints[1].y = (T)tp1.y;
2194 tpPoints[1].z = (T)tp1.z;
2195 }
2196
2210 void Set(const TPoint3<double>* pTp0, const TPoint3<double>* pTp1)
2211 {
2212 if(pTp0)
2213 {
2214 tpPoints[0].x = (T)pTp0->x;
2215 tpPoints[0].y = (T)pTp0->y;
2216 tpPoints[0].z = (T)pTp0->z;
2217 }
2218
2219 if(pTp1)
2220 {
2221 tpPoints[1].x = (T)pTp1->x;
2222 tpPoints[1].y = (T)pTp1->y;
2223 tpPoints[1].z = (T)pTp1->z;
2224 }
2225 }
2226
2246 void Set(int8_t x0, int8_t y0, int8_t z0, int8_t x1, int8_t y1, int8_t z1)
2247 {
2248 tpPoints[0].x = (T)x0;
2249 tpPoints[0].y = (T)y0;
2250 tpPoints[0].z = (T)z0;
2251 tpPoints[1].x = (T)x1;
2252 tpPoints[1].y = (T)y1;
2253 tpPoints[1].z = (T)z1;
2254 }
2255
2275 void Set(uint8_t x0, uint8_t y0, uint8_t z0, uint8_t x1, uint8_t y1, uint8_t z1)
2276 {
2277 tpPoints[0].x = (T)x0;
2278 tpPoints[0].y = (T)y0;
2279 tpPoints[0].z = (T)z0;
2280 tpPoints[1].x = (T)x1;
2281 tpPoints[1].y = (T)y1;
2282 tpPoints[1].z = (T)z1;
2283 }
2284
2304 void Set(int16_t x0, int16_t y0, int16_t z0, int16_t x1, int16_t y1, int16_t z1)
2305 {
2306 tpPoints[0].x = (T)x0;
2307 tpPoints[0].y = (T)y0;
2308 tpPoints[0].z = (T)z0;
2309 tpPoints[1].x = (T)x1;
2310 tpPoints[1].y = (T)y1;
2311 tpPoints[1].z = (T)z1;
2312 }
2313
2333 void Set(uint16_t x0, uint16_t y0, uint16_t z0, uint16_t x1, uint16_t y1, uint16_t z1)
2334 {
2335 tpPoints[0].x = (T)x0;
2336 tpPoints[0].y = (T)y0;
2337 tpPoints[0].z = (T)z0;
2338 tpPoints[1].x = (T)x1;
2339 tpPoints[1].y = (T)y1;
2340 tpPoints[1].z = (T)z1;
2341 }
2342
2362 void Set(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1)
2363 {
2364 tpPoints[0].x = (T)x0;
2365 tpPoints[0].y = (T)y0;
2366 tpPoints[0].z = (T)z0;
2367 tpPoints[1].x = (T)x1;
2368 tpPoints[1].y = (T)y1;
2369 tpPoints[1].z = (T)z1;
2370 }
2371
2391 void Set(uint32_t x0, uint32_t y0, uint32_t z0, uint32_t x1, uint32_t y1, uint32_t z1)
2392 {
2393 tpPoints[0].x = (T)x0;
2394 tpPoints[0].y = (T)y0;
2395 tpPoints[0].z = (T)z0;
2396 tpPoints[1].x = (T)x1;
2397 tpPoints[1].y = (T)y1;
2398 tpPoints[1].z = (T)z1;
2399 }
2400
2420 void Set(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1)
2421 {
2422 tpPoints[0].x = (T)x0;
2423 tpPoints[0].y = (T)y0;
2424 tpPoints[0].z = (T)z0;
2425 tpPoints[1].x = (T)x1;
2426 tpPoints[1].y = (T)y1;
2427 tpPoints[1].z = (T)z1;
2428 }
2429
2449 void Set(uint64_t x0, uint64_t y0, uint64_t z0, uint64_t x1, uint64_t y1, uint64_t z1)
2450 {
2451 tpPoints[0].x = (T)x0;
2452 tpPoints[0].y = (T)y0;
2453 tpPoints[0].z = (T)z0;
2454 tpPoints[1].x = (T)x1;
2455 tpPoints[1].y = (T)y1;
2456 tpPoints[1].z = (T)z1;
2457 }
2458
2478 void Set(float x0, float y0, float z0, float x1, float y1, float z1)
2479 {
2480 tpPoints[0].x = (T)x0;
2481 tpPoints[0].y = (T)y0;
2482 tpPoints[0].z = (T)z0;
2483 tpPoints[1].x = (T)x1;
2484 tpPoints[1].y = (T)y1;
2485 tpPoints[1].z = (T)z1;
2486 }
2487
2507 void Set(double x0, double y0, double z0, double x1, double y1, double z1)
2508 {
2509 tpPoints[0].x = (T)x0;
2510 tpPoints[0].y = (T)y0;
2511 tpPoints[0].z = (T)z0;
2512 tpPoints[1].x = (T)x1;
2513 tpPoints[1].y = (T)y1;
2514 tpPoints[1].z = (T)z1;
2515 }
2516
2528 const TLine3<T>& operator=(int32_t value)
2529 {
2530 tpPoints[0].x = tpPoints[0].y = tpPoints[0].z = tpPoints[1].x = tpPoints[1].y = tpPoints[1].z = (T)value;
2531
2532 return *this;
2533 }
2534
2546 const TLine3<T>& operator=(int64_t value)
2547 {
2548 tpPoints[0].x = tpPoints[0].y = tpPoints[0].z = tpPoints[1].x = tpPoints[1].y = tpPoints[1].z = (T)value;
2549
2550 return *this;
2551 }
2552
2564 const TLine3<T>& operator=(float value)
2565 {
2566 tpPoints[0].x = tpPoints[0].y = tpPoints[0].z = tpPoints[1].x = tpPoints[1].y = tpPoints[1].z = (T)value;
2567
2568 return *this;
2569 }
2570
2582 const TLine3<T>& operator=(double value)
2583 {
2584 tpPoints[0].x = tpPoints[0].y = tpPoints[0].z = tpPoints[1].x = tpPoints[1].y = tpPoints[1].z = (T)value;
2585
2586 return *this;
2587 }
2588
2603 {
2604 tpPoints[0].x = tpPoints[1].x = (T)tp.x;
2605 tpPoints[0].y = tpPoints[1].y = (T)tp.y;
2606 tpPoints[0].z = tpPoints[1].z = (T)tp.z;
2607
2608 return *this;
2609 }
2610
2625 {
2626 tpPoints[0].x = tpPoints[1].x = (T)tp.x;
2627 tpPoints[0].y = tpPoints[1].y = (T)tp.y;
2628 tpPoints[0].z = tpPoints[1].z = (T)tp.z;
2629
2630 return *this;
2631 }
2632
2647 {
2648 tpPoints[0].x = tpPoints[1].x = (T)tp.x;
2649 tpPoints[0].y = tpPoints[1].y = (T)tp.y;
2650 tpPoints[0].z = tpPoints[1].z = (T)tp.z;
2651
2652 return *this;
2653 }
2654
2669 {
2670 tpPoints[0].x = tpPoints[1].x = (T)tp.x;
2671 tpPoints[0].y = tpPoints[1].y = (T)tp.y;
2672 tpPoints[0].z = tpPoints[1].z = (T)tp.z;
2673
2674 return *this;
2675 }
2676
2689 {
2690 tpPoints[0].x = (T)tl.tpPoints[0].x;
2691 tpPoints[0].y = (T)tl.tpPoints[0].y;
2692 tpPoints[0].z = (T)tl.tpPoints[0].z;
2693 tpPoints[1].x = (T)tl.tpPoints[1].x;
2694 tpPoints[1].y = (T)tl.tpPoints[1].y;
2695 tpPoints[1].z = (T)tl.tpPoints[1].z;
2696
2697 return *this;
2698 }
2699
2712 {
2713 tpPoints[0].x = (T)tl.tpPoints[0].x;
2714 tpPoints[0].y = (T)tl.tpPoints[0].y;
2715 tpPoints[0].z = (T)tl.tpPoints[0].z;
2716 tpPoints[1].x = (T)tl.tpPoints[1].x;
2717 tpPoints[1].y = (T)tl.tpPoints[1].y;
2718 tpPoints[1].z = (T)tl.tpPoints[1].z;
2719
2720 return *this;
2721 }
2722
2735 {
2736 tpPoints[0].x = (T)tl.tpPoints[0].x;
2737 tpPoints[0].y = (T)tl.tpPoints[0].y;
2738 tpPoints[0].z = (T)tl.tpPoints[0].z;
2739 tpPoints[1].x = (T)tl.tpPoints[1].x;
2740 tpPoints[1].y = (T)tl.tpPoints[1].y;
2741 tpPoints[1].z = (T)tl.tpPoints[1].z;
2742
2743 return *this;
2744 }
2745
2758 {
2759 tpPoints[0].x = (T)tl.tpPoints[0].x;
2760 tpPoints[0].y = (T)tl.tpPoints[0].y;
2761 tpPoints[0].z = (T)tl.tpPoints[0].z;
2762 tpPoints[1].x = (T)tl.tpPoints[1].x;
2763 tpPoints[1].y = (T)tl.tpPoints[1].y;
2764 tpPoints[1].z = (T)tl.tpPoints[1].z;
2765
2766 return *this;
2767 }
2768
2780 bool operator==(const TLine3<int32_t>& tl) const
2781 {
2782 return tpPoints[0].x == (T)tl.tpPoints[0].x && tpPoints[0].y == (T)tl.tpPoints[0].y && tpPoints[0].z == (T)tl.tpPoints[0].z && tpPoints[1].x == (T)tl.tpPoints[1].x && tpPoints[1].y == (T)tl.tpPoints[1].y && tpPoints[1].z == (T)tl.tpPoints[1].z;
2783 }
2784
2796 bool operator==(const TLine3<int64_t>& tl) const
2797 {
2798 return tpPoints[0].x == (T)tl.tpPoints[0].x && tpPoints[0].y == (T)tl.tpPoints[0].y && tpPoints[0].z == (T)tl.tpPoints[0].z && tpPoints[1].x == (T)tl.tpPoints[1].x && tpPoints[1].y == (T)tl.tpPoints[1].y && tpPoints[1].z == (T)tl.tpPoints[1].z;
2799 }
2800
2812 bool operator==(const TLine3<float>& tl) const
2813 {
2814 return tpPoints[0].x == (T)tl.tpPoints[0].x && tpPoints[0].y == (T)tl.tpPoints[0].y && tpPoints[0].z == (T)tl.tpPoints[0].z && tpPoints[1].x == (T)tl.tpPoints[1].x && tpPoints[1].y == (T)tl.tpPoints[1].y && tpPoints[1].z == (T)tl.tpPoints[1].z;
2815 }
2816
2828 bool operator==(const TLine3<double>& tl) const
2829 {
2830 return tpPoints[0].x == (T)tl.tpPoints[0].x && tpPoints[0].y == (T)tl.tpPoints[0].y && tpPoints[0].z == (T)tl.tpPoints[0].z && tpPoints[1].x == (T)tl.tpPoints[1].x && tpPoints[1].y == (T)tl.tpPoints[1].y && tpPoints[1].z == (T)tl.tpPoints[1].z;
2831 }
2832
2844 bool operator!=(const TLine3<int32_t>& tl) const
2845 {
2846 return tpPoints[0].x != (T)tl.tpPoints[0].x || tpPoints[0].y != (T)tl.tpPoints[0].y || tpPoints[0].z != (T)tl.tpPoints[0].z || tpPoints[1].x != (T)tl.tpPoints[1].x || tpPoints[1].y != (T)tl.tpPoints[1].y || tpPoints[1].z != (T)tl.tpPoints[1].z;
2847 }
2848
2860 bool operator!=(const TLine3<int64_t>& tl) const
2861 {
2862 return tpPoints[0].x != (T)tl.tpPoints[0].x || tpPoints[0].y != (T)tl.tpPoints[0].y || tpPoints[0].z != (T)tl.tpPoints[0].z || tpPoints[1].x != (T)tl.tpPoints[1].x || tpPoints[1].y != (T)tl.tpPoints[1].y || tpPoints[1].z != (T)tl.tpPoints[1].z;
2863 }
2864
2876 bool operator!=(const TLine3<float>& tl) const
2877 {
2878 return tpPoints[0].x != (T)tl.tpPoints[0].x || tpPoints[0].y != (T)tl.tpPoints[0].y || tpPoints[0].z != (T)tl.tpPoints[0].z || tpPoints[1].x != (T)tl.tpPoints[1].x || tpPoints[1].y != (T)tl.tpPoints[1].y || tpPoints[1].z != (T)tl.tpPoints[1].z;
2879 }
2880
2892 bool operator!=(const TLine3<double>& tl) const
2893 {
2894 return tpPoints[0].x != (T)tl.tpPoints[0].x || tpPoints[0].y != (T)tl.tpPoints[0].y || tpPoints[0].z != (T)tl.tpPoints[0].z || tpPoints[1].x != (T)tl.tpPoints[1].x || tpPoints[1].y != (T)tl.tpPoints[1].y || tpPoints[1].z != (T)tl.tpPoints[1].z;
2895 }
2896
2908 const TLine3<T>& operator+=(int32_t value)
2909 {
2910 tpPoints[0].x += (T)value;
2911 tpPoints[0].y += (T)value;
2912 tpPoints[0].z += (T)value;
2913 tpPoints[1].x += (T)value;
2914 tpPoints[1].y += (T)value;
2915 tpPoints[1].z += (T)value;
2916
2917 return *this;
2918 }
2919
2931 const TLine3<T>& operator+=(int64_t value)
2932 {
2933 tpPoints[0].x += (T)value;
2934 tpPoints[0].y += (T)value;
2935 tpPoints[0].z += (T)value;
2936 tpPoints[1].x += (T)value;
2937 tpPoints[1].y += (T)value;
2938 tpPoints[1].z += (T)value;
2939
2940 return *this;
2941 }
2942
2954 const TLine3<T>& operator+=(float value)
2955 {
2956 tpPoints[0].x += (T)value;
2957 tpPoints[0].y += (T)value;
2958 tpPoints[0].z += (T)value;
2959 tpPoints[1].x += (T)value;
2960 tpPoints[1].y += (T)value;
2961 tpPoints[1].z += (T)value;
2962
2963 return *this;
2964 }
2965
2977 const TLine3<T>& operator+=(double value)
2978 {
2979 tpPoints[0].x += (T)value;
2980 tpPoints[0].y += (T)value;
2981 tpPoints[0].z += (T)value;
2982 tpPoints[1].x += (T)value;
2983 tpPoints[1].y += (T)value;
2984 tpPoints[1].z += (T)value;
2985
2986 return *this;
2987 }
2988
3003 {
3004 tpPoints[0].x += (T)tp.x;
3005 tpPoints[0].y += (T)tp.y;
3006 tpPoints[0].z += (T)tp.z;
3007 tpPoints[1].x += (T)tp.x;
3008 tpPoints[1].y += (T)tp.y;
3009 tpPoints[1].z += (T)tp.z;
3010
3011 return *this;
3012 }
3013
3028 {
3029 tpPoints[0].x += (T)tp.x;
3030 tpPoints[0].y += (T)tp.y;
3031 tpPoints[0].z += (T)tp.z;
3032 tpPoints[1].x += (T)tp.x;
3033 tpPoints[1].y += (T)tp.y;
3034 tpPoints[1].z += (T)tp.z;
3035
3036 return *this;
3037 }
3038
3053 {
3054 tpPoints[0].x += (T)tp.x;
3055 tpPoints[0].y += (T)tp.y;
3056 tpPoints[0].z += (T)tp.z;
3057 tpPoints[1].x += (T)tp.x;
3058 tpPoints[1].y += (T)tp.y;
3059 tpPoints[1].z += (T)tp.z;
3060
3061 return *this;
3062 }
3063
3078 {
3079 tpPoints[0].x += (T)tp.x;
3080 tpPoints[0].y += (T)tp.y;
3081 tpPoints[0].z += (T)tp.z;
3082 tpPoints[1].x += (T)tp.x;
3083 tpPoints[1].y += (T)tp.y;
3084 tpPoints[1].z += (T)tp.z;
3085
3086 return *this;
3087 }
3088
3101 {
3102 tpPoints[0].x += (T)tl.tpPoints[0].x;
3103 tpPoints[0].y += (T)tl.tpPoints[0].y;
3104 tpPoints[0].z += (T)tl.tpPoints[0].z;
3105 tpPoints[1].x += (T)tl.tpPoints[1].x;
3106 tpPoints[1].y += (T)tl.tpPoints[1].y;
3107 tpPoints[1].z += (T)tl.tpPoints[1].z;
3108
3109 return *this;
3110 }
3111
3124 {
3125 tpPoints[0].x += (T)tl.tpPoints[0].x;
3126 tpPoints[0].y += (T)tl.tpPoints[0].y;
3127 tpPoints[0].z += (T)tl.tpPoints[0].z;
3128 tpPoints[1].x += (T)tl.tpPoints[1].x;
3129 tpPoints[1].y += (T)tl.tpPoints[1].y;
3130 tpPoints[1].z += (T)tl.tpPoints[1].z;
3131
3132 return *this;
3133 }
3134
3147 {
3148 tpPoints[0].x += (T)tl.tpPoints[0].x;
3149 tpPoints[0].y += (T)tl.tpPoints[0].y;
3150 tpPoints[0].z += (T)tl.tpPoints[0].z;
3151 tpPoints[1].x += (T)tl.tpPoints[1].x;
3152 tpPoints[1].y += (T)tl.tpPoints[1].y;
3153 tpPoints[1].z += (T)tl.tpPoints[1].z;
3154
3155 return *this;
3156 }
3157
3170 {
3171 tpPoints[0].x += (T)tl.tpPoints[0].x;
3172 tpPoints[0].y += (T)tl.tpPoints[0].y;
3173 tpPoints[0].z += (T)tl.tpPoints[0].z;
3174 tpPoints[1].x += (T)tl.tpPoints[1].x;
3175 tpPoints[1].y += (T)tl.tpPoints[1].y;
3176 tpPoints[1].z += (T)tl.tpPoints[1].z;
3177
3178 return *this;
3179 }
3180
3192 const TLine3<T>& operator-=(int32_t value)
3193 {
3194 tpPoints[0].x -= (T)value;
3195 tpPoints[0].y -= (T)value;
3196 tpPoints[0].z -= (T)value;
3197 tpPoints[1].x -= (T)value;
3198 tpPoints[1].y -= (T)value;
3199 tpPoints[1].z -= (T)value;
3200
3201 return *this;
3202 }
3203
3215 const TLine3<T>& operator-=(int64_t value)
3216 {
3217 tpPoints[0].x -= (T)value;
3218 tpPoints[0].y -= (T)value;
3219 tpPoints[0].z -= (T)value;
3220 tpPoints[1].x -= (T)value;
3221 tpPoints[1].y -= (T)value;
3222 tpPoints[1].z -= (T)value;
3223
3224 return *this;
3225 }
3226
3238 const TLine3<T>& operator-=(float value)
3239 {
3240 tpPoints[0].x -= (T)value;
3241 tpPoints[0].y -= (T)value;
3242 tpPoints[0].z -= (T)value;
3243 tpPoints[1].x -= (T)value;
3244 tpPoints[1].y -= (T)value;
3245 tpPoints[1].z -= (T)value;
3246
3247 return *this;
3248 }
3249
3261 const TLine3<T>& operator-=(double value)
3262 {
3263 tpPoints[0].x -= (T)value;
3264 tpPoints[0].y -= (T)value;
3265 tpPoints[0].z -= (T)value;
3266 tpPoints[1].x -= (T)value;
3267 tpPoints[1].y -= (T)value;
3268 tpPoints[1].z -= (T)value;
3269
3270 return *this;
3271 }
3272
3287 {
3288 tpPoints[0].x -= (T)tp.x;
3289 tpPoints[0].y -= (T)tp.y;
3290 tpPoints[0].z -= (T)tp.z;
3291 tpPoints[1].x -= (T)tp.x;
3292 tpPoints[1].y -= (T)tp.y;
3293 tpPoints[1].z -= (T)tp.z;
3294
3295 return *this;
3296 }
3297
3312 {
3313 tpPoints[0].x -= (T)tp.x;
3314 tpPoints[0].y -= (T)tp.y;
3315 tpPoints[0].z -= (T)tp.z;
3316 tpPoints[1].x -= (T)tp.x;
3317 tpPoints[1].y -= (T)tp.y;
3318 tpPoints[1].z -= (T)tp.z;
3319
3320 return *this;
3321 }
3322
3337 {
3338 tpPoints[0].x -= (T)tp.x;
3339 tpPoints[0].y -= (T)tp.y;
3340 tpPoints[0].z -= (T)tp.z;
3341 tpPoints[1].x -= (T)tp.x;
3342 tpPoints[1].y -= (T)tp.y;
3343 tpPoints[1].z -= (T)tp.z;
3344
3345 return *this;
3346 }
3347
3362 {
3363 tpPoints[0].x -= (T)tp.x;
3364 tpPoints[0].y -= (T)tp.y;
3365 tpPoints[0].z -= (T)tp.z;
3366 tpPoints[1].x -= (T)tp.x;
3367 tpPoints[1].y -= (T)tp.y;
3368 tpPoints[1].z -= (T)tp.z;
3369
3370 return *this;
3371 }
3372
3385 {
3386 tpPoints[0].x -= (T)tl.tpPoints[0].x;
3387 tpPoints[0].y -= (T)tl.tpPoints[0].y;
3388 tpPoints[0].z -= (T)tl.tpPoints[0].z;
3389 tpPoints[1].x -= (T)tl.tpPoints[1].x;
3390 tpPoints[1].y -= (T)tl.tpPoints[1].y;
3391 tpPoints[1].z -= (T)tl.tpPoints[1].z;
3392
3393 return *this;
3394 }
3395
3408 {
3409 tpPoints[0].x -= (T)tl.tpPoints[0].x;
3410 tpPoints[0].y -= (T)tl.tpPoints[0].y;
3411 tpPoints[0].z -= (T)tl.tpPoints[0].z;
3412 tpPoints[1].x -= (T)tl.tpPoints[1].x;
3413 tpPoints[1].y -= (T)tl.tpPoints[1].y;
3414 tpPoints[1].z -= (T)tl.tpPoints[1].z;
3415
3416 return *this;
3417 }
3418
3431 {
3432 tpPoints[0].x -= (T)tl.tpPoints[0].x;
3433 tpPoints[0].y -= (T)tl.tpPoints[0].y;
3434 tpPoints[0].z -= (T)tl.tpPoints[0].z;
3435 tpPoints[1].x -= (T)tl.tpPoints[1].x;
3436 tpPoints[1].y -= (T)tl.tpPoints[1].y;
3437 tpPoints[1].z -= (T)tl.tpPoints[1].z;
3438
3439 return *this;
3440 }
3441
3454 {
3455 tpPoints[0].x -= (T)tl.tpPoints[0].x;
3456 tpPoints[0].y -= (T)tl.tpPoints[0].y;
3457 tpPoints[0].z -= (T)tl.tpPoints[0].z;
3458 tpPoints[1].x -= (T)tl.tpPoints[1].x;
3459 tpPoints[1].y -= (T)tl.tpPoints[1].y;
3460 tpPoints[1].z -= (T)tl.tpPoints[1].z;
3461
3462 return *this;
3463 }
3464
3476 const TLine3<T>& operator*=(int32_t value)
3477 {
3478 tpPoints[0].x *= (T)value;
3479 tpPoints[0].y *= (T)value;
3480 tpPoints[0].z *= (T)value;
3481 tpPoints[1].x *= (T)value;
3482 tpPoints[1].y *= (T)value;
3483 tpPoints[1].z *= (T)value;
3484
3485 return *this;
3486 }
3487
3499 const TLine3<T>& operator*=(int64_t value)
3500 {
3501 tpPoints[0].x *= (T)value;
3502 tpPoints[0].y *= (T)value;
3503 tpPoints[0].z *= (T)value;
3504 tpPoints[1].x *= (T)value;
3505 tpPoints[1].y *= (T)value;
3506 tpPoints[1].z *= (T)value;
3507
3508 return *this;
3509 }
3510
3522 const TLine3<T>& operator*=(float value)
3523 {
3524 tpPoints[0].x *= (T)value;
3525 tpPoints[0].y *= (T)value;
3526 tpPoints[0].z *= (T)value;
3527 tpPoints[1].x *= (T)value;
3528 tpPoints[1].y *= (T)value;
3529 tpPoints[1].z *= (T)value;
3530
3531 return *this;
3532 }
3533
3545 const TLine3<T>& operator*=(double value)
3546 {
3547 tpPoints[0].x *= (T)value;
3548 tpPoints[0].y *= (T)value;
3549 tpPoints[0].z *= (T)value;
3550 tpPoints[1].x *= (T)value;
3551 tpPoints[1].y *= (T)value;
3552 tpPoints[1].z *= (T)value;
3553
3554 return *this;
3555 }
3556
3571 {
3572 tpPoints[0].x *= (T)tp.x;
3573 tpPoints[0].y *= (T)tp.y;
3574 tpPoints[0].z *= (T)tp.z;
3575 tpPoints[1].x *= (T)tp.x;
3576 tpPoints[1].y *= (T)tp.y;
3577 tpPoints[1].z *= (T)tp.z;
3578
3579 return *this;
3580 }
3581
3596 {
3597 tpPoints[0].x *= (T)tp.x;
3598 tpPoints[0].y *= (T)tp.y;
3599 tpPoints[0].z *= (T)tp.z;
3600 tpPoints[1].x *= (T)tp.x;
3601 tpPoints[1].y *= (T)tp.y;
3602 tpPoints[1].z *= (T)tp.z;
3603
3604 return *this;
3605 }
3606
3621 {
3622 tpPoints[0].x *= (T)tp.x;
3623 tpPoints[0].y *= (T)tp.y;
3624 tpPoints[0].z *= (T)tp.z;
3625 tpPoints[1].x *= (T)tp.x;
3626 tpPoints[1].y *= (T)tp.y;
3627 tpPoints[1].z *= (T)tp.z;
3628
3629 return *this;
3630 }
3631
3646 {
3647 tpPoints[0].x *= (T)tp.x;
3648 tpPoints[0].y *= (T)tp.y;
3649 tpPoints[0].z *= (T)tp.z;
3650 tpPoints[1].x *= (T)tp.x;
3651 tpPoints[1].y *= (T)tp.y;
3652 tpPoints[1].z *= (T)tp.z;
3653
3654 return *this;
3655 }
3656
3669 {
3670 tpPoints[0].x *= (T)tl.tpPoints[0].x;
3671 tpPoints[0].y *= (T)tl.tpPoints[0].y;
3672 tpPoints[0].z *= (T)tl.tpPoints[0].z;
3673 tpPoints[1].x *= (T)tl.tpPoints[1].x;
3674 tpPoints[1].y *= (T)tl.tpPoints[1].y;
3675 tpPoints[1].z *= (T)tl.tpPoints[1].z;
3676
3677 return *this;
3678 }
3679
3692 {
3693 tpPoints[0].x *= (T)tl.tpPoints[0].x;
3694 tpPoints[0].y *= (T)tl.tpPoints[0].y;
3695 tpPoints[0].z *= (T)tl.tpPoints[0].z;
3696 tpPoints[1].x *= (T)tl.tpPoints[1].x;
3697 tpPoints[1].y *= (T)tl.tpPoints[1].y;
3698 tpPoints[1].z *= (T)tl.tpPoints[1].z;
3699
3700 return *this;
3701 }
3702
3715 {
3716 tpPoints[0].x *= (T)tl.tpPoints[0].x;
3717 tpPoints[0].y *= (T)tl.tpPoints[0].y;
3718 tpPoints[0].z *= (T)tl.tpPoints[0].z;
3719 tpPoints[1].x *= (T)tl.tpPoints[1].x;
3720 tpPoints[1].y *= (T)tl.tpPoints[1].y;
3721 tpPoints[1].z *= (T)tl.tpPoints[1].z;
3722
3723 return *this;
3724 }
3725
3738 {
3739 tpPoints[0].x *= (T)tl.tpPoints[0].x;
3740 tpPoints[0].y *= (T)tl.tpPoints[0].y;
3741 tpPoints[0].z *= (T)tl.tpPoints[0].z;
3742 tpPoints[1].x *= (T)tl.tpPoints[1].x;
3743 tpPoints[1].y *= (T)tl.tpPoints[1].y;
3744 tpPoints[1].z *= (T)tl.tpPoints[1].z;
3745
3746 return *this;
3747 }
3748
3760 const TLine3<T>& operator/=(int32_t value)
3761 {
3762 tpPoints[0].x /= (T)value;
3763 tpPoints[0].y /= (T)value;
3764 tpPoints[0].z /= (T)value;
3765 tpPoints[1].x /= (T)value;
3766 tpPoints[1].y /= (T)value;
3767 tpPoints[1].z /= (T)value;
3768
3769 return *this;
3770 }
3771
3783 const TLine3<T>& operator/=(int64_t value)
3784 {
3785 tpPoints[0].x /= (T)value;
3786 tpPoints[0].y /= (T)value;
3787 tpPoints[0].z /= (T)value;
3788 tpPoints[1].x /= (T)value;
3789 tpPoints[1].y /= (T)value;
3790 tpPoints[1].z /= (T)value;
3791
3792 return *this;
3793 }
3794
3806 const TLine3<T>& operator/=(float value)
3807 {
3808 tpPoints[0].x /= (T)value;
3809 tpPoints[0].y /= (T)value;
3810 tpPoints[0].z /= (T)value;
3811 tpPoints[1].x /= (T)value;
3812 tpPoints[1].y /= (T)value;
3813 tpPoints[1].z /= (T)value;
3814
3815 return *this;
3816 }
3817
3829 const TLine3<T>& operator/=(double value)
3830 {
3831 tpPoints[0].x /= (T)value;
3832 tpPoints[0].y /= (T)value;
3833 tpPoints[0].z /= (T)value;
3834 tpPoints[1].x /= (T)value;
3835 tpPoints[1].y /= (T)value;
3836 tpPoints[1].z /= (T)value;
3837
3838 return *this;
3839 }
3840
3855 {
3856 tpPoints[0].x /= (T)tp.x;
3857 tpPoints[0].y /= (T)tp.y;
3858 tpPoints[0].z /= (T)tp.z;
3859 tpPoints[1].x /= (T)tp.x;
3860 tpPoints[1].y /= (T)tp.y;
3861 tpPoints[1].z /= (T)tp.z;
3862
3863 return *this;
3864 }
3865
3880 {
3881 tpPoints[0].x /= (T)tp.x;
3882 tpPoints[0].y /= (T)tp.y;
3883 tpPoints[0].z /= (T)tp.z;
3884 tpPoints[1].x /= (T)tp.x;
3885 tpPoints[1].y /= (T)tp.y;
3886 tpPoints[1].z /= (T)tp.z;
3887
3888 return *this;
3889 }
3890
3905 {
3906 tpPoints[0].x /= (T)tp.x;
3907 tpPoints[0].y /= (T)tp.y;
3908 tpPoints[0].z /= (T)tp.z;
3909 tpPoints[1].x /= (T)tp.x;
3910 tpPoints[1].y /= (T)tp.y;
3911 tpPoints[1].z /= (T)tp.z;
3912
3913 return *this;
3914 }
3915
3930 {
3931 tpPoints[0].x /= (T)tp.x;
3932 tpPoints[0].y /= (T)tp.y;
3933 tpPoints[0].z /= (T)tp.z;
3934 tpPoints[1].x /= (T)tp.x;
3935 tpPoints[1].y /= (T)tp.y;
3936 tpPoints[1].z /= (T)tp.z;
3937
3938 return *this;
3939 }
3940
3953 {
3954 tpPoints[0].x /= (T)tl.tpPoints[0].x;
3955 tpPoints[0].y /= (T)tl.tpPoints[0].y;
3956 tpPoints[0].z /= (T)tl.tpPoints[0].z;
3957 tpPoints[1].x /= (T)tl.tpPoints[1].x;
3958 tpPoints[1].y /= (T)tl.tpPoints[1].y;
3959 tpPoints[1].z /= (T)tl.tpPoints[1].z;
3960
3961 return *this;
3962 }
3963
3976 {
3977 tpPoints[0].x /= (T)tl.tpPoints[0].x;
3978 tpPoints[0].y /= (T)tl.tpPoints[0].y;
3979 tpPoints[0].z /= (T)tl.tpPoints[0].z;
3980 tpPoints[1].x /= (T)tl.tpPoints[1].x;
3981 tpPoints[1].y /= (T)tl.tpPoints[1].y;
3982 tpPoints[1].z /= (T)tl.tpPoints[1].z;
3983
3984 return *this;
3985 }
3986
3999 {
4000 tpPoints[0].x /= (T)tl.tpPoints[0].x;
4001 tpPoints[0].y /= (T)tl.tpPoints[0].y;
4002 tpPoints[0].z /= (T)tl.tpPoints[0].z;
4003 tpPoints[1].x /= (T)tl.tpPoints[1].x;
4004 tpPoints[1].y /= (T)tl.tpPoints[1].y;
4005 tpPoints[1].z /= (T)tl.tpPoints[1].z;
4006
4007 return *this;
4008 }
4009
4022 {
4023 tpPoints[0].x /= (T)tl.tpPoints[0].x;
4024 tpPoints[0].y /= (T)tl.tpPoints[0].y;
4025 tpPoints[0].z /= (T)tl.tpPoints[0].z;
4026 tpPoints[1].x /= (T)tl.tpPoints[1].x;
4027 tpPoints[1].y /= (T)tl.tpPoints[1].y;
4028 tpPoints[1].z /= (T)tl.tpPoints[1].z;
4029
4030 return *this;
4031 }
4032
4044 TLine3<T> operator+(int32_t value) const
4045 {
4046 TLine3<T> tlReturn;
4047 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)value;
4048 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)value;
4049 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)value;
4050 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)value;
4051 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)value;
4052 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)value;
4053
4054 return tlReturn;
4055 }
4056
4068 TLine3<T> operator+(int64_t value) const
4069 {
4070 TLine3<T> tlReturn;
4071 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)value;
4072 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)value;
4073 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)value;
4074 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)value;
4075 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)value;
4076 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)value;
4077
4078 return tlReturn;
4079 }
4080
4092 TLine3<T> operator+(float value) const
4093 {
4094 TLine3<T> tlReturn;
4095 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)value;
4096 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)value;
4097 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)value;
4098 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)value;
4099 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)value;
4100 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)value;
4101
4102 return tlReturn;
4103 }
4104
4116 TLine3<T> operator+(double value) const
4117 {
4118 TLine3<T> tlReturn;
4119 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)value;
4120 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)value;
4121 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)value;
4122 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)value;
4123 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)value;
4124 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)value;
4125
4126 return tlReturn;
4127 }
4128
4143 {
4144 TLine3<T> tlReturn;
4145 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tp.x;
4146 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tp.y;
4147 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tp.z;
4148 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tp.x;
4149 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tp.y;
4150 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tp.z;
4151
4152 return tlReturn;
4153 }
4154
4169 {
4170 TLine3<T> tlReturn;
4171 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tp.x;
4172 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tp.y;
4173 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tp.z;
4174 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tp.x;
4175 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tp.y;
4176 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tp.z;
4177
4178 return tlReturn;
4179 }
4180
4195 {
4196 TLine3<T> tlReturn;
4197 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tp.x;
4198 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tp.y;
4199 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tp.z;
4200 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tp.x;
4201 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tp.y;
4202 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tp.z;
4203
4204 return tlReturn;
4205 }
4206
4221 {
4222 TLine3<T> tlReturn;
4223 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tp.x;
4224 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tp.y;
4225 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tp.z;
4226 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tp.x;
4227 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tp.y;
4228 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tp.z;
4229
4230 return tlReturn;
4231 }
4232
4245 {
4246 TLine3<T> tlReturn;
4247 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tl.tpPoints[0].x;
4248 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tl.tpPoints[0].y;
4249 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tl.tpPoints[0].z;
4250 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tl.tpPoints[1].x;
4251 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tl.tpPoints[1].y;
4252 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tl.tpPoints[1].z;
4253
4254 return tlReturn;
4255 }
4256
4269 {
4270 TLine3<T> tlReturn;
4271 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tl.tpPoints[0].x;
4272 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tl.tpPoints[0].y;
4273 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tl.tpPoints[0].z;
4274 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tl.tpPoints[1].x;
4275 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tl.tpPoints[1].y;
4276 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tl.tpPoints[1].z;
4277
4278 return tlReturn;
4279 }
4280
4293 {
4294 TLine3<T> tlReturn;
4295 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tl.tpPoints[0].x;
4296 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tl.tpPoints[0].y;
4297 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tl.tpPoints[0].z;
4298 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tl.tpPoints[1].x;
4299 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tl.tpPoints[1].y;
4300 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tl.tpPoints[1].z;
4301
4302 return tlReturn;
4303 }
4304
4317 {
4318 TLine3<T> tlReturn;
4319 tlReturn.tpPoints[0].x = tpPoints[0].x + (T)tl.tpPoints[0].x;
4320 tlReturn.tpPoints[0].y = tpPoints[0].y + (T)tl.tpPoints[0].y;
4321 tlReturn.tpPoints[0].z = tpPoints[0].z + (T)tl.tpPoints[0].z;
4322 tlReturn.tpPoints[1].x = tpPoints[1].x + (T)tl.tpPoints[1].x;
4323 tlReturn.tpPoints[1].y = tpPoints[1].y + (T)tl.tpPoints[1].y;
4324 tlReturn.tpPoints[1].z = tpPoints[1].z + (T)tl.tpPoints[1].z;
4325
4326 return tlReturn;
4327 }
4328
4340 TLine3<T> operator-(int32_t value) const
4341 {
4342 TLine3<T> tlReturn;
4343 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)value;
4344 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)value;
4345 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)value;
4346 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)value;
4347 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)value;
4348 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)value;
4349
4350 return tlReturn;
4351 }
4352
4364 TLine3<T> operator-(int64_t value) const
4365 {
4366 TLine3<T> tlReturn;
4367 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)value;
4368 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)value;
4369 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)value;
4370 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)value;
4371 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)value;
4372 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)value;
4373
4374 return tlReturn;
4375 }
4376
4388 TLine3<T> operator-(float value) const
4389 {
4390 TLine3<T> tlReturn;
4391 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)value;
4392 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)value;
4393 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)value;
4394 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)value;
4395 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)value;
4396 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)value;
4397
4398 return tlReturn;
4399 }
4400
4412 TLine3<T> operator-(double value) const
4413 {
4414 TLine3<T> tlReturn;
4415 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)value;
4416 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)value;
4417 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)value;
4418 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)value;
4419 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)value;
4420 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)value;
4421
4422 return tlReturn;
4423 }
4424
4439 {
4440 TLine3<T> tlReturn;
4441 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tp.x;
4442 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tp.y;
4443 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tp.z;
4444 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tp.x;
4445 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tp.y;
4446 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tp.z;
4447
4448 return tlReturn;
4449 }
4450
4465 {
4466 TLine3<T> tlReturn;
4467 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tp.x;
4468 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tp.y;
4469 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tp.z;
4470 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tp.x;
4471 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tp.y;
4472 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tp.z;
4473
4474 return tlReturn;
4475 }
4476
4491 {
4492 TLine3<T> tlReturn;
4493 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tp.x;
4494 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tp.y;
4495 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tp.z;
4496 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tp.x;
4497 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tp.y;
4498 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tp.z;
4499
4500 return tlReturn;
4501 }
4502
4517 {
4518 TLine3<T> tlReturn;
4519 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tp.x;
4520 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tp.y;
4521 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tp.z;
4522 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tp.x;
4523 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tp.y;
4524 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tp.z;
4525
4526 return tlReturn;
4527 }
4528
4541 {
4542 TLine3<T> tlReturn;
4543 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tl.tpPoints[0].x;
4544 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tl.tpPoints[0].y;
4545 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tl.tpPoints[0].z;
4546 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tl.tpPoints[1].x;
4547 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tl.tpPoints[1].y;
4548 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tl.tpPoints[1].z;
4549
4550 return tlReturn;
4551 }
4552
4565 {
4566 TLine3<T> tlReturn;
4567 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tl.tpPoints[0].x;
4568 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tl.tpPoints[0].y;
4569 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tl.tpPoints[0].z;
4570 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tl.tpPoints[1].x;
4571 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tl.tpPoints[1].y;
4572 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tl.tpPoints[1].z;
4573
4574 return tlReturn;
4575 }
4576
4589 {
4590 TLine3<T> tlReturn;
4591 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tl.tpPoints[0].x;
4592 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tl.tpPoints[0].y;
4593 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tl.tpPoints[0].z;
4594 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tl.tpPoints[1].x;
4595 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tl.tpPoints[1].y;
4596 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tl.tpPoints[1].z;
4597
4598 return tlReturn;
4599 }
4600
4613 {
4614 TLine3<T> tlReturn;
4615 tlReturn.tpPoints[0].x = tpPoints[0].x - (T)tl.tpPoints[0].x;
4616 tlReturn.tpPoints[0].y = tpPoints[0].y - (T)tl.tpPoints[0].y;
4617 tlReturn.tpPoints[0].z = tpPoints[0].z - (T)tl.tpPoints[0].z;
4618 tlReturn.tpPoints[1].x = tpPoints[1].x - (T)tl.tpPoints[1].x;
4619 tlReturn.tpPoints[1].y = tpPoints[1].y - (T)tl.tpPoints[1].y;
4620 tlReturn.tpPoints[1].z = tpPoints[1].z - (T)tl.tpPoints[1].z;
4621
4622 return tlReturn;
4623 }
4624
4636 TLine3<T> operator*(int32_t value) const
4637 {
4638 TLine3<T> tlReturn;
4639 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)value;
4640 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)value;
4641 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)value;
4642 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)value;
4643 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)value;
4644 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)value;
4645
4646 return tlReturn;
4647 }
4648
4660 TLine3<T> operator*(int64_t value) const
4661 {
4662 TLine3<T> tlReturn;
4663 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)value;
4664 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)value;
4665 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)value;
4666 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)value;
4667 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)value;
4668 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)value;
4669
4670 return tlReturn;
4671 }
4672
4684 TLine3<T> operator*(float value) const
4685 {
4686 TLine3<T> tlReturn;
4687 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)value;
4688 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)value;
4689 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)value;
4690 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)value;
4691 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)value;
4692 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)value;
4693
4694 return tlReturn;
4695 }
4696
4708 TLine3<T> operator*(double value) const
4709 {
4710 TLine3<T> tlReturn;
4711 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)value;
4712 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)value;
4713 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)value;
4714 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)value;
4715 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)value;
4716 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)value;
4717
4718 return tlReturn;
4719 }
4720
4735 {
4736 TLine3<T> tlReturn;
4737 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tp.x;
4738 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tp.y;
4739 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tp.z;
4740 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tp.x;
4741 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tp.y;
4742 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tp.z;
4743
4744 return tlReturn;
4745 }
4746
4761 {
4762 TLine3<T> tlReturn;
4763 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tp.x;
4764 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tp.y;
4765 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tp.z;
4766 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tp.x;
4767 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tp.y;
4768 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tp.z;
4769
4770 return tlReturn;
4771 }
4772
4787 {
4788 TLine3<T> tlReturn;
4789 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tp.x;
4790 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tp.y;
4791 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tp.z;
4792 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tp.x;
4793 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tp.y;
4794 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tp.z;
4795
4796 return tlReturn;
4797 }
4798
4813 {
4814 TLine3<T> tlReturn;
4815 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tp.x;
4816 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tp.y;
4817 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tp.z;
4818 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tp.x;
4819 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tp.y;
4820 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tp.z;
4821
4822 return tlReturn;
4823 }
4824
4837 {
4838 TLine3<T> tlReturn;
4839 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tl.tpPoints[0].x;
4840 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tl.tpPoints[0].y;
4841 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tl.tpPoints[0].z;
4842 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tl.tpPoints[1].x;
4843 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tl.tpPoints[1].y;
4844 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tl.tpPoints[1].z;
4845
4846 return tlReturn;
4847 }
4848
4861 {
4862 TLine3<T> tlReturn;
4863 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tl.tpPoints[0].x;
4864 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tl.tpPoints[0].y;
4865 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tl.tpPoints[0].z;
4866 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tl.tpPoints[1].x;
4867 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tl.tpPoints[1].y;
4868 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tl.tpPoints[1].z;
4869
4870 return tlReturn;
4871 }
4872
4885 {
4886 TLine3<T> tlReturn;
4887 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tl.tpPoints[0].x;
4888 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tl.tpPoints[0].y;
4889 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tl.tpPoints[0].z;
4890 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tl.tpPoints[1].x;
4891 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tl.tpPoints[1].y;
4892 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tl.tpPoints[1].z;
4893
4894 return tlReturn;
4895 }
4896
4909 {
4910 TLine3<T> tlReturn;
4911 tlReturn.tpPoints[0].x = tpPoints[0].x * (T)tl.tpPoints[0].x;
4912 tlReturn.tpPoints[0].y = tpPoints[0].y * (T)tl.tpPoints[0].y;
4913 tlReturn.tpPoints[0].z = tpPoints[0].z * (T)tl.tpPoints[0].z;
4914 tlReturn.tpPoints[1].x = tpPoints[1].x * (T)tl.tpPoints[1].x;
4915 tlReturn.tpPoints[1].y = tpPoints[1].y * (T)tl.tpPoints[1].y;
4916 tlReturn.tpPoints[1].z = tpPoints[1].z * (T)tl.tpPoints[1].z;
4917
4918 return tlReturn;
4919 }
4920
4932 TLine3<T> operator/(int32_t value) const
4933 {
4934 TLine3<T> tlReturn;
4935 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)value;
4936 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)value;
4937 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)value;
4938 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)value;
4939 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)value;
4940 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)value;
4941
4942 return tlReturn;
4943 }
4944
4956 TLine3<T> operator/(int64_t value) const
4957 {
4958 TLine3<T> tlReturn;
4959 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)value;
4960 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)value;
4961 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)value;
4962 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)value;
4963 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)value;
4964 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)value;
4965
4966 return tlReturn;
4967 }
4968
4980 TLine3<T> operator/(float value) const
4981 {
4982 TLine3<T> tlReturn;
4983 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)value;
4984 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)value;
4985 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)value;
4986 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)value;
4987 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)value;
4988 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)value;
4989
4990 return tlReturn;
4991 }
4992
5004 TLine3<T> operator/(double value) const
5005 {
5006 TLine3<T> tlReturn;
5007 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)value;
5008 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)value;
5009 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)value;
5010 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)value;
5011 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)value;
5012 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)value;
5013
5014 return tlReturn;
5015 }
5016
5031 {
5032 TLine3<T> tlReturn;
5033 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tp.x;
5034 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tp.y;
5035 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tp.z;
5036 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tp.x;
5037 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tp.y;
5038 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tp.z;
5039
5040 return tlReturn;
5041 }
5042
5057 {
5058 TLine3<T> tlReturn;
5059 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tp.x;
5060 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tp.y;
5061 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tp.z;
5062 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tp.x;
5063 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tp.y;
5064 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tp.z;
5065
5066 return tlReturn;
5067 }
5068
5083 {
5084 TLine3<T> tlReturn;
5085 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tp.x;
5086 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tp.y;
5087 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tp.z;
5088 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tp.x;
5089 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tp.y;
5090 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tp.z;
5091
5092 return tlReturn;
5093 }
5094
5109 {
5110 TLine3<T> tlReturn;
5111 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tp.x;
5112 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tp.y;
5113 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tp.z;
5114 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tp.x;
5115 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tp.y;
5116 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tp.z;
5117
5118 return tlReturn;
5119 }
5120
5133 {
5134 TLine3<T> tlReturn;
5135 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tl.tpPoints[0].x;
5136 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tl.tpPoints[0].y;
5137 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tl.tpPoints[0].z;
5138 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tl.tpPoints[1].x;
5139 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tl.tpPoints[1].y;
5140 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tl.tpPoints[1].z;
5141
5142 return tlReturn;
5143 }
5144
5157 {
5158 TLine3<T> tlReturn;
5159 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tl.tpPoints[0].x;
5160 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tl.tpPoints[0].y;
5161 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tl.tpPoints[0].z;
5162 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tl.tpPoints[1].x;
5163 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tl.tpPoints[1].y;
5164 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tl.tpPoints[1].z;
5165
5166 return tlReturn;
5167 }
5168
5181 {
5182 TLine3<T> tlReturn;
5183 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tl.tpPoints[0].x;
5184 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tl.tpPoints[0].y;
5185 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tl.tpPoints[0].z;
5186 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tl.tpPoints[1].x;
5187 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tl.tpPoints[1].y;
5188 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tl.tpPoints[1].z;
5189
5190 return tlReturn;
5191 }
5192
5205 {
5206 TLine3<T> tlReturn;
5207 tlReturn.tpPoints[0].x = tpPoints[0].x / (T)tl.tpPoints[0].x;
5208 tlReturn.tpPoints[0].y = tpPoints[0].y / (T)tl.tpPoints[0].y;
5209 tlReturn.tpPoints[0].z = tpPoints[0].z / (T)tl.tpPoints[0].z;
5210 tlReturn.tpPoints[1].x = tpPoints[1].x / (T)tl.tpPoints[1].x;
5211 tlReturn.tpPoints[1].y = tpPoints[1].y / (T)tl.tpPoints[1].y;
5212 tlReturn.tpPoints[1].z = tpPoints[1].z / (T)tl.tpPoints[1].z;
5213
5214 return tlReturn;
5215 }
5216
5230 friend TLine3<T> operator+(int32_t value, const TLine3<T>& tl)
5231 {
5232 return TLine3<T>((T)value + tl.tpPoints[0].x, (T)value + tl.tpPoints[0].y, (T)value + tl.tpPoints[0].z, (T)value + tl.tpPoints[1].x, (T)value + tl.tpPoints[1].y, (T)value + tl.tpPoints[1].z);
5233 }
5234
5248 friend TLine3<T> operator+(int64_t value, const TLine3<T>& tl)
5249 {
5250 return TLine3<T>((T)value + tl.tpPoints[0].x, (T)value + tl.tpPoints[0].y, (T)value + tl.tpPoints[0].z, (T)value + tl.tpPoints[1].x, (T)value + tl.tpPoints[1].y, (T)value + tl.tpPoints[1].z);
5251 }
5252
5266 friend TLine3<T> operator+(float value, const TLine3<T>& tl)
5267 {
5268 return TLine3<T>((T)value + tl.tpPoints[0].x, (T)value + tl.tpPoints[0].y, (T)value + tl.tpPoints[0].z, (T)value + tl.tpPoints[1].x, (T)value + tl.tpPoints[1].y, (T)value + tl.tpPoints[1].z);
5269 }
5270
5284 friend TLine3<T> operator+(double value, const TLine3<T>& tl)
5285 {
5286 return TLine3<T>((T)value + tl.tpPoints[0].x, (T)value + tl.tpPoints[0].y, (T)value + tl.tpPoints[0].z, (T)value + tl.tpPoints[1].x, (T)value + tl.tpPoints[1].y, (T)value + tl.tpPoints[1].z);
5287 }
5288
5304 friend TLine3<T> operator+(const TPoint3<int32_t>& tp, const TLine3<T>& tl)
5305 {
5306 return TLine3<T>((T)tp.x + tl.tpPoints[0].x, (T)tp.y + tl.tpPoints[0].y, (T)tp.z + tl.tpPoints[0].z, (T)tp.x + tl.tpPoints[1].x, (T)tp.y + tl.tpPoints[1].y, (T)tp.z + tl.tpPoints[1].z);
5307 }
5308
5324 friend TLine3<T> operator+(const TPoint3<int64_t>& tp, const TLine3<T>& tl)
5325 {
5326 return TLine3<T>((T)tp.x + tl.tpPoints[0].x, (T)tp.y + tl.tpPoints[0].y, (T)tp.z + tl.tpPoints[0].z, (T)tp.x + tl.tpPoints[1].x, (T)tp.y + tl.tpPoints[1].y, (T)tp.z + tl.tpPoints[1].z);
5327 }
5328
5344 friend TLine3<T> operator+(const TPoint3<float>& tp, const TLine3<T>& tl)
5345 {
5346 return TLine3<T>((T)tp.x + tl.tpPoints[0].x, (T)tp.y + tl.tpPoints[0].y, (T)tp.z + tl.tpPoints[0].z, (T)tp.x + tl.tpPoints[1].x, (T)tp.y + tl.tpPoints[1].y, (T)tp.z + tl.tpPoints[1].z);
5347 }
5348
5364 friend TLine3<T> operator+(const TPoint3<double>& tp, const TLine3<T>& tl)
5365 {
5366 return TLine3<T>((T)tp.x + tl.tpPoints[0].x, (T)tp.y + tl.tpPoints[0].y, (T)tp.z + tl.tpPoints[0].z, (T)tp.x + tl.tpPoints[1].x, (T)tp.y + tl.tpPoints[1].y, (T)tp.z + tl.tpPoints[1].z);
5367 }
5368
5382 friend TLine3<T> operator-(int32_t value, const TLine3<T>& tl)
5383 {
5384 return TLine3<T>((T)value - tl.tpPoints[0].x, (T)value - tl.tpPoints[0].y, (T)value - tl.tpPoints[0].z, (T)value - tl.tpPoints[1].x, (T)value - tl.tpPoints[1].y, (T)value - tl.tpPoints[1].z);
5385 }
5386
5400 friend TLine3<T> operator-(int64_t value, const TLine3<T>& tl)
5401 {
5402 return TLine3<T>((T)value - tl.tpPoints[0].x, (T)value - tl.tpPoints[0].y, (T)value - tl.tpPoints[0].z, (T)value - tl.tpPoints[1].x, (T)value - tl.tpPoints[1].y, (T)value - tl.tpPoints[1].z);
5403 }
5404
5418 friend TLine3<T> operator-(float value, const TLine3<T>& tl)
5419 {
5420 return TLine3<T>((T)value - tl.tpPoints[0].x, (T)value - tl.tpPoints[0].y, (T)value - tl.tpPoints[0].z, (T)value - tl.tpPoints[1].x, (T)value - tl.tpPoints[1].y, (T)value - tl.tpPoints[1].z);
5421 }
5422
5436 friend TLine3<T> operator-(double value, const TLine3<T>& tl)
5437 {
5438 return TLine3<T>((T)value - tl.tpPoints[0].x, (T)value - tl.tpPoints[0].y, (T)value - tl.tpPoints[0].z, (T)value - tl.tpPoints[1].x, (T)value - tl.tpPoints[1].y, (T)value - tl.tpPoints[1].z);
5439 }
5440
5456 friend TLine3<T> operator-(const TPoint3<int32_t>& tp, const TLine3<T>& tl)
5457 {
5458 return TLine3<T>((T)tp.x - tl.tpPoints[0].x, (T)tp.y - tl.tpPoints[0].y, (T)tp.z - tl.tpPoints[0].z, (T)tp.x - tl.tpPoints[1].x, (T)tp.y - tl.tpPoints[1].y, (T)tp.z - tl.tpPoints[1].z);
5459 }
5460
5476 friend TLine3<T> operator-(const TPoint3<int64_t>& tp, const TLine3<T>& tl)
5477 {
5478 return TLine3<T>((T)tp.x - tl.tpPoints[0].x, (T)tp.y - tl.tpPoints[0].y, (T)tp.z - tl.tpPoints[0].z, (T)tp.x - tl.tpPoints[1].x, (T)tp.y - tl.tpPoints[1].y, (T)tp.z - tl.tpPoints[1].z);
5479 }
5480
5496 friend TLine3<T> operator-(const TPoint3<float>& tp, const TLine3<T>& tl)
5497 {
5498 return TLine3<T>((T)tp.x - tl.tpPoints[0].x, (T)tp.y - tl.tpPoints[0].y, (T)tp.z - tl.tpPoints[0].z, (T)tp.x - tl.tpPoints[1].x, (T)tp.y - tl.tpPoints[1].y, (T)tp.z - tl.tpPoints[1].z);
5499 }
5500
5516 friend TLine3<T> operator-(const TPoint3<double>& tp, const TLine3<T>& tl)
5517 {
5518 return TLine3<T>((T)tp.x - tl.tpPoints[0].x, (T)tp.y - tl.tpPoints[0].y, (T)tp.z - tl.tpPoints[0].z, (T)tp.x - tl.tpPoints[1].x, (T)tp.y - tl.tpPoints[1].y, (T)tp.z - tl.tpPoints[1].z);
5519 }
5520
5534 friend TLine3<T> operator*(int32_t value, const TLine3<T>& tl)
5535 {
5536 return TLine3<T>((T)value * tl.tpPoints[0].x, (T)value * tl.tpPoints[0].y, (T)value * tl.tpPoints[0].z, (T)value * tl.tpPoints[1].x, (T)value * tl.tpPoints[1].y, (T)value * tl.tpPoints[1].z);
5537 }
5538
5552 friend TLine3<T> operator*(int64_t value, const TLine3<T>& tl)
5553 {
5554 return TLine3<T>((T)value * tl.tpPoints[0].x, (T)value * tl.tpPoints[0].y, (T)value * tl.tpPoints[0].z, (T)value * tl.tpPoints[1].x, (T)value * tl.tpPoints[1].y, (T)value * tl.tpPoints[1].z);
5555 }
5556
5570 friend TLine3<T> operator*(float value, const TLine3<T>& tl)
5571 {
5572 return TLine3<T>((T)value * tl.tpPoints[0].x, (T)value * tl.tpPoints[0].y, (T)value * tl.tpPoints[0].z, (T)value * tl.tpPoints[1].x, (T)value * tl.tpPoints[1].y, (T)value * tl.tpPoints[1].z);
5573 }
5574
5588 friend TLine3<T> operator*(double value, const TLine3<T>& tl)
5589 {
5590 return TLine3<T>((T)value * tl.tpPoints[0].x, (T)value * tl.tpPoints[0].y, (T)value * tl.tpPoints[0].z, (T)value * tl.tpPoints[1].x, (T)value * tl.tpPoints[1].y, (T)value * tl.tpPoints[1].z);
5591 }
5592
5608 friend TLine3<T> operator*(const TPoint3<int32_t>& tp, const TLine3<T>& tl)
5609 {
5610 return TLine3<T>((T)tp.x * tl.tpPoints[0].x, (T)tp.y * tl.tpPoints[0].y, (T)tp.z * tl.tpPoints[0].z, (T)tp.x * tl.tpPoints[1].x, (T)tp.y * tl.tpPoints[1].y, (T)tp.z * tl.tpPoints[1].z);
5611 }
5612
5628 friend TLine3<T> operator*(const TPoint3<int64_t>& tp, const TLine3<T>& tl)
5629 {
5630 return TLine3<T>((T)tp.x * tl.tpPoints[0].x, (T)tp.y * tl.tpPoints[0].y, (T)tp.z * tl.tpPoints[0].z, (T)tp.x * tl.tpPoints[1].x, (T)tp.y * tl.tpPoints[1].y, (T)tp.z * tl.tpPoints[1].z);
5631 }
5632
5648 friend TLine3<T> operator*(const TPoint3<float>& tp, const TLine3<T>& tl)
5649 {
5650 return TLine3<T>((T)tp.x * tl.tpPoints[0].x, (T)tp.y * tl.tpPoints[0].y, (T)tp.z * tl.tpPoints[0].z, (T)tp.x * tl.tpPoints[1].x, (T)tp.y * tl.tpPoints[1].y, (T)tp.z * tl.tpPoints[1].z);
5651 }
5652
5668 friend TLine3<T> operator*(const TPoint3<double>& tp, const TLine3<T>& tl)
5669 {
5670 return TLine3<T>((T)tp.x * tl.tpPoints[0].x, (T)tp.y * tl.tpPoints[0].y, (T)tp.z * tl.tpPoints[0].z, (T)tp.x * tl.tpPoints[1].x, (T)tp.y * tl.tpPoints[1].y, (T)tp.z * tl.tpPoints[1].z);
5671 }
5672
5686 friend TLine3<T> operator/(int32_t value, const TLine3<T>& tl)
5687 {
5688 return TLine3<T>((T)value / tl.tpPoints[0].x, (T)value / tl.tpPoints[0].y, (T)value / tl.tpPoints[0].z, (T)value / tl.tpPoints[1].x, (T)value / tl.tpPoints[1].y, (T)value / tl.tpPoints[1].z);
5689 }
5690
5704 friend TLine3<T> operator/(int64_t value, const TLine3<T>& tl)
5705 {
5706 return TLine3<T>((T)value / tl.tpPoints[0].x, (T)value / tl.tpPoints[0].y, (T)value / tl.tpPoints[0].z, (T)value / tl.tpPoints[1].x, (T)value / tl.tpPoints[1].y, (T)value / tl.tpPoints[1].z);
5707 }
5708
5722 friend TLine3<T> operator/(float value, const TLine3<T>& tl)
5723 {
5724 return TLine3<T>((T)value / tl.tpPoints[0].x, (T)value / tl.tpPoints[0].y, (T)value / tl.tpPoints[0].z, (T)value / tl.tpPoints[1].x, (T)value / tl.tpPoints[1].y, (T)value / tl.tpPoints[1].z);
5725 }
5726
5740 friend TLine3<T> operator/(double value, const TLine3<T>& tl)
5741 {
5742 return TLine3<T>((T)value / tl.tpPoints[0].x, (T)value / tl.tpPoints[0].y, (T)value / tl.tpPoints[0].z, (T)value / tl.tpPoints[1].x, (T)value / tl.tpPoints[1].y, (T)value / tl.tpPoints[1].z);
5743 }
5744
5760 friend TLine3<T> operator/(const TPoint3<int32_t>& tp, const TLine3<T>& tl)
5761 {
5762 return TLine3<T>((T)tp.x / tl.tpPoints[0].x, (T)tp.y / tl.tpPoints[0].y, (T)tp.z / tl.tpPoints[0].z, (T)tp.x / tl.tpPoints[1].x, (T)tp.y / tl.tpPoints[1].y, (T)tp.z / tl.tpPoints[1].z);
5763 }
5764
5780 friend TLine3<T> operator/(const TPoint3<int64_t>& tp, const TLine3<T>& tl)
5781 {
5782 return TLine3<T>((T)tp.x / tl.tpPoints[0].x, (T)tp.y / tl.tpPoints[0].y, (T)tp.z / tl.tpPoints[0].z, (T)tp.x / tl.tpPoints[1].x, (T)tp.y / tl.tpPoints[1].y, (T)tp.z / tl.tpPoints[1].z);
5783 }
5784
5800 friend TLine3<T> operator/(const TPoint3<float>& tp, const TLine3<T>& tl)
5801 {
5802 return TLine3<T>((T)tp.x / tl.tpPoints[0].x, (T)tp.y / tl.tpPoints[0].y, (T)tp.z / tl.tpPoints[0].z, (T)tp.x / tl.tpPoints[1].x, (T)tp.y / tl.tpPoints[1].y, (T)tp.z / tl.tpPoints[1].z);
5803 }
5804
5820 friend TLine3<T> operator/(const TPoint3<double>& tp, const TLine3<T>& tl)
5821 {
5822 return TLine3<T>((T)tp.x / tl.tpPoints[0].x, (T)tp.y / tl.tpPoints[0].y, (T)tp.z / tl.tpPoints[0].z, (T)tp.x / tl.tpPoints[1].x, (T)tp.y / tl.tpPoints[1].y, (T)tp.z / tl.tpPoints[1].z);
5823 }
5824 };
5825 #pragma pack(pop)
5826
5827 typedef TLine3<int8_t> TLine3C;
5828 typedef TLine3<uint8_t> TLine3UC;
5829 typedef TLine3<int16_t> TLine3S;
5830 typedef TLine3<uint16_t> TLine3US;
5831 typedef TLine3<int32_t> TLine3L;
5832 typedef TLine3<uint32_t> TLine3UL;
5833 typedef TLine3<int64_t> TLine3LL;
5834 typedef TLine3<uint64_t> TLine3ULL;
5835 typedef TLine3<float> TLine3F;
5836 typedef TLine3<double> TLine3D;
5837 }
5838}
TLine3< T > operator/(float value) const
나눗셈 연산자
Definition TLine3.h:4980
friend TLine3< T > operator-(const TPoint3< int32_t > &tp, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5456
const TLine3< T > & operator/=(int32_t value)
나눗셈 대입 연산자
Definition TLine3.h:3760
TLine3< T > operator-(int64_t value) const
뺄셈 연산자
Definition TLine3.h:4364
TLine3< T > operator-(const TPoint3< int32_t > &tp) const
뺄셈 연산자
Definition TLine3.h:4438
const TLine3< T > & operator+=(const TLine3< int32_t > &tl)
덧셈 대입 연산자
Definition TLine3.h:3100
friend TLine3< T > operator/(const TPoint3< int64_t > &tp, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5780
void Set(const TLine3< int16_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1378
TLine3< T > operator*(const TPoint3< double > &tp) const
곱셈 연산자
Definition TLine3.h:4812
void Set(const TPoint3< int64_t > *pTp0, const TPoint3< int64_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2051
void Set(const TLine3< uint8_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1337
void Set(const TLine3< uint16_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1438
const TLine3< T > & operator*=(const TLine3< float > &tl)
곱셈 대입 연산자
Definition TLine3.h:3714
TLine3< T > operator*(const TLine3< double > &tl) const
곱셈 연산자
Definition TLine3.h:4908
TLine3< T > operator*(const TLine3< int64_t > &tl) const
곱셈 연산자
Definition TLine3.h:4860
const TLine3< T > & operator-=(const TPoint3< int32_t > &tp)
뺄셈 대입 연산자
Definition TLine3.h:3286
friend TLine3< T > operator/(const TPoint3< float > &tp, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5800
void Set(const TPoint3< uint32_t > &tp0, const TPoint3< uint32_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1975
TLine3< T > operator+(const TLine3< double > &tl) const
덧셈 연산자
Definition TLine3.h:4316
TLine3(const TPoint3< uint64_t > &tp0, const TPoint3< uint64_t > &tp1)
초기화 생성자
Definition TLine3.h:851
friend TLine3< T > operator*(int32_t value, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5534
TLine3(const TPoint3< int8_t > &tp0, const TPoint3< int8_t > &tp1)
초기화 생성자
Definition TLine3.h:480
TLine3(const TPoint3< uint64_t > *pTp0, const TPoint3< uint64_t > *pTp1)
초기화 생성자
Definition TLine3.h:874
void Set(const TLine3< float > &tl)
직선을 설정합니다.
Definition TLine3.h:1624
const TLine3< T > & operator/=(const TPoint3< int32_t > &tp)
나눗셈 대입 연산자
Definition TLine3.h:3854
const TLine3< T > & operator-=(double value)
뺄셈 대입 연산자
Definition TLine3.h:3261
const TLine3< T > & operator+=(int32_t value)
덧셈 대입 연산자
Definition TLine3.h:2908
friend TLine3< T > operator*(const TPoint3< double > &tp, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5668
void Set(const TPoint3< int32_t > *pTp0, const TPoint3< int32_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1945
TLine3(const TLine3< int64_t > *pTl)
복사 생성자
Definition TLine3.h:331
TLine3(const TLine3< uint16_t > *pTl)
복사 생성자
Definition TLine3.h:208
TLine3< T > operator+(const TPoint3< float > &tp) const
덧셈 연산자
Definition TLine3.h:4194
void Set(const TPoint3< uint8_t > *pTp0, const TPoint3< uint8_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1786
friend TLine3< T > operator-(double value, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5436
TLine3(const TPoint3< int8_t > *pTp0, const TPoint3< int8_t > *pTp1)
초기화 생성자
Definition TLine3.h:503
const TLine3< T > & operator+=(const TPoint3< int64_t > &tp)
덧셈 대입 연산자
Definition TLine3.h:3027
TLine3()
기본 생성자
Definition TLine3.h:53
TLine3(float x0, float y0, float z0, float x1, float y1, float z1)
초기화 생성자
Definition TLine3.h:1248
TLine3< T > operator+(int32_t value) const
덧셈 연산자
Definition TLine3.h:4044
TLine3< T > operator-(const TPoint3< double > &tp) const
뺄셈 연산자
Definition TLine3.h:4516
friend TLine3< T > operator+(int64_t value, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5248
const TLine3< T > & operator/=(const TPoint3< double > &tp)
나눗셈 대입 연산자
Definition TLine3.h:3929
TLine3(const TLine3< int8_t > &tl)
복사 생성자
Definition TLine3.h:66
TLine3(const TPoint3< float > &tp0, const TPoint3< float > &tp1)
초기화 생성자
Definition TLine3.h:904
void Set(const TLine3< int32_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1460
void Set(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2420
TLine3< T > operator*(const TLine3< float > &tl) const
곱셈 연산자
Definition TLine3.h:4884
void Set(const TLine3< double > &tl)
직선을 설정합니다.
Definition TLine3.h:1665
const TLine3< T > & operator-=(const TLine3< int64_t > &tl)
뺄셈 대입 연산자
Definition TLine3.h:3407
TLine3< T > operator-(const TLine3< int32_t > &tl) const
뺄셈 연산자
Definition TLine3.h:4540
const TLine3< T > & operator-=(const TLine3< int32_t > &tl)
뺄셈 대입 연산자
Definition TLine3.h:3384
const TLine3< T > & operator-=(const TLine3< double > &tl)
뺄셈 대입 연산자
Definition TLine3.h:3453
void Set(const TPoint3< int64_t > &tp0, const TPoint3< int64_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2028
TLine3(int64_t x0, int64_t y0, int64_t z0, int64_t x1, int64_t y1, int64_t z1)
초기화 생성자
Definition TLine3.h:1190
void Set(const TLine3< uint64_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1602
TLine3(const TLine3< uint8_t > &tl)
복사 생성자
Definition TLine3.h:107
TLine3< T > operator+(const TPoint3< int64_t > &tp) const
덧셈 연산자
Definition TLine3.h:4168
TLine3< T > operator-(double value) const
뺄셈 연산자
Definition TLine3.h:4412
bool operator==(const TLine3< float > &tl) const
비교 연산자
Definition TLine3.h:2812
bool operator!=(const TLine3< double > &tl) const
비교 연산자
Definition TLine3.h:2892
void Set(double x0, double y0, double z0, double x1, double y1, double z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2507
const TLine3< T > & operator=(const TPoint3< double > &tp)
직선의 모든 정점에 동일한 점 값을 대입합니다.
Definition TLine3.h:2668
TLine3(const TPoint3< int64_t > &tp0, const TPoint3< int64_t > &tp1)
초기화 생성자
Definition TLine3.h:798
void Set(const TPoint3< int8_t > *pTp0, const TPoint3< int8_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1733
bool operator==(const TLine3< int32_t > &tl) const
비교 연산자
Definition TLine3.h:2780
TLine3(const TPoint3< double > &tp0, const TPoint3< double > &tp1)
초기화 생성자
Definition TLine3.h:957
TLine3(const TPoint3< int16_t > &tp0, const TPoint3< int16_t > &tp1)
초기화 생성자
Definition TLine3.h:586
TLine3(const TLine3< float > *pTl)
복사 생성자
Definition TLine3.h:413
friend TLine3< T > operator-(const TPoint3< int64_t > &tp, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5476
TLine3< T > operator-(const TLine3< double > &tl) const
뺄셈 연산자
Definition TLine3.h:4612
const TLine3< T > & operator/=(int64_t value)
나눗셈 대입 연산자
Definition TLine3.h:3783
TLine3(const TLine3< uint32_t > &tl)
복사 생성자
Definition TLine3.h:271
friend TLine3< T > operator/(int32_t value, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5686
friend TLine3< T > operator+(const TPoint3< double > &tp, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5364
const TLine3< T > & operator-=(const TPoint3< double > &tp)
뺄셈 대입 연산자
Definition TLine3.h:3361
friend TLine3< T > operator-(const TPoint3< double > &tp, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5516
bool operator!=(const TLine3< float > &tl) const
비교 연산자
Definition TLine3.h:2876
friend TLine3< T > operator*(const TPoint3< int64_t > &tp, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5628
void Set(const TPoint3< double > &tp0, const TPoint3< double > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2187
TLine3< T > operator+(const TPoint3< double > &tp) const
덧셈 연산자
Definition TLine3.h:4220
const TLine3< T > & operator/=(double value)
나눗셈 대입 연산자
Definition TLine3.h:3829
friend TLine3< T > operator+(const TPoint3< int64_t > &tp, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5324
void Set(const TPoint3< int32_t > &tp0, const TPoint3< int32_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1922
TLine3(const TLine3< int8_t > *pTl)
복사 생성자
Definition TLine3.h:85
void Set(const TLine3< uint64_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1583
TLine3< T > operator/(double value) const
나눗셈 연산자
Definition TLine3.h:5004
void Set(uint16_t x0, uint16_t y0, uint16_t z0, uint16_t x1, uint16_t y1, uint16_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2333
const TLine3< T > & operator=(float value)
직선의 모든 좌표에 동일한 값을 대입합니다.
Definition TLine3.h:2564
void Set(const TPoint3< uint16_t > &tp0, const TPoint3< uint16_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1869
TLine3(double x0, double y0, double z0, double x1, double y1, double z1)
초기화 생성자
Definition TLine3.h:1277
const TLine3< T > & operator+=(const TLine3< double > &tl)
덧셈 대입 연산자
Definition TLine3.h:3169
friend TLine3< T > operator-(float value, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5418
TLine3(uint16_t x0, uint16_t y0, uint16_t z0, uint16_t x1, uint16_t y1, uint16_t z1)
초기화 생성자
Definition TLine3.h:1103
const TLine3< T > & operator/=(const TLine3< int32_t > &tl)
나눗셈 대입 연산자
Definition TLine3.h:3952
const TLine3< T > & operator+=(const TPoint3< float > &tp)
덧셈 대입 연산자
Definition TLine3.h:3052
void Set(const TLine3< uint32_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1501
TLine3(const TLine3< uint16_t > &tl)
복사 생성자
Definition TLine3.h:189
TLine3(const TLine3< double > &tl)
복사 생성자
Definition TLine3.h:435
const TLine3< T > & operator/=(const TLine3< int64_t > &tl)
나눗셈 대입 연산자
Definition TLine3.h:3975
TLine3(const TPoint3< float > *pTp0, const TPoint3< float > *pTp1)
초기화 생성자
Definition TLine3.h:927
TLine3< T > operator-(const TPoint3< float > &tp) const
뺄셈 연산자
Definition TLine3.h:4490
TLine3(const TPoint3< int16_t > *pTp0, const TPoint3< int16_t > *pTp1)
초기화 생성자
Definition TLine3.h:609
const TLine3< T > & operator+=(const TPoint3< double > &tp)
덧셈 대입 연산자
Definition TLine3.h:3077
friend TLine3< T > operator/(double value, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5740
void Set(uint64_t x0, uint64_t y0, uint64_t z0, uint64_t x1, uint64_t y1, uint64_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2449
void Set(const TLine3< int64_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1561
TLine3(const TLine3< int64_t > &tl)
복사 생성자
Definition TLine3.h:312
TLine3(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1)
초기화 생성자
Definition TLine3.h:1132
void Set(const TPoint3< int8_t > &tp0, const TPoint3< int8_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1710
TLine3(const TPoint3< uint8_t > *pTp0, const TPoint3< uint8_t > *pTp1)
초기화 생성자
Definition TLine3.h:556
const TLine3< T > & operator-=(int64_t value)
뺄셈 대입 연산자
Definition TLine3.h:3215
TLine3< T > operator/(int64_t value) const
나눗셈 연산자
Definition TLine3.h:4956
TLine3< T > operator-(const TPoint3< int64_t > &tp) const
뺄셈 연산자
Definition TLine3.h:4464
const TLine3< T > & operator=(const TLine3< double > &tl)
직선 객체를 대입합니다.
Definition TLine3.h:2757
void Set(const TPoint3< uint32_t > *pTp0, const TPoint3< uint32_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1998
const TLine3< T > & operator*=(const TLine3< int32_t > &tl)
곱셈 대입 연산자
Definition TLine3.h:3668
friend TLine3< T > operator/(float value, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5722
TLine3(const TPoint3< int32_t > *pTp0, const TPoint3< int32_t > *pTp1)
초기화 생성자
Definition TLine3.h:715
TLine3< T > operator+(float value) const
덧셈 연산자
Definition TLine3.h:4092
TLine3< T > operator/(int32_t value) const
나눗셈 연산자
Definition TLine3.h:4932
TLine3< T > operator*(const TPoint3< int32_t > &tp) const
곱셈 연산자
Definition TLine3.h:4734
friend TLine3< T > operator+(double value, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5284
friend TLine3< T > operator*(const TPoint3< float > &tp, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5648
TLine3< T > operator/(const TPoint3< double > &tp) const
나눗셈 연산자
Definition TLine3.h:5108
const TLine3< T > & operator=(const TLine3< float > &tl)
직선 객체를 대입합니다.
Definition TLine3.h:2734
const TLine3< T > & operator/=(const TLine3< float > &tl)
나눗셈 대입 연산자
Definition TLine3.h:3998
friend TLine3< T > operator+(float value, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5266
TLine3< T > operator/(const TPoint3< float > &tp) const
나눗셈 연산자
Definition TLine3.h:5082
void Set(const TPoint3< float > &tp0, const TPoint3< float > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2134
TLine3< T > operator-(const TLine3< float > &tl) const
뺄셈 연산자
Definition TLine3.h:4588
const TLine3< T > & operator*=(const TLine3< int64_t > &tl)
곱셈 대입 연산자
Definition TLine3.h:3691
const TLine3< T > & operator*=(const TPoint3< int32_t > &tp)
곱셈 대입 연산자
Definition TLine3.h:3570
friend TLine3< T > operator/(const TPoint3< int32_t > &tp, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5760
const TLine3< T > & operator/=(const TLine3< double > &tl)
나눗셈 대입 연산자
Definition TLine3.h:4021
const TLine3< T > & operator-=(int32_t value)
뺄셈 대입 연산자
Definition TLine3.h:3192
const TLine3< T > & operator+=(float value)
덧셈 대입 연산자
Definition TLine3.h:2954
friend TLine3< T > operator*(float value, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5570
void Set(uint8_t x0, uint8_t y0, uint8_t z0, uint8_t x1, uint8_t y1, uint8_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2275
friend TLine3< T > operator*(int64_t value, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5552
friend TLine3< T > operator/(int64_t value, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5704
void Set(const TPoint3< double > *pTp0, const TPoint3< double > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2210
TLine3< T > operator+(double value) const
덧셈 연산자
Definition TLine3.h:4116
TLine3< T > operator*(int32_t value) const
곱셈 연산자
Definition TLine3.h:4636
void Set(const TLine3< float > *pTl)
직선을 설정합니다.
Definition TLine3.h:1643
const TLine3< T > & operator/=(const TPoint3< int64_t > &tp)
나눗셈 대입 연산자
Definition TLine3.h:3879
TLine3(const TLine3< int32_t > *pTl)
복사 생성자
Definition TLine3.h:249
TLine3< T > operator-(float value) const
뺄셈 연산자
Definition TLine3.h:4388
TLine3< T > operator*(double value) const
곱셈 연산자
Definition TLine3.h:4708
void Set(const TPoint3< uint64_t > &tp0, const TPoint3< uint64_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2081
TLine3(uint8_t x0, uint8_t y0, uint8_t z0, uint8_t x1, uint8_t y1, uint8_t z1)
초기화 생성자
Definition TLine3.h:1045
TLine3< T > operator+(const TLine3< float > &tl) const
덧셈 연산자
Definition TLine3.h:4292
friend TLine3< T > operator-(const TPoint3< float > &tp, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5496
const TLine3< T > & operator*=(const TPoint3< double > &tp)
곱셈 대입 연산자
Definition TLine3.h:3645
void Set(int16_t x0, int16_t y0, int16_t z0, int16_t x1, int16_t y1, int16_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2304
void Set(const TLine3< uint16_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1419
bool operator==(const TLine3< int64_t > &tl) const
비교 연산자
Definition TLine3.h:2796
friend TLine3< T > operator-(int32_t value, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5382
void Set(const TLine3< double > *pTl)
직선을 설정합니다.
Definition TLine3.h:1684
friend TLine3< T > operator+(const TPoint3< float > &tp, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5344
const TLine3< T > & operator=(const TPoint3< int32_t > &tp)
직선의 모든 정점에 동일한 점 값을 대입합니다.
Definition TLine3.h:2602
void Set(const TPoint3< uint8_t > &tp0, const TPoint3< uint8_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1763
const TLine3< T > & operator=(const TLine3< int64_t > &tl)
직선 객체를 대입합니다.
Definition TLine3.h:2711
TLine3(const TLine3< int16_t > &tl)
복사 생성자
Definition TLine3.h:148
TLine3< T > operator-(const TLine3< int64_t > &tl) const
뺄셈 연산자
Definition TLine3.h:4564
TLine3< T > operator*(const TPoint3< float > &tp) const
곱셈 연산자
Definition TLine3.h:4786
TLine3(const TPoint3< int32_t > &tp0, const TPoint3< int32_t > &tp1)
초기화 생성자
Definition TLine3.h:692
const TLine3< T > & operator-=(const TPoint3< int64_t > &tp)
뺄셈 대입 연산자
Definition TLine3.h:3311
TLine3(const TPoint3< double > *pTp0, const TPoint3< double > *pTp1)
초기화 생성자
Definition TLine3.h:980
TLine3< T > operator*(const TPoint3< int64_t > &tp) const
곱셈 연산자
Definition TLine3.h:4760
TLine3(const TPoint3< uint16_t > *pTp0, const TPoint3< uint16_t > *pTp1)
초기화 생성자
Definition TLine3.h:662
const TLine3< T > & operator*=(float value)
곱셈 대입 연산자
Definition TLine3.h:3522
bool operator!=(const TLine3< int32_t > &tl) const
비교 연산자
Definition TLine3.h:2844
const TLine3< T > & operator-=(float value)
뺄셈 대입 연산자
Definition TLine3.h:3238
void Set(const TPoint3< float > *pTp0, const TPoint3< float > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2157
const TLine3< T > & operator*=(const TPoint3< float > &tp)
곱셈 대입 연산자
Definition TLine3.h:3620
TLine3(int8_t x0, int8_t y0, int8_t z0, int8_t x1, int8_t y1, int8_t z1)
초기화 생성자
Definition TLine3.h:1016
TLine3(const TLine3< float > &tl)
복사 생성자
Definition TLine3.h:394
const TLine3< T > & operator+=(int64_t value)
덧셈 대입 연산자
Definition TLine3.h:2931
friend TLine3< T > operator*(const TPoint3< int32_t > &tp, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5608
const TLine3< T > & operator*=(const TLine3< double > &tl)
곱셈 대입 연산자
Definition TLine3.h:3737
const TLine3< T > & operator+=(const TLine3< float > &tl)
덧셈 대입 연산자
Definition TLine3.h:3146
bool operator!=(const TLine3< int64_t > &tl) const
비교 연산자
Definition TLine3.h:2860
void Set(const TLine3< int8_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1296
void Set(const TPoint3< uint16_t > *pTp0, const TPoint3< uint16_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1892
const TLine3< T > & operator*=(double value)
곱셈 대입 연산자
Definition TLine3.h:3545
TLine3< T > operator+(const TLine3< int64_t > &tl) const
덧셈 연산자
Definition TLine3.h:4268
friend TLine3< T > operator+(const TPoint3< int32_t > &tp, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5304
const TLine3< T > & operator-=(const TLine3< float > &tl)
뺄셈 대입 연산자
Definition TLine3.h:3430
TLine3< T > operator/(const TPoint3< int32_t > &tp) const
나눗셈 연산자
Definition TLine3.h:5030
void Set(const TLine3< int64_t > &tl)
직선을 설정합니다.
Definition TLine3.h:1542
TLine3(const TPoint3< int64_t > *pTp0, const TPoint3< int64_t > *pTp1)
초기화 생성자
Definition TLine3.h:821
void Set(const TPoint3< int16_t > &tp0, const TPoint3< int16_t > &tp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1816
bool operator==(const TLine3< double > &tl) const
비교 연산자
Definition TLine3.h:2828
TLine3< T > operator/(const TLine3< int32_t > &tl) const
나눗셈 연산자
Definition TLine3.h:5132
void Set(int8_t x0, int8_t y0, int8_t z0, int8_t x1, int8_t y1, int8_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2246
const TLine3< T > & operator=(int32_t value)
직선의 모든 좌표에 동일한 값을 대입합니다.
Definition TLine3.h:2528
TLine3< T > operator/(const TPoint3< int64_t > &tp) const
나눗셈 연산자
Definition TLine3.h:5056
TLine3< T > operator/(const TLine3< double > &tl) const
나눗셈 연산자
Definition TLine3.h:5204
const TLine3< T > & operator-=(const TPoint3< float > &tp)
뺄셈 대입 연산자
Definition TLine3.h:3336
const TLine3< T > & operator/=(const TPoint3< float > &tp)
나눗셈 대입 연산자
Definition TLine3.h:3904
const TLine3< T > & operator=(const TLine3< int32_t > &tl)
직선 객체를 대입합니다.
Definition TLine3.h:2688
TLine3(int16_t x0, int16_t y0, int16_t z0, int16_t x1, int16_t y1, int16_t z1)
초기화 생성자
Definition TLine3.h:1074
const TLine3< T > & operator*=(int64_t value)
곱셈 대입 연산자
Definition TLine3.h:3499
friend TLine3< T > operator+(int32_t value, const TLine3< T > &tl)
덧셈 연산자
Definition TLine3.h:5230
const TLine3< T > & operator+=(const TLine3< int64_t > &tl)
덧셈 대입 연산자
Definition TLine3.h:3123
TLine3(const TLine3< int16_t > *pTl)
복사 생성자
Definition TLine3.h:167
TLine3(const TLine3< uint8_t > *pTl)
복사 생성자
Definition TLine3.h:126
void Set(const TPoint3< int16_t > *pTp0, const TPoint3< int16_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:1839
TLine3(const TLine3< uint64_t > *pTl)
복사 생성자
Definition TLine3.h:372
friend TLine3< T > operator-(int64_t value, const TLine3< T > &tl)
뺄셈 연산자
Definition TLine3.h:5400
const TLine3< T > & operator*=(const TPoint3< int64_t > &tp)
곱셈 대입 연산자
Definition TLine3.h:3595
friend TLine3< T > operator*(double value, const TLine3< T > &tl)
곱셈 연산자
Definition TLine3.h:5588
void Set(const TLine3< int32_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1479
void Set(const TPoint3< uint64_t > *pTp0, const TPoint3< uint64_t > *pTp1)
직선의 정점을 설정합니다.
Definition TLine3.h:2104
void Set(float x0, float y0, float z0, float x1, float y1, float z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2478
TLine3(const TLine3< int32_t > &tl)
복사 생성자
Definition TLine3.h:230
friend TLine3< T > operator/(const TPoint3< double > &tp, const TLine3< T > &tl)
나눗셈 연산자
Definition TLine3.h:5820
const TLine3< T > & operator/=(float value)
나눗셈 대입 연산자
Definition TLine3.h:3806
TLine3(const TLine3< double > *pTl)
복사 생성자
Definition TLine3.h:454
TLine3(uint64_t x0, uint64_t y0, uint64_t z0, uint64_t x1, uint64_t y1, uint64_t z1)
초기화 생성자
Definition TLine3.h:1219
TLine3< T > operator+(const TLine3< int32_t > &tl) const
덧셈 연산자
Definition TLine3.h:4244
TLine3(const TLine3< uint64_t > &tl)
복사 생성자
Definition TLine3.h:353
TLine3(uint32_t x0, uint32_t y0, uint32_t z0, uint32_t x1, uint32_t y1, uint32_t z1)
초기화 생성자
Definition TLine3.h:1161
TLine3< T > operator*(const TLine3< int32_t > &tl) const
곱셈 연산자
Definition TLine3.h:4836
void Set(const TLine3< int8_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1315
const TLine3< T > & operator=(const TPoint3< int64_t > &tp)
직선의 모든 정점에 동일한 점 값을 대입합니다.
Definition TLine3.h:2624
const TLine3< T > & operator+=(double value)
덧셈 대입 연산자
Definition TLine3.h:2977
void Set(const TLine3< uint8_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1356
void Set(const TLine3< uint32_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1520
TLine3< T > operator+(int64_t value) const
덧셈 연산자
Definition TLine3.h:4068
const TLine3< T > & operator=(double value)
직선의 모든 좌표에 동일한 값을 대입합니다.
Definition TLine3.h:2582
void Set(const TLine3< int16_t > *pTl)
직선을 설정합니다.
Definition TLine3.h:1397
const TLine3< T > & operator+=(const TPoint3< int32_t > &tp)
덧셈 대입 연산자
Definition TLine3.h:3002
TLine3< T > operator-(int32_t value) const
뺄셈 연산자
Definition TLine3.h:4340
TLine3< T > operator/(const TLine3< float > &tl) const
나눗셈 연산자
Definition TLine3.h:5180
const TLine3< T > & operator=(int64_t value)
직선의 모든 좌표에 동일한 값을 대입합니다.
Definition TLine3.h:2546
void Set(uint32_t x0, uint32_t y0, uint32_t z0, uint32_t x1, uint32_t y1, uint32_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2391
TPoint3< int8_t > tpPoints[2]
Definition TLine3.h:44
TLine3< T > operator/(const TLine3< int64_t > &tl) const
나눗셈 연산자
Definition TLine3.h:5156
TLine3(const TPoint3< uint8_t > &tp0, const TPoint3< uint8_t > &tp1)
초기화 생성자
Definition TLine3.h:533
TLine3(const TPoint3< uint32_t > *pTp0, const TPoint3< uint32_t > *pTp1)
초기화 생성자
Definition TLine3.h:768
TLine3< T > operator*(float value) const
곱셈 연산자
Definition TLine3.h:4684
void Set(int32_t x0, int32_t y0, int32_t z0, int32_t x1, int32_t y1, int32_t z1)
직선의 좌표를 설정합니다.
Definition TLine3.h:2362
TLine3(const TLine3< uint32_t > *pTl)
복사 생성자
Definition TLine3.h:290
TLine3(const TPoint3< uint16_t > &tp0, const TPoint3< uint16_t > &tp1)
초기화 생성자
Definition TLine3.h:639
TLine3(const TPoint3< uint32_t > &tp0, const TPoint3< uint32_t > &tp1)
초기화 생성자
Definition TLine3.h:745
const TLine3< T > & operator=(const TPoint3< float > &tp)
직선의 모든 정점에 동일한 점 값을 대입합니다.
Definition TLine3.h:2646
TLine3< T > operator*(int64_t value) const
곱셈 연산자
Definition TLine3.h:4660
const TLine3< T > & operator*=(int32_t value)
곱셈 대입 연산자
Definition TLine3.h:3476
TLine3< T > operator+(const TPoint3< int32_t > &tp) const
덧셈 연산자
Definition TLine3.h:4142
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
Definition AESCryptography.h:18