FLImaging 6.5.8.1
SNAPFeatureOperator.h
1#pragma once
2
3#include "SNAPFeatureBase.h"
4
5
6namespace FLImaging
7{
8 namespace GUI
9 {
10 class FL_EXPORT CSNAPFeatureOperator : public CSNAPFeatureBase
11 {
12 SupportToDuplicateObject(CSNAPFeatureOperator, *this);
13
14 public:
15 enum EOperation
16 {
17 EOperation_None = -1,
18 EOperation_Absolute = 0,
19 EOperation_Add,
20 EOperation_BitwiseAnd,
21 EOperation_BitwiseExclusiveOr,
22 EOperation_BitwiseNot,
23 EOperation_BitwiseOr,
24 EOperation_Ceil,
25 EOperation_Divide,
26 EOperation_Exponential,
27 EOperation_Floor,
28 EOperation_Hypotenuse,
29 EOperation_LeftShift,
30 EOperation_Log,
31 EOperation_Log10,
32 EOperation_LogicalEqual,
33 EOperation_LogicalGreater,
34 EOperation_LogicalGreaterEqual,
35 EOperation_LogicalLess,
36 EOperation_LogicalLessEqual,
37 EOperation_LogicalNot,
38 EOperation_LogicalNotEqual,
39 EOperation_Maximum,
40 EOperation_Minimum,
41 EOperation_Modulo,
42 EOperation_Multiply,
43 EOperation_Power,
44 EOperation_RightShift,
45 EOperation_Round,
46 EOperation_SquareRoot,
47 EOperation_Subtract,
48 EOperation_Sin,
49 EOperation_Cos,
50 EOperation_Tan,
51 EOperation_Arcsin,
52 EOperation_Arccos,
53 EOperation_Arctan,
54 EOperation_RadianToDegree,
55 EOperation_DegreeToRadian,
56 EOperation_Sec,
57 EOperation_Csc,
58 EOperation_Cot,
59 EOperation_Arctan2,
60
61 EOperationCount,
62 };
63
64 public:
65 CSNAPFeatureOperator();
66 CSNAPFeatureOperator(const CSNAPFeatureOperator& rhs);
67 CSNAPFeatureOperator(const CSNAPFeatureOperator* pRhs);
68 virtual ~CSNAPFeatureOperator();
69
70 virtual const CResult Assign(const CSNAPFeatureOperator& rhs);
71 virtual const CResult Assign(const CSNAPFeatureOperator* pRhs);
72
73 virtual const CResult Clear() override;
74
75 virtual const CResult SetOperation(EOperation eOperation);
76 virtual EOperation GetOperation() const;
77
78 virtual const CResult SetValue1(const Base::CFLString<wchar_t>& flsType, const Base::CFLString<wchar_t>& flsValue);
79 virtual Base::CFLString<wchar_t> GetValue1() const;
80 virtual Base::CFLString<wchar_t> GetValueType1() const;
81
82 virtual const CResult SetValue2(const Base::CFLString<wchar_t>& flsType, const Base::CFLString<wchar_t>& flsValue);
83 virtual Base::CFLString<wchar_t> GetValue2() const;
84 virtual Base::CFLString<wchar_t> GetValueType2() const;
85
86 virtual Base::CFLString<wchar_t> GetResultValue() const;
87 virtual Base::CFLString<wchar_t> GetResultValueType() const;
88
89 virtual const CResult Execute();
90
91 DeclareGetClassType();
92
93 public:
94 static EOperation ConvertOperationType(Base::CFLString<wchar_t> flsOperation);
95 static Base::CFLString<wchar_t> ConvertOperationType(EOperation eOperation);
96
97 protected:
98 static Base::CFLString<wchar_t> m_arrFlsOperation[EOperationCount];
99
100 EOperation m_eOperation;
101
102 Base::CFLString<wchar_t> m_flsValueType1;
103 Base::CFLString<wchar_t> m_flsValue1;
104
105 Base::CFLString<wchar_t> m_flsValueType2;
106 Base::CFLString<wchar_t> m_flsValue2;
107
108 Base::CFLString<wchar_t> m_flsResultValueType;
109 Base::CFLString<wchar_t> m_flsResultValue;
110 };
111 }
112}
113
@ Assign
CGUIPropertyItemView3DFigure 의 값을 해당 도형으로 설정하는 함수