11#include "GUIViewImageBaseWrap.h"
13#include "GUIView3DLayerWrap.h"
14#include "GUIDefinitions.h"
22 class CGUIView3DObject;
23 class CGUIView3DObjectHeightMap;
24 class CGUIView3DObjectLine;
25 class CGUIView3DCamera;
73 const CResult Create(int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B,
size_t stParentWindowHandle = 0);
192 virtual const CResult Save(
const wchar_t* pWcsPath =
nullptr,
bool bBinaryFormat =
true);
693 virtual const CResult InternalZoomIn(int32_t i32CanvasX, int32_t i32CanvasY);
695 virtual const CResult InternalZoomOut(int32_t i32CanvasX, int32_t i32CanvasY);
1119 virtual bool GetCursorProjectionPoint(
const int32_t& i32CanvasX,
const int32_t& i32CanvasY,
float& f32ProjectionX,
float& f32ProjectionY,
float& f32ProjectionZ,
const float& f32Tolerance = 10.f);
1792 DeclareGetClassType();
Template type array class.
Definition RangeTree.h:19
FLIMaging's image class.
Definition FLImage.h:35
Template type string class.
Definition INIUtilities.h:20
Simplified class representing a 3-D point.
Definition TPoint3.h:37
Simplified class representing a rectangle.
Definition TRect.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1514
A class of 3D camera.
Definition FL3DCamera.h:32
A class representing 3D object height map data.
Definition FL3DObjectHeightMap.h:23
A class representing 3D object data.
Definition FL3DObject.h:37
A class representing a frustum.
Definition FLFrustum.h:26
A class representing a point.
Definition FLPoint.h:24
A class representing a rectangle.
Definition FLRect.h:24
A class of 3D view camera.
Definition GUIView3DCamera.h:28
3D view layer C API wrapping class
Definition GUIView3DLayerWrap.h:30
A class representing 3D Object of height map.
Definition GUIView3DObjectHeightMap.h:22
A class representing 3D object.
Definition GUIView3DObject.h:25
A class representing 3D object line.
Definition GUIView3DObjectLine.h:24
3D view C API wrapping class
Definition GUIView3DWrap.h:35
virtual const CResult DesynchronizePointOfViewAll()
Desynchronize the current view's viewpoint.
virtual const CResult DesynchronizePointOfView(const CGUIView3DWrap *pTargetView)
Turn off viewpoint synchronization for the parameter's view.
virtual bool IsRectangleSelectionMode() const
Return whether the mode for selecting objects with a rectangle is enabled or disabled.
virtual bool GetCursorProjectionPoint(const int32_t &i32CanvasX, const int32_t &i32CanvasY, Base::TPoint3< float > &tp3fProjection, const float &f32Tolerance=10.f)
A function that obtains the closest intersection point to the screen by returning true when the inter...
virtual int32_t GetObjectIndex(const FLImaging::GUI::CGUIView3DObject *pObject) const
Gets the index of object. Returns -1 if the mesh is not in this view.
virtual const CResult ConvertROI2DTo3D(const Base::TRect< int32_t > &tr, Foundation::CFLFrustum< float > &frustumResult) const
Converts a rectangle defined by screen coordinates into a frustum object based on the current viewpor...
virtual void UpdateScreen()
Update this view.
virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObjectLine &obj, int32_t *pI32ReturnIndex=nullptr)
Draws a CGUIView3DObjectLine object on 3D view.
const Base::TPoint3< double > ConvertCanvasCoordTo3DCoord(const Foundation::CFLPoint< int32_t > &point) const
Convert canvas coordinates to 3D coordinates.
virtual void ShowAxis(bool bShow)
Sets whether the x, y, and z axes are drawn in a 3D view.
const CResult Create(int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle=0)
Create a window for a 3D view.
virtual const CResult RemoveObject(int32_t i32ObjectIndex)
Remove the 3D object.
virtual const CResult GetAllROI(Foundation::CFLFigureArray *pFlfaResult) const
Returns the frustums obtained by unprojecting every ROI rectangle based on the current view perspecti...
virtual EZoomMode GetZoomMode() const
Return the current zoom mode set for the left mouse button click action.
virtual bool IsPanningMode() const
Return whether the current mouse drag action is in panning mode.
virtual const CGUIView3DObject * GetHitObject() const
Returns the CGUIView3DObject object hit by mouse.
virtual Foundation::ETopologyType3D GetTopologyType() const
Returns the type of topology of this object.
virtual const CResult SetPointSize(float f32PointSize=1.f)
Set the point size applied to point cloud drawing.
virtual const CResult SetTeachingMode(EGUIView3DTeachingMode eTeachingMode)
Sets the measurement mode of 3D view.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(double x, double y, double z) const
Convert 3D coordinates to canvas coordinates.
virtual const CResult SetRectangleSelectionMode(bool bSet)
Enable or disable the mode for selecting objects with a rectangle.
virtual const CResult PushBackROI(const Foundation::CFLFrustum< float > *pFlfr)
Add the ROI.
virtual const FLImaging::GUI::CGUIView3DObject * GetView3DObject(int32_t i32ObjectIndex) const
Gets the object of a particular index from the view.
virtual FLImaging::GUI::EAvailableView3DContextMenu GetAvailableView3DContextMenu()
Obtain possible context menus for the 3D view.
const CResult SetRotationAngleLock(EGUIView3DRotationAngle eAngle)
Sets the locked rotation angle for the view. This is useful for scenarios where precise control over ...
virtual uint8_t GetDecimalPlaceOfCoordinate() const
Gets the number of decimal places displayed for the mouse intersection coordinates....
virtual bool IsAxisVisible()
Gets whether to draw the x, y, and z axes in a 3D view.
virtual const CResult PushBackROI(const Base::TRect< float > *pTr)
Add ROI to the back.
const Base::TPoint3< double > ConvertCanvasCoordTo3DCoord(int32_t x, int32_t y) const
Convert canvas coordinates to 3D coordinates.
virtual void ShowGrid(bool bShow)
Sets whether to draw Grid on the xz plane in a 3D view.
virtual CGUIView3DCamera * GetCamera() const
Returns the 3D camera of this view.
virtual const CResult ShowToolBar(bool bShow) override
Sets whether to show/hide ToolBar.
EGUIView3DHitArea GetHitArea()
Retrieves the Hit area for the current mouse position in the 3D view.
virtual void EnableDragAndDrop(bool bEnable)
Sets whether to enable or disable to load files with drag and drop.
virtual const CResult SetRotatePivotType(EGUIView3DRotatePivot eRotatePivotType)
Sets the rotate pivot type of 3D view.
virtual bool IsDragAndDropEnabled()
Determines whether to load files with drag and drop.
virtual void SetSelectionMode(FLImaging::GUI::ESelectionMode3D eSelectionMode)
Sets the 3D object selection mode.
virtual const CResult SetShadingType(Foundation::EShadingType3D eObjectShadingType=Foundation::EShadingType3D_Phong)
Sets the type of shading of this object. Default value is Foundation::EShadingType3D_Phong.
virtual const CResult ZoomFit()
Adjust the scale of the 3D view to accommodate all 3D objects within it.
CGUIView3DLayerWrap GetLayer(int32_t i32Index)
Gets the layer pointer of the index passed by the parameter.
virtual const CResult SetZoomMode(EZoomMode eZoomMode)
Set or unset the Zoom mode for the left mouse button click action.
size_t GetWindowHandle()
Gets the window handle of the 3D view.
virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObjectHeightMap &obj, int32_t *pI32ReturnIndex=nullptr)
Draws a CGUIView3DObjectHeightMap object on 3D view.
virtual EGUIView3DTeachingMode GetTeachingMode() const
Retrieves the measurement mode of the 3D view.
virtual const CResult ConvertROI2DTo3D(const Foundation::CFLRect< int32_t > &flr, Foundation::CFLFrustum< float > &frustumResult) const
Converts a rectangle defined by screen coordinates into a frustum object based on the current viewpor...
virtual Foundation::CFLRect< int32_t > ConvertCanvasCoordToClientCoord(const Foundation::CFLRect< int32_t > &flr) const
Convert canvas coordinates to client coordinates.
virtual Foundation::EShadingType3D GetShadingType() const
Returns the type of shading of this object.
virtual const CResult SetCamera(const Foundation::CFL3DCamera &camera)
Sets the 3D camera.
virtual const CResult SetMeasurementMode(EGUIView3DMeasurementMode eMeasurementMode)
Sets the measurement mode of 3D view.
virtual const CResult CaptureScreen(Base::CFLImage *pFliImage, bool bIncludeFrame=false)
Capture the current screen.
EGUIView3DAxis GetLockedMovementAxis() const
Returns the axis that is restricted from movement in the current view.
virtual const CResult ClearROI()
Removes all ROIs in this view.
virtual Base::TPoint3< float > UnprojectPoint(int32_t i32CanvasX, int32_t i32CanvasY, float f32Depth) const
Returns screen coordinates which are unprojected based on the current viewport and camera perspective...
virtual const CResult RemoveROI(int32_t i32Index)
Removes a ROI.
virtual const FLImaging::CResult GetHeightProfile(const FLImaging::Foundation::CFLPoint< int64_t > *pFlpStart, const FLImaging::Foundation::CFLPoint< int64_t > *pFlpEnd, Base::CFLArray< double > *pFlaF64HeightProfile)
Gets the height profile information for the model.
virtual int32_t GetObjectCount() const
Returns the number of 3D objects in this view.
virtual const CResult Save(const wchar_t *pWcsPath=nullptr, bool bBinaryFormat=true)
Save the file. If pWcsPath == nullptr, a file save dialog will pop up.
virtual const CResult PushBackROI(const Foundation::CFLFigure *pFlf)
Add the ROI.
const CResult SetMovementAxisLock(EGUIView3DAxis eAxis)
A function that restricts movement along a specific axis. Setting it to EGUIView3DAxis_None allows mo...
virtual void SetCanvasColor(uint32_t u32Color)
Sets the 3D view's background color.
virtual const CResult Load(const wchar_t *pWcsPath=nullptr, EView3DLoadOption eOption=EView3DLoadOption_Load)
Load files into the view. 1 channel image files, .step, .ply, .obj extension files are supported.
virtual Foundation::CFLRect< int32_t > ConvertClientCoordToCanvasCoord(const Foundation::CFLRect< int32_t > &flr) const
Convert client coordinates to canvas coordinates.
virtual const CResult ResignRootSyncView(EView3DSyncOption eView3DSyncOption)
If the root view of the synchronized views for a specific option is the current image view,...
virtual const CResult ClearObjects()
Clear all the 3D objects.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< float > *pPoint) const
Convert 3D coordinates to canvas coordinates.
virtual const CResult ConvertROI2DTo3D(int32_t i32Left, int32_t i32Top, int32_t i32Right, int32_t i32Bottom, Foundation::CFLFrustum< float > &frustumResult) const
Converts a rectangle defined by screen coordinates into a frustum object based on the current viewpor...
virtual Foundation::CFLPoint< int32_t > ConvertClientCoordToCanvasCoord(const Foundation::CFLPoint< int32_t > &flp) const
Convert client coordinates to canvas coordinates.
virtual const CResult Clear()
Close the image file on the GUI interface.
virtual void ShowCrosshair(bool bShow)
Sets whether to draw crosshair at the mouse cursor position in the 3D view.
virtual int32_t GetROICount() const
Retrieves the number of ROIs.
virtual void SetAvailableView3DContextMenu(FLImaging::GUI::EAvailableView3DContextMenu eMenu)
Set possible context menus for 3D views.
virtual const CResult SynchronizePointOfView(const CGUIView3DWrap *pTargetView)
Synchronizes the view point of the parameter and the current view.
virtual const FLImaging::CResult SelectMenuItem(FLImaging::GUI::EMenuItemView3D eMenuItem)
Executes commands for the selected menu item.
virtual const CResult SetDecimalPlaceOfCoordinate(uint8_t u8DecimalPlace=2)
Sets the number of decimal places displayed for the mouse intersection coordinates....
virtual const CResult CaptureScreen(Base::CFLImage &fliImage, bool bIncludeFrame=false)
Capture the current screen.
const CResult ShowStatusBar(bool bShow)
Sets whether to show/hide StatusBar.
EGUIView3DRotationAngle GetLockedRotationAngle() const
Returns the angle that is restricted from rotation in the current view.
virtual const CResult Load(const Base::CFLArray< Base::CFLString< wchar_t > > &flaFilePathToLoad, EView3DLoadOption eOption=EView3DLoadOption_Load)
Load files included in the list.
virtual Foundation::CFLPoint< int32_t > ConvertCanvasCoordToClientCoord(const Foundation::CFLPoint< int32_t > &flp) const
Convert canvas coordinates to client coordinates.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< double > *pPoint) const
Convert 3D coordinates to canvas coordinates.
virtual const CResult PushObject(const FLImaging::GUI::CGUIView3DObject &obj, int32_t *pI32ReturnIndex=nullptr)
Draws a CGUIView3DObject object on 3D view.
virtual bool IsGridVisible()
Gets whether to draw Grid on the xz plane in the 3D view.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< double > &point) const
Convert 3D coordinates to canvas coordinates.
virtual bool GetCursorProjectionPoint(const int32_t &i32CanvasX, const int32_t &i32CanvasY, float &f32ProjectionX, float &f32ProjectionY, float &f32ProjectionZ, const float &f32Tolerance=10.f)
A function that obtains the closest intersection point to the screen by returning true when the inter...
virtual EGUIView3DRotatePivot GetRotatePivotType() const
Retrieves the rotate pivot type of the 3D view.
virtual ~CGUIView3DWrap()
Default destructor.
virtual void ClearAllLayers()
Clears drawing objects above vctDrawingLayers, MeasureLayer, and FigureLayer.
virtual EGUIView3DMeasurementMode GetMeasurementMode() const
Retrieves the measurement mode of the 3D view.
virtual Foundation::CFLPoint< int32_t > ConvertCanvasCoordToClientCoord(int32_t i32X, int32_t i32Y) const
Convert canvas coordinates to client coordinates.
virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint< int32_t > &flpCanvas, float &f32ProjectionX, float &f32ProjectionY, float &f32ProjectionZ, const float &f32Tolerance=10.f)
A function that obtains the closest intersection point to the screen by returning true when the inter...
virtual const CResult PushObject(const FLImaging::Foundation::CFL3DObject &obj, int32_t *pI32ReturnIndex=nullptr)
Draws a CFL3DObject object on 3D view.
virtual const CResult PushObject(const FLImaging::Foundation::CFL3DObjectHeightMap &obj, int32_t *pI32ReturnIndex=nullptr)
Draws a CFL3DObjectHeightMap object on 3D view.
virtual const CResult SetTopologyType(Foundation::ETopologyType3D eTopologyType=Foundation::ETopologyType3D_Solid)
Sets the type of topology of this object. Default value is Foundation::ETopologyType3D_Solid.
virtual const CResult SetPanningMode(bool bSet)
Set or unset the mouse drag action to panning mode.
virtual float GetPointSize() const
Returns the point size applied to point cloud drawing.
virtual bool IsLegendVisible()
Gets the legend display in the 3D view.
virtual CGUIView3DWrap * GetRootSyncView(EView3DSyncOption eView3DSyncOption) const
Retrieves the root view synchronized with the current image view for a specific option.
virtual Foundation::CFLPoint< int32_t > ConvertClientCoordToCanvasCoord(int32_t i32X, int32_t i32Y) const
Convert client coordinates to canvas coordinates.
CGUIView3DWrap()
Default constructor.
virtual bool IsSynchronized(EView3DSyncOption eView3DSyncOption) const
Returns whether the current image view is synchronized with another image view for a particular optio...
const CResult Destroy()
Disappear the window of the 3D view.
virtual const CResult SaveObject(int32_t i32ObjectIndex, const wchar_t *pWcsPath=nullptr)
Save the selected 3D object as a file. If pWcsPath == nullptr, a file save dialog will pop up.
virtual const CResult UpdateObject(int32_t i32ObjectIndex=-1)
If there are any changes to the mesh, update and redraw the changes.
const CResult CreateAndFitParent(size_t stParentWindowHandle, bool bAutoFit=true)
After creating the image view window, adjust the size of the image view to match the size of the pare...
virtual bool GetCursorProjectionPoint(const Foundation::CFLPoint< int32_t > &flpCanvas, Base::TPoint3< float > &tp3fProjection, const float &f32Tolerance=10.f)
A function that obtains the closest intersection point to the screen by returning true when the inter...
virtual uint32_t GetCanvasColor() const
Retrieves the background color of the 3D view.
virtual void GetCursorPosOnLButtonDown(Foundation::CFLPoint< int32_t > &flpCanvas, Base::TPoint3< float > *pTp3fProjection=nullptr) const
Obtain the coordinates of the point when the left mouse button is pressed.
virtual FLImaging::GUI::ESelectionMode3D GetSelectionMode()
Retrieves the 3D object selection mode.
virtual const CResult SetCamera(const CGUIView3DCamera &camera)
Sets the 3D camera.
virtual void ShowLegend(bool bShow)
Sets whether the legend is displayed in the 3D view.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(const Base::TPoint3< float > &point) const
Convert 3D coordinates to canvas coordinates.
virtual const CResult GetROI(int32_t i32Index, Foundation::CFLFrustum< float > &frustumResult) const
Returns the frustum obtained by unprojecting the ROI rectangle corresponding to the given index,...
virtual bool IsCrosshairVisible()
Gets whether to draw a crosshair at the mouse cursor position in the 3D view.
Foundation::CFLPoint< int32_t > Convert3DCoordToCanvasCoord(float x, float y, float z) const
Convert 3D coordinates to canvas coordinates.
virtual const CResult Load(const wchar_t *pWcsPath, const wchar_t *pWcsTextureImagePath, EView3DLoadOption eOption=EView3DLoadOption_Load)
Load files into the view. 1 channel image files are supported.
A base class of View C API wrapping class.
Definition GUIViewImageBaseWrap.h:28
ETopologyType3D
The type of representation of 3D objects.
Definition Definitions3D.h:125
EShadingType3D
Object Shading Type in 3D View.
Definition Definitions3D.h:75
EMenuItemView3D
3D View Menu Item
Definition GUIView3DDefinitions.h:87
EGUIView3DAxis
The axes of 3D View.
Definition GUIView3DDefinitions.h:2335
EGUIView3DRotationAngle
The rotation angle component of 3D View.
Definition GUIView3DDefinitions.h:2430
ESelectionMode3D
3D View Object Selection Mode
Definition GUIView3DDefinitions.h:2059
EGUIView3DRotatePivot
Rotation pivot type of 3D view camera.
Definition GUIView3DDefinitions.h:2293
EGUIView3DTeachingMode
Teaching mode in 3D view.
Definition GUIView3DDefinitions.h:1800
EView3DLoadOption
3D View Load Options Example. The following code will load folder with recursive. eOption = Load | Re...
Definition GUIView3DDefinitions.h:2529
EView3DSyncOption
3D view synchronization options
Definition GUIView3DDefinitions.h:3018
EGUIView3DMeasurementMode
Measurement mode in 3D view.
Definition GUIView3DDefinitions.h:1837
EGUIView3DHitArea
The area where the mouse is located on the 3D view.
Definition GUIView3DDefinitions.h:1901
EZoomMode
Zoom in and out mode.
Definition GUIDefinitions.h:5245
EAvailableView3DContextMenu
Available context menu for 3D views.
Definition GUIView3DDefinitions.h:1301