FLImaging 6.12.9.2
GUIView3DWrap.h
1#pragma once
2
10
11#include "GUIViewImageBaseWrap.h"
12
13#include "GUIView3DLayerWrap.h"
14#include "DefinitionsGUI.h"
15
17namespace FLImaging
18{
20 namespace GUI
21 {
22 class CGUIView3DObject;
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
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
420
433
449
464
482 virtual const CResult SetHeightMapColorMappingRange(float f32RangeMin, float f32RangeMax);
483
496
512 virtual const CResult GetHeightMapColorMappingRange(float& f32RangeMin, float& f32RangeMax) const;
513
529 virtual const CResult SetMeasurementMode(EGUIView3DMeasurementMode eMeasurementMode);
530
543
559 virtual const CResult SetTeachingMode(EGUIView3DTeachingMode eTeachingMode);
560
573
589 virtual const CResult SetRotatePivotType(EGUIView3DRotatePivot eRotatePivotType);
590
603
617 const CResult ShowStatusBar(bool bShow);
618
632 virtual const CResult ShowToolBar(bool bShow) override;
633
642 virtual void ShowCrosshair(bool bShow);
643
652 virtual bool IsCrosshairVisible();
653
662 virtual void ShowAxis(bool bShow);
663
672 virtual bool IsAxisVisible();
673
682 virtual void ShowGrid(bool bShow);
683
692 virtual bool IsGridVisible();
693
702 virtual void ShowLegend(bool bShow);
703
712 virtual bool IsLegendVisible();
713
723 virtual void SetCanvasColor(uint32_t u32Color);
724
734 virtual uint32_t GetCanvasColor() const;
735
748
761
773 virtual const CResult SetCamera(const CGUIView3DCamera& camera);
774
786 virtual const CResult SetCamera(const Foundation::CFL3DCamera& camera);
787
800
815 virtual const CResult LoadCamera(const wchar_t* pWcsFilePath = nullptr);
816
832 virtual const CResult SaveCamera(const wchar_t* pWcsFilePath = nullptr, uint8_t u8DecimalPlaces = 10);
833
834 virtual const CResult InternalZoomIn(int32_t i32CanvasX, int32_t i32CanvasY);
835
836 virtual const CResult InternalZoomOut(int32_t i32CanvasX, int32_t i32CanvasY);
837
851 virtual const CResult ZoomFit(int32_t i32ObjectIndex = -1);
852
869
886
903
920
939
958
975
991 const Base::TPoint3<double> ConvertCanvasCoordTo3DCoord(int32_t x, int32_t y) const;
992
1007
1022
1038 virtual Foundation::CFLPoint<int32_t> ConvertClientCoordToCanvasCoord(int32_t i32X, int32_t i32Y) const;
1039
1054
1069
1085 virtual Foundation::CFLPoint<int32_t> ConvertCanvasCoordToClientCoord(int32_t i32X, int32_t i32Y) const;
1086
1087
1088
1102
1109 virtual void ClearAllLayers();
1110
1122
1134
1150
1151
1173
1183 virtual void EnableDragAndDrop(bool bEnable);
1184
1194 virtual bool IsDragAndDropEnabled();
1195
1207 virtual const CGUIView3DObject* GetHitObject() const;
1208
1221
1239 virtual Base::TPoint3<float> UnprojectPoint(int32_t i32CanvasX, int32_t i32CanvasY, float f32Depth) const;
1240
1262 virtual bool GetCursorProjectionPoint(const int32_t& i32CanvasX, const int32_t& i32CanvasY, float& f32ProjectionX, float& f32ProjectionY, float& f32ProjectionZ, const float& f32Tolerance = 10.f);
1263
1283 virtual bool GetCursorProjectionPoint(const int32_t& i32CanvasX, const int32_t& i32CanvasY, Base::TPoint3<float>& tp3fProjection, const float& f32Tolerance = 10.f);
1284
1306 virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint<int32_t>& flpCanvas, float& f32ProjectionX, float& f32ProjectionY, float& f32ProjectionZ, const float& f32Tolerance = 10.f);
1307
1327 virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint<int32_t>& flpCanvas, Base::TPoint3<float>& tp3fProjection, const float& f32Tolerance = 10.f);
1328
1344 virtual void GetCursorPosOnLButtonDown(Foundation::CFLPoint<int32_t>& flpCanvas, Base::TPoint3<float>* pTp3fProjection = nullptr) const;
1345
1353 virtual void UpdateScreen();
1354
1371
1384
1401
1414
1428 virtual const CResult SetPointSize(float f32PointSize = 1.f);
1429
1439 virtual float GetPointSize() const;
1440
1452 virtual const CResult ClearROI();
1453
1469 virtual const CResult PushBackROI(const Base::TRect<float>* pTr);
1470
1487
1503 virtual const CResult PushBackROI(const Foundation::CFLFigure* pFlf);
1504
1518 virtual const CResult RemoveROI(int32_t i32Index);
1519
1537 virtual const CResult GetROI(int32_t i32Index, Foundation::CFLFrustum3<float>& frustumResult) const;
1538
1556 virtual const CResult GetAllROI(Foundation::CFLFigureArray* pFlfaResult) const;
1557
1567 virtual int32_t GetROICount() const;
1568
1588 virtual const CResult ConvertROI2DTo3D(const Base::TRect<int32_t>& tr, Foundation::CFLFrustum3<float>& frustumResult) const;
1589
1610
1634 virtual const CResult ConvertROI2DTo3D(int32_t i32Left, int32_t i32Top, int32_t i32Right, int32_t i32Bottom, Foundation::CFLFrustum3<float>& frustumResult) const;
1635
1649 virtual const CResult SetPanningMode(bool bSet);
1650
1660 virtual bool IsPanningMode() const;
1661
1675 virtual const CResult SetRectangleSelectionMode(bool bSet);
1676
1686 virtual bool IsRectangleSelectionMode() const;
1687
1703 virtual const CResult SetZoomMode(EZoomMode eZoomMode);
1704
1716 virtual EZoomMode GetZoomMode() const;
1717
1734
1747
1764
1777
1792 virtual const CResult SetDecimalPlacesOfCoordinate(uint8_t u8DecimalPlaces = 2);
1793
1803 virtual uint8_t GetDecimalPlacesOfCoordinate() const;
1804
1821 virtual const CResult CaptureScreen(Base::CFLImage& fliImage, bool bIncludeFrame = false);
1822
1839 virtual const CResult CaptureScreen(Base::CFLImage* pFliImage, bool bIncludeFrame = false);
1840
1854 virtual bool IsSynchronized(EView3DSyncOption eView3DSyncOption) const;
1855
1869 virtual CGUIView3DWrap* GetRootSyncView(EView3DSyncOption eView3DSyncOption) const;
1870
1886 virtual const CResult ResignRootSyncView(EView3DSyncOption eView3DSyncOption);
1887
1901 virtual const CResult SynchronizePointOfView(const CGUIView3DWrap* pTargetView);
1902
1916 virtual const CResult DesynchronizePointOfView(const CGUIView3DWrap* pTargetView);
1917
1930
1941
1951 bool DoesObjectExist() const;
1952
1963
1973 virtual int32_t GetObjectSTEPCount() const;
1974
1988 virtual const CResult RemoveObjectSTEP(int32_t i32ObjectSTEPIndex);
1989
2001 virtual const CResult ClearObjectsSTEP();
2002
2022 virtual const CResult ConvertObjectSTEPToPointCloud(int32_t i32ObjectSTEPIndex, int32_t& i32ResultObjectIndex, bool bEraseObjectSTEP = true);
2023
2039 virtual CGUIView3DObject* GetPointCloudFromObjectSTEP(int32_t i32ObjectSTEPIndex) const;
2040
2041 private:
2042 void operator=(const CGUIView3DWrap& rh);
2043 CGUIView3DWrap(const CGUIView3DWrap& rh);
2044
2045 DeclareGetClassType();
2046 };
2047 }
2048}
2049
Template type 의 배열 클래스.
Definition FLArray.h:53
FLImaging의 이미지 클래스
Definition FLImage.h:35
Template type 의 문자열 클래스
Definition FLString.h:34
3차원 점을 표현하는 간략화된 클래스
Definition TPoint3.h:37
직사각형을 표현하는 간략화된 클래스
Definition TRect.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1640
3D 카메라 클래스
Definition FL3DCamera.h:32
3D 객체의 높이맵 데이터를 표현하는 클래스
Definition FL3DObjectHeightMap.h:27
3D 객체의 데이터를 표현하는 클래스
Definition FL3DObject.h:42
도형 배열을 표현하는 클래스
Definition FLFigureArray.h:26
도형을 표현하는 클래스의 기저 클래스
Definition FLFigure.h:27
절두체를 표현하는 클래스
Definition FLFrustum3.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
virtual const CResult GetHeightMapColorMappingRange(float &f32RangeMin, float &f32RangeMax) const
현재 설정되어 있는 사용자 지정 색상 매핑 범위를 가져옵니다.
virtual const CResult DesynchronizePointOfViewAll()
현재 뷰의 시점 동기화를 해제합니다.
virtual const CResult ZoomFit(int32_t i32ObjectIndex=-1)
i32ObjectIndex번째 객체가 3D 뷰에 모두 들어오도록 3D 뷰의 스케일을 조정합니다.
virtual const CResult DesynchronizePointOfView(const CGUIView3DWrap *pTargetView)
파라미터의 뷰에 대해 시점 동기화를 해제합니다.
virtual const CResult SetDecimalPlacesOfCoordinate(uint8_t u8DecimalPlaces=2)
마우스의 교점 좌표의 소수점 표시 자릿수를 설정합니다. 소수점 둘째 자리까지 표시하려면(예 : 0.01, 2.54 등) 2 를 인자로 전달합니다. 가능한 값의 범위는 0~20입니다.
virtual const CResult ConvertObjectSTEPToPointCloud(int32_t i32ObjectSTEPIndex, int32_t &i32ResultObjectIndex, bool bEraseObjectSTEP=true)
3D 뷰에 있는 STEP 객체를 포인트 클라우드로 변환하여 이 뷰에 CGUIView3DObject 형태로 추가합니다.
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 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 객체를 뷰에서 제거합니다.
bool DoesHeightMapExist() const
높이 맵 객체(CGUIView3DObjectHeightMap) 존재하는지 확인합니다.
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 FLImaging::GUI::CGUIView3DObject * GetView3DObject(int32_t i32ObjectIndex) const
특정 인덱스의 객체를 뷰에서 얻어 옵니다.
virtual const CResult RemoveObjectSTEP(int32_t i32ObjectSTEPIndex)
선택한 STEP 객체를 뷰에서 제거합니다.
virtual FLImaging::GUI::EAvailableView3DContextMenu GetAvailableView3DContextMenu()
3D 뷰에 대해 가능한 컨텍스트 메뉴를 얻어 옵니다.
const CResult SetRotationAngleLock(EGUIView3DRotationAngle eAngle)
뷰의 회전 각도를 잠급니다. 이는 뷰의 방향을 정밀하게 제어해야 하는 상황에서 유용합니다. 회전 잠금이 설정되면 뷰는 지정된 각도(yaw, pitch,...
virtual void SetHeightMapColorMappingMode(Foundation::E3DHeightMapColorMappingMode eMode=Foundation::E3DHeightMapColorMappingMode_ImageRange)
HeightMap 객체의 Vertex Color 생성에 사용할 색상 매핑 모드를 설정합니다. 전체 이미지 값 범위를 사용할지, 사용자 지정 범위를 사용할지를 결정합니다.
virtual bool IsAxisVisible()
3D 뷰에서 x, y, z 축을 draw 할지 여부를 얻어옵니다.
virtual const CResult PushBackROI(const Base::TRect< float > *pTr)
ROI 를 뒷쪽에 추가합니다.
virtual Foundation::E3DHeightMapColorMappingDirection GetHeightMapColorMappingDirection() const
현재 설정된 색상 매핑 방향을 반환합니다. 증가(최솟값→파랑, 최댓값→빨강) 또는 감소(최댓값→파랑, 최솟값→빨강) 모드 중 하나입니다.
const Base::TPoint3< double > ConvertCanvasCoordTo3DCoord(int32_t x, int32_t y) const
캔버스 좌표를 3D 좌표로 변환합니다.
virtual void ShowGrid(bool bShow)
3D 뷰에서 xz 평면에 Grid 를 draw 할지 여부를 설정합니다.
virtual const CResult LoadCamera(const wchar_t *pWcsFilePath=nullptr)
3D 뷰의 카메라에 파일로부터 로드한 값을 설정합니다.
virtual const CResult SaveCamera(const wchar_t *pWcsFilePath=nullptr, uint8_t u8DecimalPlaces=10)
3D 뷰에 설정된 카메라를 파일로 저장합니다.
virtual CGUIView3DCamera * GetCamera() const
3D 뷰에 설정된 카메라를 리턴합니다.
virtual const CResult ShowToolBar(bool bShow) override
ToolBar 의 show/hide 여부를 설정합니다.
virtual int32_t GetObjectSTEPCount() const
3D 뷰에 추가한 STEP 객체 개수를 얻어 옵니다.
EGUIView3DHitArea GetHitArea()
3D 뷰의 현재 마우스 위치에 대한 Hit 영역을 얻어 옵니다.
virtual void EnableDragAndDrop(bool bEnable)
드래그 앤 드롭으로 파일 로드 기능 활성화 여부를 설정합니다.
virtual const CResult PushBackROI(const Foundation::CFLFrustum3< float > *pFlfr)
ROI 를 추가합니다.
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 ClearHeightMapColorMappingRange()
사용자가 지정한 색상 매핑 범위를 해제하고, 전체 이미지 값 범위를 기반으로 자동 색상 매핑 방식으로 되돌립니다.
virtual const CResult ConvertROI2DTo3D(int32_t i32Left, int32_t i32Top, int32_t i32Right, int32_t i32Bottom, Foundation::CFLFrustum3< float > &frustumResult) const
화면 좌표로 나타낸 사각형을 현재 뷰포트 및 카메라 시점에 의해 절두체 객체로 변환합니다.
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 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 void SetHeightMapColorMappingDirection(Foundation::E3DHeightMapColorMappingDirection eDirection=Foundation::E3DHeightMapColorMappingDirection_Increasing)
색상 매핑의 진행 방향을 설정합니다. 증가 모드에서는 값이 낮을수록 파란색, 높을수록 빨간색으로 매핑되고, 감소 모드에서는 이 색상 진행 방향이 반대로 적용됩니다.
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 uint8_t GetDecimalPlacesOfCoordinate() const
마우스의 교점 좌표의 소수점 표시 자릿수를 얻어 옵니다. 소수점 둘째 자리까지 표시하도록 설정된 경우(예 : 0.01, 2.54 등) 2를 반환합니다.
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 const CResult ConvertROI2DTo3D(const Foundation::CFLRect< int32_t > &flr, Foundation::CFLFrustum3< float > &frustumResult) const
화면 좌표로 나타낸 사각형을 현재 뷰포트 및 카메라 시점에 의해 절두체 객체로 변환합니다.
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 const CResult ConvertROI2DTo3D(const Base::TRect< int32_t > &tr, Foundation::CFLFrustum3< float > &frustumResult) const
화면 좌표로 나타낸 사각형을 현재 뷰포트 및 카메라 시점에 의해 절두체 객체로 변환합니다.
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 좌표를 캔버스 좌표로 변환합니다.
bool DoesObjectSTEPExist() const
STEP 형식의 객체가 존재하는지 확인합니다.
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 CGUIView3DObject * GetPointCloudFromObjectSTEP(int32_t i32ObjectSTEPIndex) const
3D 뷰에 있는 STEP 객체를 포인트 클라우드로 변환하여 CGUIView3DObject 형태로 반환합니다.
virtual const CResult SynchronizePointOfView(const CGUIView3DWrap *pTargetView)
파라미터의 뷰와 현재 뷰의 시점을 동기화 합니다.
virtual const FLImaging::CResult SelectMenuItem(FLImaging::GUI::EMenuItemView3D eMenuItem)
선택한 메뉴 아이템에 대한 명령을 수행합니다.
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
캔버스 좌표를 클라이언트 좌표로 변환합니다.
bool DoesObjectExist() const
CGUIView3DObject 객체가 존재하는지 확인합니다.
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 SetHeightMapColorMappingRange(float f32RangeMin, float f32RangeMax)
색상 매핑(Color Mapping)에 사용할 값의 범위를 설정합니다. 범위를 설정하면 전체 이미지 값 범위 대신, 지정한 고정 범위를 기준으로 색이 매핑됩니다.
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 const CResult ClearObjectsSTEP()
3D 뷰에 추가한 STEP 객체들을 모두 클리어 합니다.
virtual float GetPointSize() const
포인트 클라우드 그리기에 적용되는 포인트 크기를 리턴합니다.
virtual bool IsLegendVisible()
3D 뷰에서 범례 표시 여부를 얻어옵니다.
virtual Foundation::E3DHeightMapColorMappingMode GetHeightMapColorMappingMode() const
Vertex Color 생성에 사용 중인 색상 매핑 모드를 반환합니다.
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)
내부 데이터(CFL3DObject)에 변경 사항이 있을 경우, 변경 사항을 업데이트하여 다시 그리기 위해 호출하는 함수입니다.
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 const CResult GetROI(int32_t i32Index, Foundation::CFLFrustum3< float > &frustumResult) const
파라미터로 전달한 인덱스에 해당하는 ROI 사각형을 현재 뷰의 시점 기준으로 역투영(unprojection)하여 얻은 절두체를 리턴합니다.
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 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채널 이미지 파일 로드가 지원됩니다.
E3DHeightMapColorMappingDirection
Vertex Color Array 에 적용되는 색상 매핑의 진행 방향을 지정하는 열거형입니다. 증가 모드에서는 최솟값이 파란색, 최댓값이 빨간색이 되며,...
Definition Definitions3D.h:398
@ E3DHeightMapColorMappingDirection_Increasing
증가 색상 매핑 모드입니다. 최솟값 → 파란색, 중간값 → 초록색, 최댓값 → 빨간색 순으로 색이 변화합니다.
Definition Definitions3D.h:417
E3DHeightMapColorMappingMode
Foundation::CFL3DObjectHeightMap 객체의 Vertex Color가 어떤 방식으로 결정되는지를 지정하는 열거형입니다.
Definition Definitions3D.h:356
@ E3DHeightMapColorMappingMode_ImageRange
높이맵 이미지의 전체 픽셀 값 범위를 기반으로 Vertex Color를 구성하는 모드입니다.
Definition Definitions3D.h:373
ETopologyType3D
3D 객체의 표현 방식
Definition Definitions3D.h:125
@ ETopologyType3D_Solid
Solid 모델링(객체의 외부와 내부를 구분하고, 볼륨을 가지며, 면이 표시됩니다.)
Definition Definitions3D.h:159
EShadingType3D
3D 객체 타입
Definition Definitions3D.h:75
@ EShadingType3D_Phong
Phong 쉐이딩
Definition Definitions3D.h:106
Definition D2DObject.h:12
EMenuItemView3D
3D 뷰의 팝업 메뉴 아이템
Definition DefinitionsGUIView3D.h:119
EGUIView3DAxis
3D 뷰의 축
Definition DefinitionsGUIView3D.h:2633
EGUIView3DRotationAngle
3D 뷰의 회전축
Definition DefinitionsGUIView3D.h:2728
EGUIView3DRotatePivot
3D 뷰 카메라의 회전 중심 타입
Definition DefinitionsGUIView3D.h:2591
EGUIView3DTeachingMode
3D 뷰의 티칭 모드
Definition DefinitionsGUIView3D.h:2062
EView3DLoadOption
3D 뷰의 불러오기 옵션 Example. 다음 코드는 재귀적인 폴더를 로드합니다. eOption = Load | RecursiveIfFolder
Definition DefinitionsGUIView3D.h:2827
@ EView3DLoadOption_Load
불러오기
Definition DefinitionsGUIView3D.h:2842
EView3DSyncOption
3D 뷰 동기화 옵션
Definition DefinitionsGUIView3D.h:3316
ESelectionMode3D
3D 뷰의 객체 선택 모드
Definition DefinitionsGUIView3D.h:2357
EGUIView3DMeasurementMode
3D 뷰의 측정 모드
Definition DefinitionsGUIView3D.h:2135
EGUIView3DHitArea
3D 뷰 위에서 마우스가 위치한 영역
Definition DefinitionsGUIView3D.h:2199
EZoomMode
이미지 뷰의 스케일 설정 모드입니다.
Definition DefinitionsGUI.h:5627
EAvailableView3DContextMenu
3D 뷰에 대한 가능한 컨텍스트 메뉴
Definition DefinitionsGUIView3D.h:1506