FLImaging 7.6.11.1
TQuad3.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 TQuad3
38 {
39 public:
45
54 {
55 }
56
66 TQuad3(const TQuad3<T>& tq) : TQuad3(tq.tpPoints[0], tq.tpPoints[1], tq.tpPoints[2], tq.tpPoints[3])
67 {
68 }
69
85 TQuad3(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2, const TPoint3<T>& tpPoint3)
86 {
87 Set(tpPoint0, tpPoint1, tpPoint2, tpPoint3);
88 }
89
99 void Set(const TQuad3<T>& tq)
100 {
101 memcpy(tpPoints, tq.tpPoints, sizeof(tpPoints));
102 }
103
119 void Set(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2, const TPoint3<T>& tpPoint3)
120 {
121 tpPoints[0].Set(tpPoint0);
122 tpPoints[1].Set(tpPoint1);
123 tpPoints[2].Set(tpPoint2);
124 tpPoints[3].Set(tpPoint3);
125 }
126 };
127 #pragma pack(pop)
128
129 typedef TQuad3<int8_t> TQuad3C;
130 typedef TQuad3<uint8_t> TQuad3UC;
131 typedef TQuad3<int16_t> TQuad3S;
132 typedef TQuad3<uint16_t> TQuad3US;
133 typedef TQuad3<int32_t> TQuad3L;
134 typedef TQuad3<uint32_t> TQuad3UL;
135 typedef TQuad3<int64_t> TQuad3LL;
136 typedef TQuad3<uint64_t> TQuad3ULL;
137 typedef TQuad3<float> TQuad3F;
138 typedef TQuad3<double> TQuad3D;
139 }
140}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
TQuad3()
Default constructor.
Definition TQuad3.h:53
TPoint3< int8_t > tpPoints[4]
Definition TQuad3.h:44
void Set(const TQuad3< int8_t > &tq)
Definition TQuad3.h:99
TQuad3(const TQuad3< T > &tq)
Copy constructor.
Definition TQuad3.h:66
TQuad3(const TPoint3< T > &tpPoint0, const TPoint3< T > &tpPoint1, const TPoint3< T > &tpPoint2, const TPoint3< T > &tpPoint3)
Constructs a quadrilateral using four 3D points.
Definition TQuad3.h:85
void Set(const TPoint3< T > &tpPoint0, const TPoint3< T > &tpPoint1, const TPoint3< T > &tpPoint2, const TPoint3< T > &tpPoint3)
Sets the quadrilateral using four 3D points.
Definition TQuad3.h:119
Definition AESCryptography.h:18