FLImaging 6.5.8.1
GUIView3DWrap.h
1#pragma once
2
11#include "GUIViewImageBaseWrap.h"
12
13#include "GUIView3DLayerWrap.h"
14#include "GUIDefinitions.h"
15
17namespace FLImaging
18{
20 namespace GUI
21 {
22 class CGUIView3DObject;
23 class CGUIView3DObjectHeightMap;
24 class CGUIView3DObjectLine;
25 class CGUIView3DCamera;
26
34 class FL_EXPORT CGUIView3DWrap : public CGUIViewImageBaseWrap
35 {
36 public:
44
51 virtual ~CGUIView3DWrap();
52
73 const CResult Create(int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle = 0);
74
90 const CResult CreateAndFitParent(size_t stParentWindowHandle, bool bAutoFit = true);
91
103
113
131 virtual const CResult Load(const wchar_t* pWcsPath, const wchar_t* pWcsTextureImagePath, EView3DLoadOption eOption = EView3DLoadOption_Load);
132
150 virtual const CResult Load(const wchar_t* pWcsPath = nullptr, EView3DLoadOption eOption = EView3DLoadOption_Load);
151
173 virtual const CResult Load(const Base::CFLArray<Base::CFLString<wchar_t>>& flaFilePathToLoad, EView3DLoadOption eOption = EView3DLoadOption_Load);
174
192 virtual const CResult Save(const wchar_t* pWcsPath = nullptr, bool bBinaryFormat = true);
193
204 virtual const CResult Clear();
205
225 virtual const CResult PushObject(const FLImaging::Foundation::CFL3DObject& obj, int32_t* pI32ReturnIndex = nullptr);
226
244 virtual const CResult PushObject(const FLImaging::Foundation::CFL3DObjectHeightMap& obj, int32_t* pI32ReturnIndex = nullptr);
245
263 virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObject& obj, int32_t* pI32ReturnIndex = nullptr);
264
282 virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObjectHeightMap& obj, int32_t* pI32ReturnIndex = nullptr);
283
301 virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObjectLine& obj, int32_t* pI32ReturnIndex = nullptr);
302
316 virtual const FLImaging::GUI::CGUIView3DObject* GetView3DObject(int32_t i32ObjectIndex) const;
317
331 virtual int32_t GetObjectIndex(const FLImaging::GUI::CGUIView3DObject* pObject) const;
332
348 virtual const CResult SaveObject(int32_t i32ObjectIndex, const wchar_t* pWcsPath = nullptr);
349
363 virtual const CResult RemoveObject(int32_t i32ObjectIndex);
364
376 virtual const CResult ClearObjects();
377
387 virtual int32_t GetObjectCount() const;
388
404 virtual const CResult UpdateObject(int32_t i32ObjectIndex = -1);
405
421 virtual const CResult SetMeasurementMode(EGUIView3DMeasurementMode eMeasurementMode);
422
435
451 virtual const CResult SetTeachingMode(EGUIView3DTeachingMode eTeachingMode);
452
465
481 virtual const CResult SetRotatePivotType(EGUIView3DRotatePivot eRotatePivotType);
482
495
509 const CResult ShowStatusBar(bool bShow);
510
524 virtual const CResult ShowToolBar(bool bShow) override;
525
534 virtual void ShowCrosshair(bool bShow);
535
544 virtual bool IsCrosshairVisible();
545
554 virtual void ShowAxis(bool bShow);
555
564 virtual bool IsAxisVisible();
565
574 virtual void ShowGrid(bool bShow);
575
584 virtual bool IsGridVisible();
585
594 virtual void ShowLegend(bool bShow);
595
604 virtual bool IsLegendVisible();
605
615 virtual void SetCanvasColor(uint32_t u32Color);
616
626 virtual uint32_t GetCanvasColor() const;
627
640
653
665 virtual const CResult SetCamera(const CGUIView3DCamera& camera);
666
678 virtual const CResult SetCamera(const Foundation::CFL3DCamera& camera);
679
692
693 virtual const CResult InternalZoomIn(int32_t i32CanvasX, int32_t i32CanvasY);
694
695 virtual const CResult InternalZoomOut(int32_t i32CanvasX, int32_t i32CanvasY);
696
708 virtual const CResult ZoomFit();
709
726
743
760
777
796
815
832
848 const Base::TPoint3<double> ConvertCanvasCoordTo3DCoord(int32_t x, int32_t y) const;
849
864
879
895 virtual Foundation::CFLPoint<int32_t> ConvertClientCoordToCanvasCoord(int32_t i32X, int32_t i32Y) const;
896
911
926
942 virtual Foundation::CFLPoint<int32_t> ConvertCanvasCoordToClientCoord(int32_t i32X, int32_t i32Y) const;
943
944
945
958 CGUIView3DLayerWrap GetLayer(int32_t i32Index);
959
966 virtual void ClearAllLayers();
967
979
991
1007
1008
1030
1040 virtual void EnableDragAndDrop(bool bEnable);
1041
1051 virtual bool IsDragAndDropEnabled();
1052
1064 virtual const CGUIView3DObject* GetHitObject() const;
1065
1078
1096 virtual Base::TPoint3<float> UnprojectPoint(int32_t i32CanvasX, int32_t i32CanvasY, float f32Depth) const;
1097
1119 virtual bool GetCursorProjectionPoint(const int32_t& i32CanvasX, const int32_t& i32CanvasY, float& f32ProjectionX, float& f32ProjectionY, float& f32ProjectionZ, const float& f32Tolerance = 10.f);
1120
1140 virtual bool GetCursorProjectionPoint(const int32_t& i32CanvasX, const int32_t& i32CanvasY, Base::TPoint3<float>& tp3fProjection, const float& f32Tolerance = 10.f);
1141
1163 virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint<int32_t>& flpCanvas, float& f32ProjectionX, float& f32ProjectionY, float& f32ProjectionZ, const float& f32Tolerance = 10.f);
1164
1184 virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint<int32_t>& flpCanvas, Base::TPoint3<float>& tp3fProjection, const float& f32Tolerance = 10.f);
1185
1201 virtual void GetCursorPosOnLButtonDown(Foundation::CFLPoint<int32_t>& flpCanvas, Base::TPoint3<float>* pTp3fProjection = nullptr) const;
1202
1210 virtual void UpdateScreen();
1211
1227 virtual const CResult SetTopologyType(Foundation::ETopologyType3D eTopologyType = Foundation::ETopologyType3D_Solid);
1228
1241
1257 virtual const CResult SetShadingType(Foundation::EShadingType3D eObjectShadingType = Foundation::EShadingType3D_Phong);
1258
1271
1285 virtual const CResult SetPointSize(float f32PointSize = 1.f);
1286
1296 virtual float GetPointSize() const;
1297
1309 virtual const CResult ClearROI();
1310
1326 virtual const CResult PushBackROI(const Base::TRect<float>* pTr);
1327
1344
1360 virtual const CResult PushBackROI(const Foundation::CFLFigure* pFlf);
1361
1375 virtual const CResult RemoveROI(int32_t i32Index);
1376
1394 virtual const CResult GetROI(int32_t i32Index, Foundation::CFLFrustum<float>& frustumResult) const;
1395
1413 virtual const CResult GetAllROI(Foundation::CFLFigureArray* pFlfaResult) const;
1414
1424 virtual int32_t GetROICount() const;
1425
1445 virtual const CResult ConvertROI2DTo3D(const Base::TRect<int32_t>& tr, Foundation::CFLFrustum<float>& frustumResult) const;
1446
1467
1491 virtual const CResult ConvertROI2DTo3D(int32_t i32Left, int32_t i32Top, int32_t i32Right, int32_t i32Bottom, Foundation::CFLFrustum<float>& frustumResult) const;
1492
1506 virtual const CResult SetPanningMode(bool bSet);
1507
1517 virtual bool IsPanningMode() const;
1518
1532 virtual const CResult SetRectangleSelectionMode(bool bSet);
1533
1543 virtual bool IsRectangleSelectionMode() const;
1544
1560 virtual const CResult SetZoomMode(EZoomMode eZoomMode);
1561
1573 virtual EZoomMode GetZoomMode() const;
1574
1591
1604
1621
1634
1649 virtual const CResult SetDecimalPlaceOfCoordinate(uint8_t u8DecimalPlace = 2);
1650
1660 virtual uint8_t GetDecimalPlaceOfCoordinate() const;
1661
1678 virtual const CResult CaptureScreen(Base::CFLImage& fliImage, bool bIncludeFrame = false);
1679
1696 virtual const CResult CaptureScreen(Base::CFLImage* pFliImage, bool bIncludeFrame = false);
1697
1711 virtual bool IsSynchronized(EView3DSyncOption eView3DSyncOption) const;
1712
1726 virtual CGUIView3DWrap* GetRootSyncView(EView3DSyncOption eView3DSyncOption) const;
1727
1743 virtual const CResult ResignRootSyncView(EView3DSyncOption eView3DSyncOption);
1744
1758 virtual const CResult SynchronizePointOfView(const CGUIView3DWrap* pTargetView);
1759
1773 virtual const CResult DesynchronizePointOfView(const CGUIView3DWrap* pTargetView);
1774
1787
1788 private:
1789 void operator=(const CGUIView3DWrap& rh);
1790 CGUIView3DWrap(const CGUIView3DWrap& rh);
1791
1792 DeclareGetClassType();
1793 };
1794 }
1795}
1796
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging의 이미지 클래스
Definition FLImage.h:35
Template type 의 문자열 클래스
Definition INIUtilities.h:20
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
직사각형을 표현하는 간략화된 클래스
Definition TRect.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
3D 카메라 클래스
Definition FL3DCamera.h:32
3D 객체의 높이 맵 데이터를 표현하는 클래스
Definition FL3DObjectHeightMap.h:23
3D 객체의 데이터를 표현하는 클래스
Definition FL3DObject.h:37
도형 배열을 표현하는 클래스
Definition FLFigureArray.h:26
도형을 표현하는 클래스의 기저 클래스
Definition FLFigure.h:27
절두체를 표현하는 클래스
Definition FLFrustum.h:26
점을 표현하는 클래스
Definition FLPoint.h:24
직사각형을 표현하는 클래스
Definition FLRect.h:24
3D 뷰 카메라 클래스
Definition GUIView3DCamera.h:28
3D 뷰 레이어 C API 래핑 클래스
Definition GUIView3DLayerWrap.h:30
3D 객체(높이 맵)를 표현하는 클래스
Definition GUIView3DObjectHeightMap.h:22
3D 객체를 표현하는 클래스
Definition GUIView3DObject.h:25
3D 라인을 표현하는 클래스
Definition GUIView3DObjectLine.h:24
3D 뷰 C API 래핑 클래스
Definition GUIView3DWrap.h:35
virtual const CResult DesynchronizePointOfViewAll()
현재 뷰의 시점 동기화를 해제합니다.
virtual const CResult DesynchronizePointOfView(const CGUIView3DWrap *pTargetView)
파라미터의 뷰에 대해 시점 동기화를 해제합니다.
virtual bool IsRectangleSelectionMode() const
사각형으로 객체를 선택하는 모드의 활성화 또는 비활성화 여부를 리턴합니다.
virtual bool GetCursorProjectionPoint(const int32_t &i32CanvasX, const int32_t &i32CanvasY, Base::TPoint3< float > &tp3fProjection, const float &f32Tolerance=10.f)
화면 좌표를 3D 공간에 투영했을 때, 어떤 객체 위에서 교점이 발생할 경우 true 를 리턴하면서 화면과 가장 가까운 교점을 얻어 오는 함수
virtual int32_t GetObjectIndex(const FLImaging::GUI::CGUIView3DObject *pObject) const
특정 객체의 인덱스를 얻어 옵니다. 해당 mesh 를 뷰에서 찾을 수 없을 경우 -1 을 리턴합니다.
virtual const CResult ConvertROI2DTo3D(const Base::TRect< int32_t > &tr, Foundation::CFLFrustum< float > &frustumResult) const
화면 좌표로 나타낸 사각형을 현재 뷰포트 및 카메라 시점에 의해 절두체 객체로 변환합니다.
virtual void UpdateScreen()
이 3D View 화면을 업데이트 하는 함수
virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObjectLine &obj, int32_t *pI32ReturnIndex=nullptr)
3D 뷰에 CGUIView3DObjectLine 객체를 디스플레이 합니다.
const Base::TPoint3< double > ConvertCanvasCoordTo3DCoord(const Foundation::CFLPoint< int32_t > &point) const
캔버스 좌표를 3D 좌표로 변환합니다.
virtual void ShowAxis(bool bShow)
3D 뷰에서 x, y, z 축을 draw 할지 여부를 설정합니다.
const CResult Create(int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle=0)
3D 뷰의 윈도우를 생성한다.
virtual const CResult RemoveObject(int32_t i32ObjectIndex)
선택한 3D Object 객체를 뷰에서 제거합니다.
virtual const CResult GetAllROI(Foundation::CFLFigureArray *pFlfaResult) const
전체 ROI 사각형들을 현재 뷰의 시점 기준으로 역투영(unprojection)하여 얻은 절두체들을 리턴합니다.
virtual EZoomMode GetZoomMode() const
현재 마우스 왼쪽 버튼 클릭 액션에 설정된 zoom mode 를 반환합니다.
virtual bool IsPanningMode() const
현재 마우스 드래그 액션이 panning 모드인지 여부를 반환합니다.
virtual const CGUIView3DObject * GetHitObject() const
마우스에 닿은 CGUIView3DObject 객체를 얻어 옵니다.
virtual Foundation::ETopologyType3D GetTopologyType() const
이 객체의 표현 방식을 리턴합니다.
virtual const CResult SetPointSize(float f32PointSize=1.f)
포인트 클라우드 그리기에 적용되는 포인트 크기를 설정합니다.
virtual const CResult SetTeachingMode(EGUIView3DTeachingMode eTeachingMode)
3D 뷰의 티칭 모드를 설정합니다.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(double x, double y, double z) const
3D 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult SetRectangleSelectionMode(bool bSet)
사각형으로 객체를 선택하는 모드를 활성화 또는 비활성화합니다.
virtual const CResult PushBackROI(const Foundation::CFLFrustum< float > *pFlfr)
ROI 를 추가합니다.
virtual const FLImaging::GUI::CGUIView3DObject * GetView3DObject(int32_t i32ObjectIndex) const
특정 인덱스의 객체를 뷰에서 얻어 옵니다.
virtual FLImaging::GUI::EAvailableView3DContextMenu GetAvailableView3DContextMenu()
3D 뷰에 대해 가능한 컨텍스트 메뉴를 얻어 옵니다.
const CResult SetRotationAngleLock(EGUIView3DRotationAngle eAngle)
뷰의 회전 각도를 잠급니다. 이는 뷰의 방향을 정밀하게 제어해야 하는 상황에서 유용합니다. 회전 잠금이 설정되면 뷰는 지정된 각도(yaw, pitch,...
virtual uint8_t GetDecimalPlaceOfCoordinate() const
마우스의 교점 좌표의 소수점 표시 자릿수를 얻어 옵니다. 소수점 둘째 자리까지 표시하도록 설정된 경우(예 : 0.01, 2.54 등) 2를 반환합니다.
virtual bool IsAxisVisible()
3D 뷰에서 x, y, z 축을 draw 할지 여부를 얻어옵니다.
virtual const CResult PushBackROI(const Base::TRect< float > *pTr)
ROI 를 뒷쪽에 추가합니다.
const Base::TPoint3< double > ConvertCanvasCoordTo3DCoord(int32_t x, int32_t y) const
캔버스 좌표를 3D 좌표로 변환합니다.
virtual void ShowGrid(bool bShow)
3D 뷰에서 xz 평면에 Grid 를 draw 할지 여부를 설정합니다.
virtual CGUIView3DCamera * GetCamera() const
3D 뷰에 설정된 카메라를 리턴합니다.
virtual const CResult ShowToolBar(bool bShow) override
ToolBar 의 show/hide 여부를 설정합니다.
EGUIView3DHitArea GetHitArea()
3D 뷰의 현재 마우스 위치에 대한 Hit 영역을 얻어 옵니다.
virtual void EnableDragAndDrop(bool bEnable)
드래그 앤 드롭으로 파일 로드 기능 활성화 여부를 설정합니다.
virtual const CResult SetRotatePivotType(EGUIView3DRotatePivot eRotatePivotType)
3D 뷰의 카메라 회전 중심 타입을 설정합니다.
virtual bool IsDragAndDropEnabled()
드래그 앤 드롭으로 파일 로드 기능 활성화 여부를 반환합니다.
virtual void SetSelectionMode(FLImaging::GUI::ESelectionMode3D eSelectionMode)
3D 뷰에서 객체 선택 모드를 설정합니다.
virtual const CResult SetShadingType(Foundation::EShadingType3D eObjectShadingType=Foundation::EShadingType3D_Phong)
객체의 쉐이딩 방식을 설정합니다. 기본값 Foundation::EShadingType3D_Phong 입니다.
virtual const CResult ZoomFit()
3D 객체가 3D 뷰에 모두 들어오도록 3D 뷰의 스케일을 조정합니다.
CGUIView3DLayerWrap GetLayer(int32_t i32Index)
매개변수로 전달된 인덱스의 레이어 포인터를 얻어 옵니다.
virtual const CResult SetZoomMode(EZoomMode eZoomMode)
마우스 왼쪽 버튼 클릭 액션에 Zoom 모드를 설정하거나 설정 해제합니다.
size_t GetWindowHandle()
3D 뷰의 윈도우 핸들을 얻는다.
virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObjectHeightMap &obj, int32_t *pI32ReturnIndex=nullptr)
3D 뷰에 CGUIView3DObjectHeightMap 객체를 디스플레이 합니다.
virtual EGUIView3DTeachingMode GetTeachingMode() const
3D 뷰의 티칭 모드를 얻어 옵니다.
virtual const CResult ConvertROI2DTo3D(const Foundation::CFLRect< int32_t > &flr, Foundation::CFLFrustum< float > &frustumResult) const
화면 좌표로 나타낸 사각형을 현재 뷰포트 및 카메라 시점에 의해 절두체 객체로 변환합니다.
virtual Foundation::CFLRect< int32_t > ConvertCanvasCoordToClientCoord(const Foundation::CFLRect< int32_t > &flr) const
캔버스 좌표를 클라이언트 좌표로 변환합니다.
virtual Foundation::EShadingType3D GetShadingType() const
이 객체의 쉐이딩 방식을 리턴합니다.
virtual const CResult SetCamera(const Foundation::CFL3DCamera &camera)
3D 뷰에 카메라를 설정합니다.
virtual const CResult SetMeasurementMode(EGUIView3DMeasurementMode eMeasurementMode)
3D 뷰의 측정 모드를 설정합니다.
virtual const CResult CaptureScreen(Base::CFLImage *pFliImage, bool bIncludeFrame=false)
현재 화면을 캡쳐합니다.
EGUIView3DAxis GetLockedMovementAxis() const
현재 뷰에서 이동이 제한된 축을 반환합니다.
virtual const CResult ClearROI()
모든 ROI 객체를 제거합니다.
virtual Base::TPoint3< float > UnprojectPoint(int32_t i32CanvasX, int32_t i32CanvasY, float f32Depth) const
화면 좌표를 현재 뷰포트 및 카메라 시점에 의해 역투영 합니다.
virtual const CResult RemoveROI(int32_t i32Index)
ROI 를 제거합니다.
virtual const FLImaging::CResult GetHeightProfile(const FLImaging::Foundation::CFLPoint< int64_t > *pFlpStart, const FLImaging::Foundation::CFLPoint< int64_t > *pFlpEnd, Base::CFLArray< double > *pFlaF64HeightProfile)
모델의 높이 프로파일 정보를 얻습니다.
virtual int32_t GetObjectCount() const
3D 뷰에 추가한 3D Object 객체 개수를 얻어 옵니다.
virtual const CResult Save(const wchar_t *pWcsPath=nullptr, bool bBinaryFormat=true)
파일을 저장합니다. pWcsPath == nullptr 이면 파일 다이얼로그가 팝업 됩니다.
virtual const CResult PushBackROI(const Foundation::CFLFigure *pFlf)
ROI 를 추가합니다.
const CResult SetMovementAxisLock(EGUIView3DAxis eAxis)
특정 축 방향으로의 이동을 제한하는 함수. EGUIView3DAxis_None 으로 설정할 경우 모든 축에 대해 이동 가능합니다.
virtual void SetCanvasColor(uint32_t u32Color)
3D 뷰의 배경색을 설정합니다.
virtual const CResult Load(const wchar_t *pWcsPath=nullptr, EView3DLoadOption eOption=EView3DLoadOption_Load)
파일을 뷰에 불러옵니다. 1채널 이미지 파일, .step, .ply, .obj 확장자 파일 로드가 지원됩니다.
virtual Foundation::CFLRect< int32_t > ConvertClientCoordToCanvasCoord(const Foundation::CFLRect< int32_t > &flr) const
클라이언트 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult ResignRootSyncView(EView3DSyncOption eView3DSyncOption)
특정 옵션에 대해 동기화 되어 있는 뷰들의 root view 가 현재 3D 뷰일 경우, 다른 뷰로 root view 를 교체합니다.
virtual const CResult ClearObjects()
3D 뷰에 추가한 3D Object 객체들을 모두 클리어 합니다.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< float > *pPoint) const
3D 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult ConvertROI2DTo3D(int32_t i32Left, int32_t i32Top, int32_t i32Right, int32_t i32Bottom, Foundation::CFLFrustum< float > &frustumResult) const
화면 좌표로 나타낸 사각형을 현재 뷰포트 및 카메라 시점에 의해 절두체 객체로 변환합니다.
virtual Foundation::CFLPoint< int32_t > ConvertClientCoordToCanvasCoord(const Foundation::CFLPoint< int32_t > &flp) const
클라이언트 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult Clear()
GUI 인터페이스 상에서 이미지 파일을 닫습니다.
virtual void ShowCrosshair(bool bShow)
3D 뷰에서 마우스 커서 위치에 crosshair 를 draw 할 지 여부를 설정합니다.
virtual int32_t GetROICount() const
ROI 의 개수를 얻는다.
virtual void SetAvailableView3DContextMenu(FLImaging::GUI::EAvailableView3DContextMenu eMenu)
3D 뷰에 대해 가능한 컨텍스트 메뉴를 설정합니다.
virtual const CResult SynchronizePointOfView(const CGUIView3DWrap *pTargetView)
파라미터의 뷰와 현재 뷰의 시점을 동기화 합니다.
virtual const FLImaging::CResult SelectMenuItem(FLImaging::GUI::EMenuItemView3D eMenuItem)
선택한 메뉴 아이템에 대한 명령을 수행합니다.
virtual const CResult SetDecimalPlaceOfCoordinate(uint8_t u8DecimalPlace=2)
마우스의 교점 좌표의 소수점 표시 자릿수를 설정합니다. 소수점 둘째 자리까지 표시하려면(예 : 0.01, 2.54 등) 2 를 인자로 전달합니다. 가능한 값의 범위는 0~20입니다.
virtual const CResult CaptureScreen(Base::CFLImage &fliImage, bool bIncludeFrame=false)
현재 화면을 캡쳐합니다.
const CResult ShowStatusBar(bool bShow)
StatusBar 의 show/hide 여부를 설정합니다.
EGUIView3DRotationAngle GetLockedRotationAngle() const
현재 뷰에서 회전이 제한된 각도를 반환합니다.
virtual const CResult Load(const Base::CFLArray< Base::CFLString< wchar_t > > &flaFilePathToLoad, EView3DLoadOption eOption=EView3DLoadOption_Load)
목록에 포함된 파일을 뷰에 불러옵니다.
virtual Foundation::CFLPoint< int32_t > ConvertCanvasCoordToClientCoord(const Foundation::CFLPoint< int32_t > &flp) const
캔버스 좌표를 클라이언트 좌표로 변환합니다.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< double > *pPoint) const
3D 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObject &obj, int32_t *pI32ReturnIndex=nullptr)
3D 뷰에 CGUIView3DObject 객체를 디스플레이 합니다.
virtual bool IsGridVisible()
3D 뷰에서 xz 평면에 Grid 를 draw 할지 여부를 얻어옵니다.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< double > &point) const
3D 좌표를 캔버스 좌표로 변환합니다.
virtual bool GetCursorProjectionPoint(const int32_t &i32CanvasX, const int32_t &i32CanvasY, float &f32ProjectionX, float &f32ProjectionY, float &f32ProjectionZ, const float &f32Tolerance=10.f)
화면 좌표를 3D 공간에 투영했을 때, 어떤 객체 위에서 교점이 발생할 경우 true 를 리턴하면서 화면과 가장 가까운 교점을 얻어 오는 함수
virtual EGUIView3DRotatePivot GetRotatePivotType() const
3D 뷰의 카메라 회전 중심 타입을 얻어 옵니다.
virtual ~CGUIView3DWrap()
기본 소멸자
virtual void ClearAllLayers()
vctDrawingLayers, MeasureLayer, FigureLayer 위의 drawing 객체들을 클리어 합니다.
virtual EGUIView3DMeasurementMode GetMeasurementMode() const
3D 뷰의 측정 모드를 얻어 옵니다.
virtual Foundation::CFLPoint< int32_t > ConvertCanvasCoordToClientCoord(int32_t i32X, int32_t i32Y) const
캔버스 좌표를 클라이언트 좌표로 변환합니다.
virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint< int32_t > &flpCanvas, float &f32ProjectionX, float &f32ProjectionY, float &f32ProjectionZ, const float &f32Tolerance=10.f)
화면 좌표를 3D 공간에 투영했을 때, 어떤 객체 위에서 교점이 발생할 경우 true 를 리턴하면서 화면과 가장 가까운 교점을 얻어 오는 함수
virtual const CResult PushObject(const FLImaging::Foundation::CFL3DObject &obj, int32_t *pI32ReturnIndex=nullptr)
3D 뷰에 CFL3DObject 객체를 디스플레이 합니다.
virtual const CResult PushObject(const FLImaging::Foundation::CFL3DObjectHeightMap &obj, int32_t *pI32ReturnIndex=nullptr)
3D 뷰에 CFL3DObjectHeightMap 객체를 디스플레이 합니다.
virtual const CResult SetTopologyType(Foundation::ETopologyType3D eTopologyType=Foundation::ETopologyType3D_Solid)
객체의 표현 방식을 설정합니다. 기본값 Foundation::ETopologyType3D_Solid 입니다.
virtual const CResult SetPanningMode(bool bSet)
현재 마우스 드래그 액션을 panning 모드로 설정하거나 설정 해제합니다.
virtual float GetPointSize() const
포인트 클라우드 그리기에 적용되는 포인트 크기를 리턴합니다.
virtual bool IsLegendVisible()
3D 뷰에서 범례 표시 여부를 얻어옵니다.
virtual CGUIView3DWrap * GetRootSyncView(EView3DSyncOption eView3DSyncOption) const
특정 옵션에 대해 현재 3D 뷰와 동기화 되어 있는 root view 를 얻어 옵니다.
virtual Foundation::CFLPoint< int32_t > ConvertClientCoordToCanvasCoord(int32_t i32X, int32_t i32Y) const
클라이언트 좌표를 캔버스 좌표로 변환합니다.
CGUIView3DWrap()
기본 생성자
virtual bool IsSynchronized(EView3DSyncOption eView3DSyncOption) const
특정 옵션에 대해 현재 3D 뷰가 다른 3D 뷰와 동기화 되어 있는지 여부를 반환합니다.
const CResult Destroy()
3D 뷰의 윈도우를 소멸한다.
virtual const CResult SaveObject(int32_t i32ObjectIndex, const wchar_t *pWcsPath=nullptr)
선택한 3D Object 객체를 파일로 저장합니다. pWcsPath == nullptr 이면 파일 다이얼로그가 팝업 됩니다.
virtual const CResult UpdateObject(int32_t i32ObjectIndex=-1)
메쉬에 변경 사항이 있을 경우, 변경 사항을 업데이트하여 다시 그립니다.
const CResult CreateAndFitParent(size_t stParentWindowHandle, bool bAutoFit=true)
이미지 뷰의 윈도우를 생성 후 부모 윈도우의 크기로 이미지 뷰의 크기를 변경한다.
virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint< int32_t > &flpCanvas, Base::TPoint3< float > &tp3fProjection, const float &f32Tolerance=10.f)
화면 좌표를 3D 공간에 투영했을 때, 어떤 객체 위에서 교점이 발생할 경우 true 를 리턴하면서 화면과 가장 가까운 교점을 얻어 오는 함수
virtual uint32_t GetCanvasColor() const
3D 뷰의 배경색을 얻어옵니다.
virtual void GetCursorPosOnLButtonDown(Foundation::CFLPoint< int32_t > &flpCanvas, Base::TPoint3< float > *pTp3fProjection=nullptr) const
마우스 왼쪽 버튼을 누른 시점의 좌표를 얻어 옵니다.
virtual FLImaging::GUI::ESelectionMode3D GetSelectionMode()
3D 뷰에서 객체 선택 모드를 얻어옵니다.
virtual const CResult SetCamera(const CGUIView3DCamera &camera)
3D 뷰에 카메라를 설정합니다.
virtual void ShowLegend(bool bShow)
3D 뷰에서 범례 표시 여부를 설정합니다.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< float > &point) const
3D 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult GetROI(int32_t i32Index, Foundation::CFLFrustum< float > &frustumResult) const
파라미터로 전달한 인덱스에 해당하는 ROI 사각형을 현재 뷰의 시점 기준으로 역투영(unprojection)하여 얻은 절두체를 리턴합니다.
virtual bool IsCrosshairVisible()
3D 뷰에서 마우스 커서 위치에 crosshair 를 draw 할 지 여부를 얻어옵니다.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(float x, float y, float z) const
3D 좌표를 캔버스 좌표로 변환합니다.
virtual const CResult Load(const wchar_t *pWcsPath, const wchar_t *pWcsTextureImagePath, EView3DLoadOption eOption=EView3DLoadOption_Load)
파일을 뷰에 불러옵니다. 1채널 이미지 파일 로드가 지원됩니다.
뷰 C API 래핑 클래스의 기반 클래스
Definition GUIViewImageBaseWrap.h:28
ETopologyType3D
3D 객체의 표현 방식
Definition Definitions3D.h:125
EShadingType3D
3D 객체 타입
Definition Definitions3D.h:75
EMenuItemView3D
3D 뷰의 팝업 메뉴 아이템
Definition GUIView3DDefinitions.h:87
EGUIView3DAxis
3D 뷰의 축
Definition GUIView3DDefinitions.h:2335
EGUIView3DRotationAngle
3D 뷰의 회전축
Definition GUIView3DDefinitions.h:2430
ESelectionMode3D
3D 뷰의 객체 선택 모드
Definition GUIView3DDefinitions.h:2059
EGUIView3DRotatePivot
3D 뷰 카메라의 회전 중심 타입
Definition GUIView3DDefinitions.h:2293
EGUIView3DTeachingMode
3D 뷰의 티칭 모드
Definition GUIView3DDefinitions.h:1800
EView3DLoadOption
3D 뷰의 불러오기 옵션 Example. 다음 코드는 재귀적인 폴더를 로드합니다. eOption = Load | RecursiveIfFolder
Definition GUIView3DDefinitions.h:2529
EView3DSyncOption
3D 뷰 동기화 옵션
Definition GUIView3DDefinitions.h:3018
EGUIView3DMeasurementMode
3D 뷰의 측정 모드
Definition GUIView3DDefinitions.h:1837
EGUIView3DHitArea
3D 뷰 위에서 마우스가 위치한 영역
Definition GUIView3DDefinitions.h:1901
EZoomMode
이미지 뷰의 스케일 설정 모드입니다.
Definition GUIDefinitions.h:5245
EAvailableView3DContextMenu
3D 뷰에 대한 가능한 컨텍스트 메뉴
Definition GUIView3DDefinitions.h:1301