FLImaging 7.6.11.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:
45
54 {
55 }
56
66 TTriangle3(const TTriangle3<T>& tt) : TTriangle3(tt.tpPoints[0], tt.tpPoints[1], tt.tpPoints[2])
67 {
68 }
69
83 TTriangle3(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2)
84 {
85 Set(tpPoint0, tpPoint1, tpPoint2);
86 }
87
97 void Set(const TTriangle3<T>& tt)
98 {
99 memcpy(tpPoints, tt.tpPoints, sizeof(tpPoints));
100 }
101
115 void Set(const TPoint3<T>& tpPoint0, const TPoint3<T>& tpPoint1, const TPoint3<T>& tpPoint2)
116 {
117 tpPoints[0].Set(tpPoint0);
118 tpPoints[1].Set(tpPoint1);
119 tpPoints[2].Set(tpPoint2);
120 }
121 };
122 #pragma pack(pop)
123
124 typedef TTriangle3<int8_t> TTriangle3C;
125 typedef TTriangle3<uint8_t> TTriangle3UC;
126 typedef TTriangle3<int16_t> TTriangle3S;
127 typedef TTriangle3<uint16_t> TTriangle3US;
128 typedef TTriangle3<int32_t> TTriangle3L;
129 typedef TTriangle3<uint32_t> TTriangle3UL;
130 typedef TTriangle3<int64_t> TTriangle3LL;
131 typedef TTriangle3<uint64_t> TTriangle3ULL;
132 typedef TTriangle3<float> TTriangle3F;
133 typedef TTriangle3<double> TTriangle3D;
134 }
135}
Simplified class representing a 3-D point.
Definition TPoint3.h:37
TTriangle3(const TTriangle3< T > &tt)
Copy constructor.
Definition TTriangle3.h:66
TPoint3< int8_t > tpPoints[3]
Definition TTriangle3.h:44
void Set(const TPoint3< T > &tpPoint0, const TPoint3< T > &tpPoint1, const TPoint3< T > &tpPoint2)
Sets the triangle using three points.
Definition TTriangle3.h:115
TTriangle3()
Default constructor.
Definition TTriangle3.h:53
void Set(const TTriangle3< int8_t > &tt)
Definition TTriangle3.h:97
TTriangle3(const TPoint3< T > &tpPoint0, const TPoint3< T > &tpPoint1, const TPoint3< T > &tpPoint2)
Constructs a triangle from three points.
Definition TTriangle3.h:83
Definition AESCryptography.h:18