FLImaging 6.5.8.1
GUIPropertyMenuNodeView3D.h
1#pragma once
2
3#include "GUIPropertyMenuNodeBase.h"
4#include "DefinitionGUISNAP.h"
5
6namespace FLImaging
7{
8 namespace GUI
9 {
10 class CGUIView3D;
11 class CSNAPFeatureView3D;
12
13 class FL_EXPORT CGUIPropertyMenuNodeView3D : public CGUIPropertyMenuNodeBase
14 {
15 SupportToDuplicateObject(CGUIPropertyMenuNodeView3D);
16
17 enum EMode
18 {
19 EMode_Creation = 0,
20 EMode_Selection,
21 };
22
23 public:
24 CGUIPropertyMenuNodeView3D();
25 virtual ~CGUIPropertyMenuNodeView3D();
26
27 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
28
29 virtual const CResult ConfigureMenu() override;
30
31 virtual const CResult OnInputParameter(CSNAPParameter* pParameter) override;
32 virtual const CResult OnOutputParameter(CSNAPParameter* pParameter) override;
33
34 virtual Base::EPixelFormat OnResponseImagePixelFormat(Base::EPixelFormat eInputPixelFormat, Base::CFLString<wchar_t> flsOutputProcedureName) override;
35
36 CGUIView3D* GetSelected3DView(bool bCreateView);
37
38 DeclareGetClassType();
39
40 protected:
41 virtual const CResult InitializationProcedure() override;
42 virtual const CResult ProcessProcedure() override;
43 virtual const CResult ClearProcedure();
44 virtual const CResult Clear3DObjectsProcedure();
45 virtual const CResult ClearLayersProcedure();
46 virtual const CResult ZoomFitProcedure();
47
48 virtual const CResult ChangedViewMode();
49
50 EMode GetSelectedMode();
51 const CResult SetMode(EMode eMode);
52
53 CGUIView3D* Create3DView();
54 virtual const CResult Select3DView(CGUIView3D* p3DView);
55
56 virtual CSNAPFeatureView3D* GetFeatureView3D() const;
57 };
58 }
59}