FLImaging 6.5.8.1
TRange3.h
1#pragma once
2
11#include "FLLibTags.h"
12#include "TPoint3.h"
13
15namespace FLImaging
16{
18 namespace Base
19 {
31 #pragma pack(push, 1)
32 template <typename T>
33 class FL_EXPORT TRange3
34 {
35 public:
36 TPoint3<T> tpPoints[2];
37
38
39 TRange3()
40 {
41 }
42
43 TRange3(const TRange3<T>& tq)
44 {
45 memcpy(tpPoints, tq.tpPoints, sizeof(tpPoints));
46 }
47
48 TRange3(const TPoint3<T>& tpLB, const TPoint3<T>& tpUB)
49 {
50 tpPoints[0].Set(tpLB);
51 tpPoints[1].Set(tpUB);
52 }
53
54 TRange3(T tLBX, T tLBY, T tLBZ, T tUBX, T tUBY, T tUBZ)
55 {
56 tpPoints[0].x = tLBX;
57 tpPoints[0].y = tLBY;
58 tpPoints[0].z = tLBZ;
59 tpPoints[1].x = tUBX;
60 tpPoints[1].y = tUBY;
61 tpPoints[1].z = tUBZ;
62 }
63
64 void Set(const TRange3<T>& tq)
65 {
66 memcpy(tpPoints, tq.tpPoints, sizeof(tpPoints));
67 }
68
69 void Set(const TPoint3<T>& tpLB, const TPoint3<T>& tpUB)
70 {
71 tpPoints[0].Set(tpLB);
72 tpPoints[1].Set(tpUB);
73 }
74
75 void Set(T tLBX, T tLBY, T tLBZ, T tUBX, T tUBY, T tUBZ)
76 {
77 tpPoints[0].x = tLBX;
78 tpPoints[0].y = tLBY;
79 tpPoints[0].z = tLBZ;
80 tpPoints[1].x = tUBX;
81 tpPoints[1].y = tUBY;
82 tpPoints[1].z = tUBZ;
83 }
84 };
85 #pragma pack(pop)
86
95 }
96}
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
3D 범위를 표현하는 간략화된 클래스
Definition TRange3.h:34