FLImaging 6.5.8.1
TQuad3.h
1#pragma once
2
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 TQuad3
38 {
39 public:
40 TPoint3<T> tpPoints[4];
41
42
43 TQuad3()
44 {
45 }
46
47 TQuad3(const TQuad3<T>& tq) : TQuad3(tq.tpPoints[0], tq.tpPoints[1], tq.tpPoints[2], tq.tpPoints[3])
48 {
49 }
50
51 TQuad3(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2, const TPoint3<T>& tpPoint3)
52 {
53 Set(tpPoint0, tpPoint1, tpPoint2, tpPoint3);
54 }
55
56 void Set(const TQuad3<T>& tq)
57 {
58 memcpy(tpPoints, tq.tpPoints, sizeof(tpPoints));
59 }
60
61 void Set(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2, const TPoint3<T>& tpPoint3)
62 {
63 tpPoints[0].Set(tpPoint0);
64 tpPoints[1].Set(tpPoint1);
65 tpPoints[2].Set(tpPoint2);
66 tpPoints[3].Set(tpPoint3);
67 }
68 };
69 #pragma pack(pop)
70
71 typedef TQuad3<int8_t> TQuad3C;
79 typedef TQuad3<float> TQuad3F;
80 typedef TQuad3<double> TQuad3D;
81 }
82}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
사각형을 표현하는 간략화된 클래스
Definition TQuad3.h:38