FLImaging 6.6.27.1
TTriangle3.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 TTriangle3
38 {
39 public:
40 TPoint3<T> tpPoints[3];
41
42
43 TTriangle3()
44 {
45 }
46
47 TTriangle3(const TTriangle3<T>& tt) : TTriangle3(tt.tpPoints[0], tt.tpPoints[1], tt.tpPoints[2])
48 {
49 }
50
51 TTriangle3(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2)
52 {
53 Set(tpPoint0, tpPoint1, tpPoint2);
54 }
55
56 void Set(const TTriangle3<T>& tt)
57 {
58 memcpy(tpPoints, tt.tpPoints, sizeof(tpPoints));
59 }
60
61 void Set(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2)
62 {
63 tpPoints[0].Set(tpPoint0);
64 tpPoints[1].Set(tpPoint1);
65 tpPoints[2].Set(tpPoint2);
66 }
67 };
68 #pragma pack(pop)
69
70 typedef TTriangle3<int8_t> TTriangle3C;
71 typedef TTriangle3<uint8_t> TTriangle3UC;
72 typedef TTriangle3<int16_t> TTriangle3S;
73 typedef TTriangle3<uint16_t> TTriangle3US;
74 typedef TTriangle3<int32_t> TTriangle3L;
75 typedef TTriangle3<uint32_t> TTriangle3UL;
76 typedef TTriangle3<int64_t> TTriangle3LL;
77 typedef TTriangle3<uint64_t> TTriangle3ULL;
78 typedef TTriangle3<float> TTriangle3F;
79 typedef TTriangle3<double> TTriangle3D;
80 }
81}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
삼각형을 표현하는 간략화된 클래스
Definition TTriangle3.h:38
Definition AESCryptography.h:18