ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvDisplayTools Class Referenceabstract

#include <ecvDisplayTools.h>

Inheritance diagram for ecvDisplayTools:
Collaboration diagram for ecvDisplayTools:

Classes

struct  CaptureModeOptions
 Display capturing mode options. More...
 
struct  ClickableItem
 Clickable item. More...
 
struct  HotZone
 Precomputed stuff for the 'hot zone'. More...
 
struct  MessageToDisplay
 Temporary Message to display in the lower-left corner. More...
 
struct  PickingParameters
 Picking parameters. More...
 
struct  ProjectionMetrics
 Optional output metrics (from computeProjectionMatrix) More...
 

Public Types

enum  PICKING_MODE {
  NO_PICKING , ENTITY_PICKING , ENTITY_RECT_PICKING , FAST_PICKING ,
  POINT_PICKING , TRIANGLE_PICKING , POINT_OR_TRIANGLE_PICKING , POINT_OR_TRIANGLE_OR_LABEL_PICKING ,
  LABEL_PICKING , DEFAULT_PICKING
}
 Picking mode. More...
 
enum  INTERACTION_FLAG {
  INTERACT_NONE = 0 , INTERACT_ROTATE = 1 , INTERACT_PAN = 2 , INTERACT_CTRL_PAN = 4 ,
  INTERACT_ZOOM_CAMERA = 8 , INTERACT_2D_ITEMS = 16 , INTERACT_CLICKABLE_ITEMS = 32 , INTERACT_TRANSFORM_ENTITIES = 64 ,
  INTERACT_SIG_RB_CLICKED = 128 , INTERACT_SIG_LB_CLICKED = 256 , INTERACT_SIG_MOUSE_MOVED , INTERACT_SIG_BUTTON_RELEASED = 1024 ,
  INTERACT_SIG_MB_CLICKED = 2048 , INTERACT_SEND_ALL_SIGNALS , MODE_PAN_ONLY , MODE_TRANSFORM_CAMERA = INTERACT_ROTATE | MODE_PAN_ONLY ,
  MODE_TRANSFORM_ENTITIES
}
 Interaction flags (mostly with the mouse) More...
 
enum  MessagePosition { LOWER_LEFT_MESSAGE , UPPER_CENTER_MESSAGE , SCREEN_CENTER_MESSAGE }
 Default message positions on screen. More...
 
enum  MessageType {
  CUSTOM_MESSAGE , SCREEN_SIZE_MESSAGE , PERSPECTIVE_STATE_MESSAGE , SUN_LIGHT_STATE_MESSAGE ,
  CUSTOM_LIGHT_STATE_MESSAGE , MANUAL_TRANSFORMATION_MESSAGE , MANUAL_SEGMENTATION_MESSAGE , ROTAION_LOCK_MESSAGE ,
  FULL_SCREEN_MESSAGE
}
 Message type. More...
 
enum  PivotVisibility { PIVOT_HIDE , PIVOT_SHOW_ON_MOVE , PIVOT_ALWAYS_SHOW }
 Pivot symbol visibility. More...
 
- Public Types inherited from ecvGenericDisplayTools
enum  TextAlign {
  ALIGN_HLEFT = 1 , ALIGN_HMIDDLE = 2 , ALIGN_HRIGHT = 4 , ALIGN_VTOP = 8 ,
  ALIGN_VMIDDLE = 16 , ALIGN_VBOTTOM = 32 , ALIGN_DEFAULT = 1 | 8
}
 Text alignment. More...
 

Public Slots

void onItemPickedFast (ccHObject *pickedEntity, int pickedItemIndex, int x, int y)
 Reacts to the itemPickedFast signal. More...
 
void onPointPicking (const CCVector3 &p, int index, const std::string &id)
 
void checkScheduledRedraw ()
 Checks for scheduled redraw. More...
 
void doPicking ()
 
void onWheelEvent (float wheelDelta_deg)
 

Signals

void entitySelectionChanged (ccHObject *entity)
 Signal emitted when an entity is selected in the 3D view. More...
 
void entitiesSelectionChanged (std::unordered_set< int > entIDs)
 Signal emitted when multiple entities are selected in the 3D view. More...
 
void itemPicked (ccHObject *entity, unsigned subEntityID, int x, int y, const CCVector3 &P)
 Signal emitted when a point (or a triangle) is picked. More...
 
void itemPickedFast (ccHObject *entity, int subEntityID, int x, int y)
 Signal emitted when an item is picked (FAST_PICKING mode only) More...
 
void fastPickingFinished ()
 Signal emitted when fast picking is finished (FAST_PICKING mode only) More...
 
void viewMatRotated (const ccGLMatrixd &rotMat)
 
void cameraDisplaced (float ddx, float ddy)
 Signal emitted when the camera is interactively displaced. More...
 
void mouseWheelRotated (float wheelDelta_deg)
 Signal emitted when the mouse wheel is rotated. More...
 
void mouseWheelChanged (QWheelEvent *event)
 
void perspectiveStateChanged ()
 
void baseViewMatChanged (const ccGLMatrixd &newViewMat)
 Signal emitted when the window 'base view' matrix is changed. More...
 
void pixelSizeChanged (float pixelSize)
 Signal emitted when the pixel size is changed. More...
 
void fovChanged (float fov)
 Signal emitted when the f.o.v. changes. More...
 
void zNearCoefChanged (float coef)
 Signal emitted when the zNear coef changes. More...
 
void pivotPointChanged (const CCVector3d &)
 Signal emitted when the pivot point is changed. More...
 
void cameraPosChanged (const CCVector3d &)
 Signal emitted when the camera position is changed. More...
 
void translation (const CCVector3d &t)
 Signal emitted when the selected object is translated by the user. More...
 
void rotation (const ccGLMatrixd &rotMat)
 Signal emitted when the selected object is rotated by the user. More...
 
void leftButtonClicked (int x, int y)
 Signal emitted when the left mouse button is cliked on the window. More...
 
void rightButtonClicked (int x, int y)
 Signal emitted when the right mouse button is cliked on the window. More...
 
void doubleButtonClicked (int x, int y)
 Signal emitted when the double mouse button is cliked on the window. More...
 
void mouseMoved (int x, int y, Qt::MouseButtons buttons)
 Signal emitted when the mouse is moved. More...
 
void buttonReleased ()
 Signal emitted when a mouse button is released (cursor on the window) More...
 
void drawing3D ()
 Signal emitted during 3D pass of OpenGL display process. More...
 
void filesDropped (const QStringList &filenames, bool displayDialog)
 Signal emitted when files are dropped on the window. More...
 
void newLabel (ccHObject *obj)
 Signal emitted when a new label is created. More...
 
void exclusiveFullScreenToggled (bool exclusive)
 Signal emitted when the exclusive fullscreen is toggled. More...
 
void autoPickPivot (bool state)
 
void labelmove2D (int x, int y, int dx, int dy)
 
void mousePosChanged (const QPoint &pos)
 
void pointPicked (double x, double y, double z)
 
void cameraParamChanged ()
 

Public Member Functions

virtual ~ecvDisplayTools () override
 Destructor. More...
 
void scheduleFullRedraw (unsigned maxDelay_ms)
 Schedules a full redraw. More...
 
void cancelScheduledRedraw ()
 Cancels any scheduled redraw. More...
 
virtual void displayText (const CC_DRAW_CONTEXT &CONTEXT)
 
virtual void draw (const CC_DRAW_CONTEXT &context, const ccHObject *obj)
 
virtual void updateMeshTextures (const CC_DRAW_CONTEXT &context, const ccGenericMesh *mesh)
 
virtual void drawBBox (const CC_DRAW_CONTEXT &context, const ccBBox *bbox)
 
virtual void drawOrientedBBox (const CC_DRAW_CONTEXT &context, const ecvOrientedBBox *obb)
 
virtual void changeEntityProperties (PROPERTY_PARAM &propertyParam)
 
virtual void drawWidgets (const WIDGETS_PARAMETER &param)
 
virtual void drawCoordinates (double scale=1.0, const std::string &id="reference", int viewport=0)
 
virtual void rotateWithAxis (const CCVector2i &pos, const CCVector3d &axis, double angle, int viewport=0)
 
virtual void toggleOrientationMarker (bool state=true)
 
virtual bool orientationMarkerShown ()
 
virtual void setDataAxesGridProperties (const QString &viewID, const AxesGridProperties &props, int viewport=0)
 Set Data Axes Grid properties (Virtual interface for derived classes) More...
 
virtual void getDataAxesGridProperties (const QString &viewID, AxesGridProperties &props, int viewport=0) const
 Get Data Axes Grid properties (Virtual interface for derived classes) More...
 
virtual void setViewAxesGridVisible (bool visible, int viewport=0)
 
virtual void setViewAxesGridProperties (bool visible, const CCVector3 &color, double lineWidth, double spacing, int subdivisions, bool showLabels, double opacity, int viewport=0)
 
virtual void getViewAxesGridProperties (bool &visible, CCVector3 &color, double &lineWidth, double &spacing, int &subdivisions, bool &showLabels, double &opacity, int viewport=0) const
 Get view axes grid properties. More...
 
virtual void setCenterAxesVisible (bool visible, int viewport=0)
 
virtual void toggleCameraOrientationWidget (bool show)
 
virtual bool isCameraOrientationWidgetShown () const
 
virtual void setLightIntensity (double intensity)
 
virtual double getLightIntensity () const
 
virtual ecvGenericVisualizer3DgetVisualizer3D ()
 
virtual ecvGenericVisualizer2DgetVisualizer2D ()
 
virtual void transformCameraView (const ccGLMatrixd &viewMat)
 
virtual void transformCameraProjection (const ccGLMatrixd &projMat)
 
virtual void setRenderWindowSize (int xw, int yw)
 
virtual void fullScreen (bool state)
 
virtual void zoomCamera (double zoomFactor, int viewport=0)
 
virtual double getCameraFocalDistance (int viewport=0)
 
virtual void setCameraFocalDistance (double focal_distance, int viewport=0)
 
virtual void getCameraPos (double *pos, int viewport=0)
 
virtual void getCameraFocal (double *focal, int viewport=0)
 
virtual void getCameraUp (double *up, int viewport=0)
 
virtual void setCameraPosition (const CCVector3d &pos, int viewport=0)
 
virtual void setCameraPosition (const double *pos, const double *focal, const double *up, int viewport=0)
 
virtual void setCameraPosition (const double *pos, const double *up, int viewport=0)
 
virtual void setCameraPosition (double pos_x, double pos_y, double pos_z, double view_x, double view_y, double view_z, double up_x, double up_y, double up_z, int viewport=0)
 
virtual void getCameraClip (double *clipPlanes, int viewport=0)
 
virtual void setCameraClip (double znear, double zfar, int viewport=0)
 
virtual void resetCameraClippingRange (int viewport=0)
 
virtual double getCameraFovy (int viewport=0)
 
virtual void setCameraFovy (double fovy, int viewport=0)
 
virtual void saveScreenshot (const std::string &file)
 
virtual void saveCameraParameters (const std::string &file)
 
virtual void loadCameraParameters (const std::string &file)
 
virtual void showOrientationMarker ()
 
virtual void setOrthoProjection (int viewport=0)
 
virtual void setPerspectiveProjection (int viewport=0)
 
virtual void setUseVbos (bool useVbos)
 
virtual void setLookUpTableID (const std::string &viewID)
 
virtual void getProjectionMatrix (double *projArray, int viewport=0)
 
virtual void getViewMatrix (double *viewArray, int viewport=0)
 
virtual void setViewMatrix (const ccGLMatrixd &viewMat, int viewport=0)
 
virtual bool hideShowEntities (const CC_DRAW_CONTEXT &CONTEXT)
 
virtual void removeEntities (const CC_DRAW_CONTEXT &CONTEXT)
 
virtual QString pick2DLabel (int x, int y)
 
virtual QString pick3DItem (int x=-1, int y=-1)
 
virtual QString pickObject (double x=-1, double y=-1)
 
virtual void setBackgroundColor (const CC_DRAW_CONTEXT &CONTEXT)
 
virtual void createViewPort (double xmin, double ymin, double xmax, double ymax, int &viewport)
 
virtual void resetCameraViewpoint (const std::string &viewID)
 
virtual void toggle2Dviewer (bool state)
 
virtual void resetCamera (const ccBBox *bbox)
 
virtual void resetCamera ()
 
virtual void updateCamera ()
 
virtual void updateScene ()
 
virtual void setAutoUpateCameraPos (bool state)
 
virtual void getCenterOfRotation (double center[3])
 
virtual void resetCenterOfRotation (int viewport=0)
 
virtual void setCenterOfRotation (double x, double y, double z)
 
virtual double getGLDepth (int x, int y)
 
virtual void changeOpacity (double opacity, const std::string &viewID, int viewport=0)
 
virtual QImage renderToImage (int zoomFactor=1, bool renderOverlayItems=false, bool silent=false, int viewport=0)
 
virtual void setScaleBarVisible (bool visible)
 
virtual void toggleExclusiveFullScreen (bool state)
 
virtual bool getPerspectiveState (int viewport=0) const override
 
virtual void setPivotVisibility (bool state)
 
virtual double getParallelScale (int viewport=0)
 
virtual void setParallelScale (double scale, int viewport=0)
 
- Public Member Functions inherited from ecvGenericDisplayTools
virtual ~ecvGenericDisplayTools ()
 Default destructor. More...
 
virtual void toWorldPoint (const CCVector3d &input2D, CCVector3d &output3D)
 
virtual void toWorldPoint (const CCVector3 &input2D, CCVector3d &output3D)
 
virtual void toDisplayPoint (const CCVector3d &input3D, CCVector3d &output2D)
 
virtual void toDisplayPoint (const CCVector3 &input3D, CCVector3d &output2D)
 

Static Public Member Functions

static void Init (ecvDisplayTools *displayTools, QMainWindow *win, bool stereoMode=false)
 
static ecvDisplayToolsTheInstance ()
 
static void ReleaseInstance ()
 
static INTERACTION_FLAGS PAN_ONLY ()
 
static INTERACTION_FLAGS TRANSFORM_CAMERA ()
 
static INTERACTION_FLAGS TRANSFORM_ENTITIES ()
 
static void DisplayText (const QString &text, int x, int y, unsigned char align=ALIGN_DEFAULT, float bkgAlpha=0.0f, const unsigned char *rgbColor=nullptr, const QFont *font=nullptr, const QString &id="")
 Displays a string at a given 2D position. More...
 
static void DisplayText (const CC_DRAW_CONTEXT &CONTEXT)
 
static void Display3DLabel (const QString &str, const CCVector3 &pos3D, const ecvColor::Rgbub *color=nullptr, const QFont &font=QFont())
 Displays a string at a given 3D position. More...
 
static void SetFocusToScreen ()
 Draws the main 3D layer. More...
 
static void ToBeRefreshed ()
 
static void RefreshDisplay (bool only2D=false, bool forceRedraw=true)
 
static void RedrawDisplay (bool only2D=false, bool forceRedraw=true)
 
static void CheckIfRemove ()
 
static void Draw (const CC_DRAW_CONTEXT &context, const ccHObject *obj)
 
static void UpdateMeshTextures (const CC_DRAW_CONTEXT &context, const ccGenericMesh *mesh)
 
static void DrawBBox (const CC_DRAW_CONTEXT &context, const ccBBox *bbox)
 
static void DrawOrientedBBox (const CC_DRAW_CONTEXT &context, const ecvOrientedBBox *obb)
 
static void RemoveBB (CC_DRAW_CONTEXT context)
 
static void RemoveBB (const QString &viewId)
 
static void ChangeEntityProperties (PROPERTY_PARAM &propertyParam, bool autoUpdate=true)
 
static void DrawWidgets (const WIDGETS_PARAMETER &param, bool update=false)
 
static void RemoveWidgets (const WIDGETS_PARAMETER &param, bool update=false)
 
static void RemoveAllWidgets (bool update=true)
 
static void Remove3DLabel (const QString &view_id)
 
static void DrawCoordinates (double scale=1.0, const std::string &id="reference", int viewport=0)
 
static void RotateWithAxis (const CCVector2i &pos, const CCVector3d &axis, double angle, int viewport=0)
 
static void ToggleOrientationMarker (bool state=true)
 
static bool OrientationMarkerShown ()
 
static void SetDataAxesGridProperties (const QString &viewID, const AxesGridProperties &props, int viewport=0)
 Set Data Axes Grid properties (Unified Interface) Each ccHObject has its own Data Axes Grid bound to its viewID. More...
 
static void GetDataAxesGridProperties (const QString &viewID, AxesGridProperties &props, int viewport=0)
 Get Data Axes Grid properties (Unified Interface) More...
 
static void SetViewAxesGridVisible (bool visible, int viewport=0)
 Enable/disable view axes grid (aligned with camera/view) More...
 
static void SetViewAxesGridProperties (bool visible, const CCVector3 &color, double lineWidth, double spacing, int subdivisions, bool showLabels, double opacity, int viewport=0)
 Configure view axes grid properties. More...
 
static void SetCenterAxesVisible (bool visible, int viewport=0)
 Enable/disable center axes visualization. More...
 
static void ToggleCameraOrientationWidget (bool show)
 
static bool IsCameraOrientationWidgetShown ()
 Check if Camera Orientation Widget is shown. More...
 
static void SetLightIntensity (double intensity)
 
static double GetLightIntensity ()
 
static ecvGenericVisualizer3DGetVisualizer3D ()
 
static ecvGenericVisualizer2DGetVisualizer2D ()
 
static QWidget * GetCurrentScreen ()
 
static void SetCurrentScreen (QWidget *widget)
 
static QWidget * GetMainScreen ()
 
static void SetMainScreen (QWidget *widget)
 
static QMainWindow * GetMainWindow ()
 
static void SetMainWindow (QMainWindow *win)
 
static QPointF ToCenteredGLCoordinates (int x, int y)
 
static CCVector3d ToVtkCoordinates (int x, int y, int z=0)
 
static void ToVtkCoordinates (CCVector3d &sP)
 
static void ToVtkCoordinates (CCVector2i &sP)
 
static ccHObjectGetOwnDB ()
 Returns window own DB. More...
 
static void AddToOwnDB (ccHObject *obj, bool noDependency=true)
 Adds an entity to window own DB. More...
 
static void RemoveFromOwnDB (ccHObject *obj)
 Removes an entity from window own DB. More...
 
static void SetSceneDB (ccHObject *root)
 
static ccHObjectGetSceneDB ()
 
static void UpdateNamePoseRecursive ()
 
static void SetRedrawRecursive (bool redraw=false)
 
static void SetRedrawRecursive (ccHObject *obj, bool redraw=false)
 
static void GetVisibleObjectsBB (ccBBox &box)
 Returns the visible objects bounding-box. More...
 
static void RotateBaseViewMat (const ccGLMatrixd &rotMat)
 Rotates the base view matrix. More...
 
static ccGLMatrixdGetBaseViewMat ()
 
static void SetBaseViewMat (ccGLMatrixd &mat)
 
static void SetRemoveViewIDs (std::vector< removeInfo > &removeinfos)
 
static void SetRemoveAllFlag (bool state)
 
static void TransformCameraView (const ccGLMatrixd &viewMat)
 
static void TransformCameraProjection (const ccGLMatrixd &projMat)
 
static int GetDevicePixelRatio ()
 
static int GetOptimizedFontSize (int baseFontSize=12)
 
static double GetPlatformAwareDPIScale ()
 
static QRect GetScreenRect ()
 
static void SetScreenSize (int xw, int yw)
 
static void DoResize (int xw, int yw)
 
static void DoResize (const QSize &size)
 
static QSize GetScreenSize ()
 
static void SetRenderWindowSize (int xw, int yw)
 
static void FullScreen (bool state)
 
static void ZoomCamera (double zoomFactor, int viewport=0)
 
static double GetCameraFocalDistance (int viewport=0)
 
static void SetCameraFocalDistance (double focal_distance, int viewport=0)
 
static void GetCameraPos (double *pos, int viewport=0)
 
static void GetCameraFocal (double *focal, int viewport=0)
 
static void GetCameraUp (double *up, int viewport=0)
 
static void SetCameraPosition (const CCVector3d &pos, int viewport=0)
 
static void SetCameraPosition (const double *pos, const double *focal, const double *up, int viewport=0)
 
static void SetCameraPosition (const double *pos, const double *up, int viewport=0)
 
static void SetCameraPosition (double pos_x, double pos_y, double pos_z, double view_x, double view_y, double view_z, double up_x, double up_y, double up_z, int viewport=0)
 
static void GetCameraClip (double *clipPlanes, int viewport=0)
 
static void SetCameraClip (double znear, double zfar, int viewport=0)
 
static void ResetCameraClippingRange (int viewport=0)
 
static double GetCameraFovy (int viewport=0)
 
static void SetCameraFovy (double fovy, int viewport=0)
 
static void GetViewerPos (int *viewPos, int viewport=0)
 
static void SaveScreenshot (const std::string &file)
 Save the current rendered image to disk, as a PNG screenshot. More...
 
static void SaveCameraParameters (const std::string &file)
 Save or Load the current rendered camera parameters to disk or current camera. More...
 
static void LoadCameraParameters (const std::string &file)
 
static void ShowOrientationMarker ()
 
static void SetOrthoProjection (int viewport=0)
 
static void SetPerspectiveProjection (int viewport=0)
 
static void SetUseVbos (bool useVbos)
 Use Vertex Buffer Objects renderers. This is an optimization for the obsolete OpenGL backend. Modern OpenGL2 backend (VTK \A1\DD 6.3) uses vertex buffer objects by default, transparently for the user. More...
 
static void SetLookUpTableID (const std::string &viewID)
 Set the ID of a cloud or shape to be used for LUT display. More...
 
static void GetProjectionMatrix (double *projArray, int viewport=0)
 
static void GetViewMatrix (double *viewArray, int viewport=0)
 
static void SetViewMatrix (const ccGLMatrixd &viewMat, int viewport=0)
 
static bool HideShowEntities (const ccHObject *obj, bool visible)
 
static bool HideShowEntities (const CC_DRAW_CONTEXT &CONTEXT)
 
static void HideShowEntities (const QStringList &viewIDs, ENTITY_TYPE hideShowEntityType, bool visibility=false)
 
static void RemoveEntities (const ccHObject *obj)
 
static void RemoveEntities (const QStringList &viewIDs, ENTITY_TYPE removeEntityType)
 
static void RemoveEntities (const CC_DRAW_CONTEXT &CONTEXT)
 
static void DrawBackground (CC_DRAW_CONTEXT &CONTEXT)
 
static void DrawForeground (CC_DRAW_CONTEXT &CONTEXT)
 
static void Update2DLabel (bool immediateUpdate=false)
 
static void Pick2DLabel (int x, int y)
 
static void Redraw2DLabel ()
 
static QString Pick3DItem (int x=-1, int y=-1)
 
static QString PickObject (double x=-1, double y=-1)
 
static void FilterByEntityType (ccHObject::Container &labels, CV_CLASS_ENUM type)
 
static void CreateViewPort (double xmin, double ymin, double xmax, double ymax, int &viewport)
 Create a new viewport from [xmin,ymin] -> [xmax,ymax]. More...
 
static void ResetCameraViewpoint (const std::string &viewID)
 
static void SetPointSize (float size, bool silent=false, int viewport=0)
 
static void SetPointSizeRecursive (int size)
 
static void SetLineWidth (float width, bool silent=false, int viewport=0)
 Sets line width. More...
 
static void SetLineWithRecursive (PointCoordinateType with)
 
static void Toggle2Dviewer (bool state)
 
static void DisplayNewMessage (const QString &message, MessagePosition pos, bool append=false, int displayMaxDelay_sec=2, MessageType type=CUSTOM_MESSAGE)
 Displays a status message in the bottom-left corner. More...
 
static const ecvGui::ParamStructGetDisplayParameters ()
 Returns current parameters for this display (const version) More...
 
static void SetDisplayParameters (const ecvGui::ParamStruct &params)
 Sets current parameters for this display. More...
 
static void UpdateDisplayParameters ()
 
static void SetupProjectiveViewport (const ccGLMatrixd &cameraMatrix, float fov_deg=0.0f, float ar=1.0f, bool viewerBasedPerspective=true, bool bubbleViewMode=false)
 
static void SetAspectRatio (float ar)
 Sets current camera aspect ratio (width/height) More...
 
static void ResizeGL (int w, int h)
 Sets current zoom. More...
 
static void UpdateScreenSize ()
 
static void Update ()
 
static void UpdateScreen ()
 
static void ResetCamera (const ccBBox *bbox)
 
static void ResetCamera ()
 
static void UpdateCamera ()
 
static void UpdateScene ()
 
static void SetAutoUpateCameraPos (bool state)
 
static void GetCenterOfRotation (double center[3])
 
static void GetCenterOfRotation (CCVector3d &center)
 
static void ResetCenterOfRotation (int viewport=0)
 
static void SetCenterOfRotation (double x, double y, double z)
 
static void SetCenterOfRotation (const double xyz[3])
 
static void SetCenterOfRotation (const CCVector3d &center)
 
static double GetGLDepth (int x, int y)
 
static void ChangeOpacity (double opacity, const std::string &viewID, int viewport=0)
 
static CCVector3d ConvertMousePositionToOrientation (int x, int y)
 Converts a given (mouse) position in pixels to an orientation. More...
 
static void UpdateActiveItemsList (int x, int y, bool extendToSelectedLabels=false)
 Updates currently active items list (m_activeItems) More...
 
static void SetGLViewport (int x, int y, int w, int h)
 Sets the OpenGL viewport (shortut) More...
 
static void SetGLViewport (const QRect &rect)
 Sets the OpenGL viewport. More...
 
static void drawCross ()
 
static void drawTrihedron ()
 
static bool RenderToFile (QString filename, float zoomFactor=1.0f, bool dontScaleFeatures=false, bool renderOverlayItems=false)
 Renders screen to a file. More...
 
static QImage RenderToImage (int zoomFactor=1, bool renderOverlayItems=false, bool silent=false, int viewport=0)
 
static void SetScaleBarVisible (bool visible)
 
static void DisplayTexture2DPosition (QImage image, const QString &id, int x, int y, int w, int h, unsigned char alpha=255)
 
static void DrawClickableItems (int xStart, int &yStart)
 
static void RenderText (int x, int y, const QString &str, const QFont &font=QFont(), const ecvColor::Rgbub &color=ecvColor::defaultLabelBkgColor, const QString &id="")
 
static void RenderText (double x, double y, double z, const QString &str, const QFont &font=QFont(), const ecvColor::Rgbub &color=ecvColor::defaultLabelBkgColor, const QString &id="")
 
static void ToggleExclusiveFullScreen (bool state)
 Toggles (exclusive) full-screen mode. More...
 
static bool ExclusiveFullScreen ()
 Returns whether the window is in exclusive full screen mode or not. More...
 
static void SetExclusiveFullScreenFlage (bool state)
 
static void SetPixelSize (float pixelSize)
 Sets pixel size (i.e. zoom base) More...
 
static void UpdateConstellationCenterAndZoom (const ccBBox *aBox=nullptr, bool redraw=true)
 Center and zoom on a given bounding box. More...
 
static void GetContext (CC_DRAW_CONTEXT &CONTEXT)
 Returns context information. More...
 
static void GetGLCameraParameters (ccGLCameraParameters &params)
 Returns the current OpenGL camera parameters. More...
 
static void SetInteractionMode (INTERACTION_FLAGS flags)
 
static INTERACTION_FLAGS GetInteractionMode ()
 Returns the current interaction flags. More...
 
static void SetView (CC_VIEW_ORIENTATION orientation, ccBBox *bbox)
 
static void SetView (CC_VIEW_ORIENTATION orientation, bool forceRedraw=false)
 
static ccGLMatrixd GenerateViewMat (CC_VIEW_ORIENTATION orientation)
 
static void SetPerspectiveState (bool state, bool objectCenteredView)
 Set perspective state/mode. More...
 
static bool GetPerspectiveState (int viewport=0)
 
static bool ObjectPerspectiveEnabled ()
 Shortcut: returns whether object-based perspective mode is enabled. More...
 
static bool ViewerPerspectiveEnabled ()
 Shortcut: returns whether viewer-based perspective mode is enabled. More...
 
static float ComputePerspectiveZoom ()
 
static void SetFov (float fov)
 Sets current camera f.o.v. (field of view) in degrees. More...
 
static float GetFov ()
 Returns the current f.o.v. (field of view) in degrees. More...
 
static void ZoomGlobal ()
 
static CCVector3d GetCurrentViewDir ()
 Returns current viewing direction. More...
 
static CCVector3d GetCurrentUpDir ()
 Returns current up direction. More...
 
static void SetCameraPos (const CCVector3d &P)
 Sets camera position. More...
 
static void MoveCamera (float dx, float dy, float dz)
 Displaces camera. More...
 
static void MoveCamera (const CCVector3d &v)
 Displaces camera. More...
 
static void SetPickingMode (PICKING_MODE mode=DEFAULT_PICKING)
 
static PICKING_MODE GetPickingMode ()
 
static void LockPickingMode (bool state)
 Locks picking mode. More...
 
static bool IsPickingModeLocked ()
 Returns whether picking mode is locked or not. More...
 
static void SetZoom (float value)
 Sets current zoom. More...
 
static void UpdateZoom (float zoomFactor)
 Updates current zoom. More...
 
static void SetPivotPoint (const CCVector3d &P, bool autoUpdateCameraPos=false, bool verbose=false)
 Sets pivot point. More...
 
static void SetPivotVisibility (PivotVisibility vis)
 Sets pivot visibility. More...
 
static void SetPivotVisibility (bool state)
 
static PivotVisibility GetPivotVisibility ()
 Returns pivot visibility. More...
 
static void ShowPivotSymbol (bool state)
 Shows or hide the pivot symbol. More...
 
static void SetViewportParameters (const ecvViewportParameters &params)
 
static const ecvViewportParametersGetViewportParameters ()
 
static double GetParallelScale (int viewport=0)
 
static void SetParallelScale (double scale, int viewport=0)
 
static ccGLMatrixdGetModelViewMatrix ()
 
static ccGLMatrixdGetProjectionMatrix ()
 
static void UpdateModelViewMatrix ()
 
static void UpdateProjectionMatrix ()
 
static ccGLMatrixd ComputeModelViewMatrix ()
 Computes the model view matrix. More...
 
static ccGLMatrixd ComputeProjectionMatrix (bool withGLfeatures, ProjectionMetrics *metrics=nullptr, double *eyeOffset=nullptr)
 Computes the projection matrix. More...
 
static void Deprecate3DLayer ()
 
static void InvalidateViewport ()
 
static void InvalidateVisualization ()
 
static CCVector3d GetRealCameraCenter ()
 
static double ComputeActualPixelSize ()
 
static bool IsRectangularPickingAllowed ()
 Returns whether rectangular picking is allowed or not. More...
 
static void SetRectangularPickingAllowed (bool state)
 Sets whether rectangular picking is allowed or not. More...
 
static void SetBubbleViewMode (bool state)
 Sets bubble-view mode state. More...
 
static bool BubbleViewModeEnabled ()
 Returns whether bubble-view mode is enabled or no. More...
 
static void SetBubbleViewFov (float fov_deg)
 Set bubble-view f.o.v. (in degrees) More...
 
static void ShowCursorCoordinates (bool state)
 
static bool CursorCoordinatesShown ()
 
static void SetAutoPickPivotAtCenter (bool state)
 
static void SendAutoPickPivotAtCenter (bool state)
 
static bool AutoPickPivotAtCenter ()
 Whether the pivot point is automatically set at the center of the screen. More...
 
static void LockRotationAxis (bool state, const CCVector3d &axis)
 Lock the rotation axis. More...
 
static bool IsRotationAxisLocked ()
 Returns whether the rotation axis is locaked or not. More...
 
static bool GetClick3DPos (int x, int y, CCVector3d &P3D)
 Returns the approximate 3D position of the clicked pixel. More...
 
static void DrawPivot ()
 
static void EnableDebugTrace (bool state)
 Shows debug info on screen. More...
 
static void ToggleDebugTrace ()
 Toggles debug info on screen. More...
 
static bool ProcessClickableItems (int x, int y)
 Processes the clickable items. More...
 
static void SetZNearCoef (double coef)
 Sets current camera 'zNear' coefficient. More...
 
static void StartPicking (PickingParameters &params)
 Starts picking process. More...
 
static ccHObjectGetPickedEntity (const PickingParameters &params)
 
static void StartOpenGLPicking (const PickingParameters &params)
 Performs the picking with OpenGL. More...
 
static void StartCPUBasedPointPicking (const PickingParameters &params)
 Starts OpenGL picking process. More...
 
static void ProcessPickingResult (const PickingParameters &params, ccHObject *pickedEntity, int pickedItemIndex, const CCVector3 *nearestPoint=nullptr, const std::unordered_set< int > *selectedIDs=nullptr)
 Processes the picking process result and sends the corresponding signal. More...
 
static void SetFontPointSize (int pixelSize)
 Sets current font size. More...
 
static int GetFontPointSize ()
 Returns current font size. More...
 
static int GetLabelFontPointSize ()
 Returns current font size for labels. More...
 
static void SetClickableItemsVisible (bool state)
 
static bool GetClickableItemsVisible ()
 
static QFont GetLabelDisplayFont ()
 
static QFont GetTextDisplayFont ()
 
static ENTITY_TYPE ConvertToEntityType (const CV_CLASS_ENUM &type)
 
static void SetPickingRadius (int radius)
 Sets picking radius. More...
 
static int GetPickingRadius ()
 Returns the current picking radius. More...
 
static void DisplayOverlayEntities (bool state)
 
static bool OverlayEntitiesAreDisplayed ()
 
static int Width ()
 
static int Height ()
 
static QSize size ()
 
static int GlWidth ()
 Returns the OpenGL context width. More...
 
static int GlHeight ()
 Returns the OpenGL context height. More...
 
static QSize GlSize ()
 Returns the OpenGL context size. More...
 
static void ClearBubbleView ()
 
- Static Public Member Functions inherited from ecvGenericDisplayTools
static ecvGenericDisplayToolsGetInstance ()
 
static void SetInstance (ecvGenericDisplayTools *tool)
 
static int FontSizeModifier (int fontSize, float zoomFactor)
 
static bool GetPerspectiveState ()
 Returns perspective mode. More...
 
template<typename iType , typename oType >
static void ToWorldPoint (const Vector3Tpl< iType > &input2D, Vector3Tpl< oType > &output3D)
 
template<typename iType , typename oType >
static void ToDisplayPoint (const Vector3Tpl< iType > &input3D, Vector3Tpl< oType > &output2D)
 
static ccGLMatrixd Frustum (double left, double right, double bottom, double top, double znear, double zfar)
 
static ccGLMatrixd Perspective (double fovyInDegrees, double aspectRatio, double znear, double zfar)
 
static ccGLMatrixd Ortho (double left, double right, double bottom, double top, double nearVal, double farVal)
 
static ccGLMatrixd Ortho (double w, double h, double d)
 
template<typename iType , typename oType >
static bool Project (const Vector3Tpl< iType > &input3D, const oType *modelview, const oType *projection, const int *viewport, Vector3Tpl< oType > &output2D, bool *inFrustum=nullptr)
 
static double MAT (const double *m, int r, int c)
 
static float MAT (const float *m, int r, int c)
 
static double & MAT (double *m, int r, int c)
 
static float & MAT (float *m, int r, int c)
 
template<typename Type >
static bool InvertMatrix (const Type *m, Type *out)
 
template<typename iType , typename oType >
static bool Unproject (const Vector3Tpl< iType > &input2D, const oType *modelview, const oType *projection, const int *viewport, Vector3Tpl< oType > &output3D)
 
static void PickMatrix (double x, double y, double width, double height, int viewport[4], double m[16])
 

Public Attributes

std::list< MessageToDisplaym_messagesToDisplay
 List of messages to display. More...
 
std::list< ccInteractor * > m_activeItems
 Currently active items. More...
 
ecvViewportParameters m_viewportParams
 Viewport parameters (zoom, etc.) More...
 
std::vector< ClickableItemm_clickableItems
 Currently displayed clickable items. More...
 
bool m_clickableItemsVisible
 Whether clickable items are visible (= mouse over) or not. More...
 
INTERACTION_FLAGS m_interactionFlags
 Current intercation flags. More...
 
PICKING_MODE m_pickingMode
 
bool m_pickingModeLocked
 Whether picking mode is locked or not. More...
 
QElapsedTimer m_timer
 Internal timer. More...
 
bool m_touchInProgress
 Touch event in progress. More...
 
qreal m_touchBaseDist
 Touch gesture initial distance. More...
 
QTimer m_scheduleTimer
 Scheduler timer. More...
 
qint64 m_scheduledFullRedrawTime
 Scheduled full redraw (no LOD) More...
 
ecvGui::ParamStruct m_overridenDisplayParameters
 Overridden display parameter. More...
 
bool m_displayOverlayEntities
 Whether to display overlay entities or not (scale, tetrahedron, etc.) More...
 
bool m_overridenDisplayParametersEnabled
 Whether display parameters are overidden for this window. More...
 
bool m_exclusiveFullscreen
 Wether exclusive full screen is enabled or not. More...
 
bool m_showCursorCoordinates
 
bool m_autoPickPivotAtCenter
 
bool m_shouldBeRefreshed
 Whether the display should be refreshed on next call to 'refresh'. More...
 
CCVector3d m_autoPivotCandidate
 Candidate pivot point (will be used when the mouse is released) More...
 
QRect m_glViewport
 viewport More...
 
bool m_showDebugTraces
 Debug traces visibility. More...
 
int m_pickRadius
 Picking radius (pixels) More...
 
bool m_autoRefresh
 Auto-refresh mode. More...
 
bool m_rotationAxisLocked
 Wheter the rotation axis is locked or not. More...
 
CCVector3d m_lockedRotationAxis
 Locked rotation axis. More...
 
ccGLMatrixd m_viewMatd
 Complete visualization matrix (GL style - double version) More...
 
bool m_validModelviewMatrix
 Whether the model veiw matrix is valid (or need to be recomputed) More...
 
ccGLMatrixd m_projMatd
 Projection matrix (GL style - double version) More...
 
bool m_validProjectionMatrix
 Whether the projection matrix is valid (or need to be recomputed) More...
 
double m_cameraToBBCenterDist
 Distance between the camera and the displayed objects bounding-box. More...
 
double m_bbHalfDiag
 Half size of the displayed objects bounding-box. More...
 
PivotVisibility m_pivotVisibility
 Pivot symbol visibility. More...
 
bool m_pivotSymbolShown
 Whether pivot symbol should be shown or not. More...
 
bool m_allowRectangularEntityPicking
 Whether rectangular picking is allowed or not. More...
 
ccPolylinem_rectPickingPoly
 Rectangular picking polyline. More...
 
cloudViewer::geometry::LineSetm_scale_lineset
 
ccHObjectm_winDBRoot
 Window own DB. More...
 
ccHObjectm_globalDBRoot
 CV main DB. More...
 
bool m_removeFlag
 
bool m_removeAllFlag
 
std::vector< removeInfom_removeInfos
 
bool m_alwaysUseFBO
 Whether to always use FBO or only for GL filters. More...
 
bool m_updateFBO
 
float m_sunLightPos [4]
 Sun light position. More...
 
bool m_sunLightEnabled
 Whether sun light is enabled or not. More...
 
float m_customLightPos [4]
 Custom light position. More...
 
bool m_customLightEnabled
 Whether custom light is enabled or not. More...
 
bool m_bubbleViewModeEnabled
 Bubble-view mode state. More...
 
float m_bubbleViewFov_deg
 Bubble-view mode f.o.v. (degrees) More...
 
ecvViewportParameters m_preBubbleViewParameters
 Pre-bubble-view camera parameters (backup) More...
 
int m_uniqueID
 Unique ID. More...
 
QFont m_font
 Default font. More...
 
CaptureModeOptions m_captureMode
 Display capturing mode options. More...
 
QTimer m_deferredPickingTimer
 Deferred picking. More...
 
CCVector3 m_last_picked_point
 
int m_last_point_index = -1
 
QString m_last_picked_id = QString()
 
qint64 m_lastClickTime_ticks
 Last click time (msec) More...
 
HotZonem_hotZone
 Hot zone. More...
 
QPoint m_lastMousePos
 Last mouse position. More...
 
QPoint m_lastMouseMovePos
 
QStringList m_diagStrings
 
bool m_mouseMoved
 Whether the mouse (cursor) has moved after being pressed or not. More...
 
bool m_mouseButtonPressed
 Whether the mouse is currently pressed or not. More...
 
bool m_ignoreMouseReleaseEvent
 Ignore next mouse release event. More...
 
bool m_widgetClicked
 

Static Public Attributes

static const int DefaultPickRadius = 5
 Default picking radius value. More...
 
static bool USE_2D
 
static bool USE_VTK_PICK
 

Protected Member Functions

 ecvDisplayTools ()=default
 
virtual void registerVisualizer (QMainWindow *win, bool stereoMode=false)=0
 register visualizer callback function More...
 
- Protected Member Functions inherited from ecvGenericDisplayTools
 ecvGenericDisplayTools ()
 Default constructor. More...
 

Protected Attributes

QWidget * m_currentScreen
 
QWidget * m_mainScreen
 
QMainWindow * m_win
 

Detailed Description

Definition at line 88 of file ecvDisplayTools.h.

Member Enumeration Documentation

◆ INTERACTION_FLAG

Interaction flags (mostly with the mouse)

Enumerator
INTERACT_NONE 
INTERACT_ROTATE 
INTERACT_PAN 
INTERACT_CTRL_PAN 
INTERACT_ZOOM_CAMERA 
INTERACT_2D_ITEMS 
INTERACT_CLICKABLE_ITEMS 
INTERACT_TRANSFORM_ENTITIES 
INTERACT_SIG_RB_CLICKED 
INTERACT_SIG_LB_CLICKED 
INTERACT_SIG_MOUSE_MOVED 
INTERACT_SIG_BUTTON_RELEASED 
INTERACT_SIG_MB_CLICKED 
INTERACT_SEND_ALL_SIGNALS 
MODE_PAN_ONLY 
MODE_TRANSFORM_CAMERA 
MODE_TRANSFORM_ENTITIES 

Definition at line 131 of file ecvDisplayTools.h.

◆ MessagePosition

Default message positions on screen.

Enumerator
LOWER_LEFT_MESSAGE 
UPPER_CENTER_MESSAGE 
SCREEN_CENTER_MESSAGE 

Definition at line 175 of file ecvDisplayTools.h.

◆ MessageType

Message type.

Enumerator
CUSTOM_MESSAGE 
SCREEN_SIZE_MESSAGE 
PERSPECTIVE_STATE_MESSAGE 
SUN_LIGHT_STATE_MESSAGE 
CUSTOM_LIGHT_STATE_MESSAGE 
MANUAL_TRANSFORMATION_MESSAGE 
MANUAL_SEGMENTATION_MESSAGE 
ROTAION_LOCK_MESSAGE 
FULL_SCREEN_MESSAGE 

Definition at line 182 of file ecvDisplayTools.h.

◆ PICKING_MODE

Picking mode.

Enumerator
NO_PICKING 
ENTITY_PICKING 
ENTITY_RECT_PICKING 
FAST_PICKING 
POINT_PICKING 
TRIANGLE_PICKING 
POINT_OR_TRIANGLE_PICKING 
POINT_OR_TRIANGLE_OR_LABEL_PICKING 
LABEL_PICKING 
DEFAULT_PICKING 

Definition at line 117 of file ecvDisplayTools.h.

◆ PivotVisibility

Pivot symbol visibility.

Enumerator
PIVOT_HIDE 
PIVOT_SHOW_ON_MOVE 
PIVOT_ALWAYS_SHOW 

Definition at line 195 of file ecvDisplayTools.h.

Constructor & Destructor Documentation

◆ ~ecvDisplayTools()

virtual ecvDisplayTools::~ecvDisplayTools ( )
overridevirtual

Destructor.

◆ ecvDisplayTools()

ecvDisplayTools::ecvDisplayTools ( )
protecteddefault

Member Function Documentation

◆ AddToOwnDB()

◆ autoPickPivot

void ecvDisplayTools::autoPickPivot ( bool  state)
signal

◆ AutoPickPivotAtCenter()

static bool ecvDisplayTools::AutoPickPivotAtCenter ( )
inlinestatic

Whether the pivot point is automatically set at the center of the screen.

Definition at line 1669 of file ecvDisplayTools.h.

◆ baseViewMatChanged

void ecvDisplayTools::baseViewMatChanged ( const ccGLMatrixd newViewMat)
signal

Signal emitted when the window 'base view' matrix is changed.

◆ BubbleViewModeEnabled()

static bool ecvDisplayTools::BubbleViewModeEnabled ( )
inlinestatic

Returns whether bubble-view mode is enabled or no.

Definition at line 1645 of file ecvDisplayTools.h.

◆ buttonReleased

void ecvDisplayTools::buttonReleased ( )
signal

Signal emitted when a mouse button is released (cursor on the window)

See INTERACT_SIG_BUTTON_RELEASED.

Referenced by ccPointPropertiesDlg::linkWith().

◆ cameraDisplaced

void ecvDisplayTools::cameraDisplaced ( float  ddx,
float  ddy 
)
signal

Signal emitted when the camera is interactively displaced.

◆ cameraParamChanged

void ecvDisplayTools::cameraParamChanged ( )
signal

◆ cameraPosChanged

void ecvDisplayTools::cameraPosChanged ( const CCVector3d )
signal

Signal emitted when the camera position is changed.

◆ cancelScheduledRedraw()

void ecvDisplayTools::cancelScheduledRedraw ( )

Cancels any scheduled redraw.

◆ changeEntityProperties()

virtual void ecvDisplayTools::changeEntityProperties ( PROPERTY_PARAM propertyParam)
inlinevirtual

Definition at line 449 of file ecvDisplayTools.h.

◆ ChangeEntityProperties()

static void ecvDisplayTools::ChangeEntityProperties ( PROPERTY_PARAM propertyParam,
bool  autoUpdate = true 
)
static

◆ ChangeOpacity()

static void ecvDisplayTools::ChangeOpacity ( double  opacity,
const std::string &  viewID,
int  viewport = 0 
)
inlinestatic

Definition at line 1320 of file ecvDisplayTools.h.

◆ changeOpacity()

virtual void ecvDisplayTools::changeOpacity ( double  opacity,
const std::string &  viewID,
int  viewport = 0 
)
inlinevirtual

Definition at line 1326 of file ecvDisplayTools.h.

◆ CheckIfRemove()

static void ecvDisplayTools::CheckIfRemove ( )
static

◆ checkScheduledRedraw

void ecvDisplayTools::checkScheduledRedraw ( )
slot

Checks for scheduled redraw.

◆ ClearBubbleView()

static void ecvDisplayTools::ClearBubbleView ( )
static

◆ ComputeActualPixelSize()

static double ecvDisplayTools::ComputeActualPixelSize ( )
static

Returns the actual pixel size on screen (taking zoom or perspective parameters into account) In perspective mode, this value is approximate.

Referenced by qCanupo2DViewDialog::addOrSelectPoint(), define_ccDisplayTools(), and qCanupo2DViewDialog::removePoint().

◆ ComputeModelViewMatrix()

static ccGLMatrixd ecvDisplayTools::ComputeModelViewMatrix ( )
static

Computes the model view matrix.

◆ ComputePerspectiveZoom()

static float ecvDisplayTools::ComputePerspectiveZoom ( )
static

Returns the zoom value equivalent to the current camera position (perspective only)

◆ ComputeProjectionMatrix()

static ccGLMatrixd ecvDisplayTools::ComputeProjectionMatrix ( bool  withGLfeatures,
ProjectionMetrics metrics = nullptr,
double *  eyeOffset = nullptr 
)
static

Computes the projection matrix.

Parameters
[in]withGLfeatureswhether to take additional elements (pivot symbol, custom light, etc.) into account or not
[out]metrics[optional] output other metrics (Znear and Zfar, etc.)
[out]eyeOffset[optional] eye offset (for stereo display)

◆ ConvertMousePositionToOrientation()

static CCVector3d ecvDisplayTools::ConvertMousePositionToOrientation ( int  x,
int  y 
)
static

Converts a given (mouse) position in pixels to an orientation.

The orientation vector origin is the current pivot point!

◆ ConvertToEntityType()

static ENTITY_TYPE ecvDisplayTools::ConvertToEntityType ( const CV_CLASS_ENUM type)
static

◆ CreateViewPort()

static void ecvDisplayTools::CreateViewPort ( double  xmin,
double  ymin,
double  xmax,
double  ymax,
int &  viewport 
)
inlinestatic

Create a new viewport from [xmin,ymin] -> [xmax,ymax].

Parameters
[in]xminthe minimum X coordinate for the viewport (0.0 <= 1.0)
[in]yminthe minimum Y coordinate for the viewport (0.0 <= 1.0)
[in]xmaxthe maximum X coordinate for the viewport (0.0 <= 1.0)
[in]ymaxthe maximum Y coordinate for the viewport (0.0 <= 1.0)
[in]viewportthe id of the new viewport
Note
If no renderer for the current window exists, one will be created, and the viewport will be set to 0 ('all'). In case one or multiple renderers do exist, the viewport ID will be set to the total number of renderers - 1.

Definition at line 1164 of file ecvDisplayTools.h.

◆ createViewPort()

virtual void ecvDisplayTools::createViewPort ( double  xmin,
double  ymin,
double  xmax,
double  ymax,
int &  viewport 
)
inlinevirtual

Definition at line 1168 of file ecvDisplayTools.h.

◆ CursorCoordinatesShown()

static bool ecvDisplayTools::CursorCoordinatesShown ( )
inlinestatic

Whether the coordinates of the point below the cursor position are displayed or not

Definition at line 1658 of file ecvDisplayTools.h.

◆ Deprecate3DLayer()

static void ecvDisplayTools::Deprecate3DLayer ( )
inlinestatic

◆ Display3DLabel()

static void ecvDisplayTools::Display3DLabel ( const QString &  str,
const CCVector3 pos3D,
const ecvColor::Rgbub color = nullptr,
const QFont &  font = QFont() 
)
static

Displays a string at a given 3D position.

This method should be called solely during 3D pass rendering (see paintGL).

Parameters
strstring
pos3D3D position of string origin
rgbColorcolor (optional: if let to 0, default text rendering color is used)
fontfont (optional)

Referenced by define_ccDisplayTools().

◆ DisplayNewMessage()

static void ecvDisplayTools::DisplayNewMessage ( const QString &  message,
MessagePosition  pos,
bool  append = false,
int  displayMaxDelay_sec = 2,
MessageType  type = CUSTOM_MESSAGE 
)
static

Displays a status message in the bottom-left corner.

WARNING: currently, 'append' is not supported for SCREEN_CENTER_MESSAGE

Parameters
messagemessage (if message is empty and append is 'false', all messages will be cleared)
posmessage position on screen
appendwhether to append the message or to replace existing one(s) (only messages of the same type are impacted)
displayMaxDelay_secminimum display duration
typemessage type (if not custom, only one message of this type at a time is accepted)

Referenced by ccPointPairRegistrationDlg::align(), MainWindow::cancelPreviousPickingOperation(), ccGraphicalTransformationTool::clear(), define_ccDisplayTools(), ccGraphicalSegmentationTool::doSetPolylineSelection(), ccGraphicalSegmentationTool::doSetRectangularSelection(), MainWindow::enablePickingOperation(), ccPointPairRegistrationDlg::init(), MainWindow::onItemPicked(), ccThicknessTool::onNewSelection(), ccTopologyTool::onNewSelection(), ccGraphicalTransformationTool::pause(), ccGraphicalSegmentationTool::pauseSegmentationMode(), ccThicknessTool::pointPicked(), ccPointPairRegistrationDlg::resetTitle(), ccGraphicalSegmentationTool::stop(), ccTracePolylineTool::stop(), ccPointPairRegistrationDlg::stop(), MainWindow::toggleExclusiveFullScreen(), ccThicknessTool::toolActivated(), ccTopologyTool::toolActivated(), and ccPointPairRegistrationDlg::updateAlignInfo().

◆ DisplayOverlayEntities()

static void ecvDisplayTools::DisplayOverlayEntities ( bool  state)
static

Sets whether overlay entities (scale, tetrahedron, etc.) should be displayed or not

Referenced by cc2Point5DimEditor::create2DView(), define_ccDisplayTools(), DistanceMapGenerationDlg::DistanceMapGenerationDlg(), and ccContourExtractorDlg::init().

◆ DisplayText() [1/2]

static void ecvDisplayTools::DisplayText ( const CC_DRAW_CONTEXT CONTEXT)
inlinestatic

Definition at line 392 of file ecvDisplayTools.h.

◆ displayText()

virtual void ecvDisplayTools::displayText ( const CC_DRAW_CONTEXT CONTEXT)
inlinevirtual

Definition at line 395 of file ecvDisplayTools.h.

◆ DisplayText() [2/2]

static void ecvDisplayTools::DisplayText ( const QString &  text,
int  x,
int  y,
unsigned char  align = ALIGN_DEFAULT,
float  bkgAlpha = 0.0f,
const unsigned char *  rgbColor = nullptr,
const QFont *  font = nullptr,
const QString &  id = "" 
)
static

Displays a string at a given 2D position.

This method should be called solely during 2D pass rendering. The coordinates are expressed relatively to the current viewport (y = 0 at the top!).

Parameters
textstring
xhorizontal position of string origin
yvertical position of string origin
alignalignment position flags
bkgAlphabackground transparency (0 by default)
rgbColortext color (optional)
fontoptional font (otherwise default one will be used)

Referenced by define_ccDisplayTools(), and ccSymbolCloud::drawMeOnly().

◆ DisplayTexture2DPosition()

static void ecvDisplayTools::DisplayTexture2DPosition ( QImage  image,
const QString &  id,
int  x,
int  y,
int  w,
int  h,
unsigned char  alpha = 255 
)
static

◆ doPicking

void ecvDisplayTools::doPicking ( )
slot

Performs standard picking at the last clicked mouse position (see m_lastMousePos)

◆ DoResize() [1/2]

static void ecvDisplayTools::DoResize ( const QSize &  size)
inlinestatic

Definition at line 883 of file ecvDisplayTools.h.

References size.

◆ DoResize() [2/2]

static void ecvDisplayTools::DoResize ( int  xw,
int  yw 
)
inlinestatic

Definition at line 882 of file ecvDisplayTools.h.

Referenced by define_ccDisplayTools().

◆ doubleButtonClicked

void ecvDisplayTools::doubleButtonClicked ( int  x,
int  y 
)
signal

Signal emitted when the double mouse button is cliked on the window.

See INTERACT_SIG_LB_CLICKED. Arguments correspond to the clicked point coordinates (x,y) in pixels relative to the window corner!

◆ Draw()

static void ecvDisplayTools::Draw ( const CC_DRAW_CONTEXT context,
const ccHObject obj 
)
inlinestatic

Definition at line 415 of file ecvDisplayTools.h.

References context.

◆ draw()

virtual void ecvDisplayTools::draw ( const CC_DRAW_CONTEXT context,
const ccHObject obj 
)
inlinevirtual

Definition at line 419 of file ecvDisplayTools.h.

◆ DrawBackground()

static void ecvDisplayTools::DrawBackground ( CC_DRAW_CONTEXT CONTEXT)
static

◆ DrawBBox()

static void ecvDisplayTools::DrawBBox ( const CC_DRAW_CONTEXT context,
const ccBBox bbox 
)
inlinestatic

Definition at line 430 of file ecvDisplayTools.h.

References context.

◆ drawBBox()

virtual void ecvDisplayTools::drawBBox ( const CC_DRAW_CONTEXT context,
const ccBBox bbox 
)
inlinevirtual

Definition at line 434 of file ecvDisplayTools.h.

◆ DrawClickableItems()

static void ecvDisplayTools::DrawClickableItems ( int  xStart,
int &  yStart 
)
static

Draws the 'hot zone' (+/- icons for point size), 'leave bubble-view' button, etc.

◆ DrawCoordinates()

static void ecvDisplayTools::DrawCoordinates ( double  scale = 1.0,
const std::string &  id = "reference",
int  viewport = 0 
)
inlinestatic

Definition at line 460 of file ecvDisplayTools.h.

◆ drawCoordinates()

virtual void ecvDisplayTools::drawCoordinates ( double  scale = 1.0,
const std::string &  id = "reference",
int  viewport = 0 
)
inlinevirtual

Definition at line 466 of file ecvDisplayTools.h.

◆ drawCross()

static void ecvDisplayTools::drawCross ( )
static

◆ DrawForeground()

static void ecvDisplayTools::DrawForeground ( CC_DRAW_CONTEXT CONTEXT)
static

◆ drawing3D

void ecvDisplayTools::drawing3D ( )
signal

Signal emitted during 3D pass of OpenGL display process.

Any object connected to this slot can draw additional stuff in 3D. Depth buffering, lights and shaders are enabled by default.

◆ DrawOrientedBBox()

static void ecvDisplayTools::DrawOrientedBBox ( const CC_DRAW_CONTEXT context,
const ecvOrientedBBox obb 
)
inlinestatic

Definition at line 437 of file ecvDisplayTools.h.

References context.

◆ drawOrientedBBox()

virtual void ecvDisplayTools::drawOrientedBBox ( const CC_DRAW_CONTEXT context,
const ecvOrientedBBox obb 
)
inlinevirtual

Definition at line 441 of file ecvDisplayTools.h.

◆ DrawPivot()

static void ecvDisplayTools::DrawPivot ( )
static

◆ drawTrihedron()

static void ecvDisplayTools::drawTrihedron ( )
static

◆ drawWidgets()

virtual void ecvDisplayTools::drawWidgets ( const WIDGETS_PARAMETER param)
inlinevirtual

Definition at line 453 of file ecvDisplayTools.h.

◆ DrawWidgets()

static void ecvDisplayTools::DrawWidgets ( const WIDGETS_PARAMETER param,
bool  update = false 
)
static

◆ EnableDebugTrace()

static void ecvDisplayTools::EnableDebugTrace ( bool  state)
inlinestatic

Shows debug info on screen.

Definition at line 1688 of file ecvDisplayTools.h.

◆ entitiesSelectionChanged

void ecvDisplayTools::entitiesSelectionChanged ( std::unordered_set< int >  entIDs)
signal

Signal emitted when multiple entities are selected in the 3D view.

◆ entitySelectionChanged

void ecvDisplayTools::entitySelectionChanged ( ccHObject entity)
signal

Signal emitted when an entity is selected in the 3D view.

◆ ExclusiveFullScreen()

static bool ecvDisplayTools::ExclusiveFullScreen ( )
inlinestatic

Returns whether the window is in exclusive full screen mode or not.

Definition at line 1415 of file ecvDisplayTools.h.

◆ exclusiveFullScreenToggled

void ecvDisplayTools::exclusiveFullScreenToggled ( bool  exclusive)
signal

Signal emitted when the exclusive fullscreen is toggled.

◆ fastPickingFinished

void ecvDisplayTools::fastPickingFinished ( )
signal

Signal emitted when fast picking is finished (FAST_PICKING mode only)

◆ filesDropped

void ecvDisplayTools::filesDropped ( const QStringList &  filenames,
bool  displayDialog 
)
signal

Signal emitted when files are dropped on the window.

◆ FilterByEntityType()

static void ecvDisplayTools::FilterByEntityType ( ccHObject::Container labels,
CV_CLASS_ENUM  type 
)
static

◆ fovChanged

void ecvDisplayTools::fovChanged ( float  fov)
signal

Signal emitted when the f.o.v. changes.

◆ FullScreen()

static void ecvDisplayTools::FullScreen ( bool  state)
inlinestatic

Definition at line 893 of file ecvDisplayTools.h.

◆ fullScreen()

virtual void ecvDisplayTools::fullScreen ( bool  state)
inlinevirtual

Definition at line 896 of file ecvDisplayTools.h.

◆ GenerateViewMat()

static ccGLMatrixd ecvDisplayTools::GenerateViewMat ( CC_VIEW_ORIENTATION  orientation)
static

Returns a 4x4 'OpenGL' matrix corresponding to a default 'view' orientation

Parameters
orientationview orientation
Returns
corresponding GL matrix

◆ GetBaseViewMat()

static ccGLMatrixd& ecvDisplayTools::GetBaseViewMat ( )
inlinestatic

Definition at line 721 of file ecvDisplayTools.h.

◆ GetCameraClip()

static void ecvDisplayTools::GetCameraClip ( double *  clipPlanes,
int  viewport = 0 
)
inlinestatic

Definition at line 978 of file ecvDisplayTools.h.

◆ getCameraClip()

virtual void ecvDisplayTools::getCameraClip ( double *  clipPlanes,
int  viewport = 0 
)
inlinevirtual

Definition at line 981 of file ecvDisplayTools.h.

◆ GetCameraFocal()

static void ecvDisplayTools::GetCameraFocal ( double *  focal,
int  viewport = 0 
)
inlinestatic

Definition at line 919 of file ecvDisplayTools.h.

◆ getCameraFocal()

virtual void ecvDisplayTools::getCameraFocal ( double *  focal,
int  viewport = 0 
)
inlinevirtual

Definition at line 922 of file ecvDisplayTools.h.

◆ GetCameraFocalDistance()

static double ecvDisplayTools::GetCameraFocalDistance ( int  viewport = 0)
inlinestatic

◆ getCameraFocalDistance()

virtual double ecvDisplayTools::getCameraFocalDistance ( int  viewport = 0)
inlinevirtual

Definition at line 903 of file ecvDisplayTools.h.

◆ GetCameraFovy()

static double ecvDisplayTools::GetCameraFovy ( int  viewport = 0)
inlinestatic

Definition at line 1001 of file ecvDisplayTools.h.

◆ getCameraFovy()

virtual double ecvDisplayTools::getCameraFovy ( int  viewport = 0)
inlinevirtual

Definition at line 1004 of file ecvDisplayTools.h.

◆ GetCameraPos()

static void ecvDisplayTools::GetCameraPos ( double *  pos,
int  viewport = 0 
)
inlinestatic

Definition at line 914 of file ecvDisplayTools.h.

◆ getCameraPos()

virtual void ecvDisplayTools::getCameraPos ( double *  pos,
int  viewport = 0 
)
inlinevirtual

Definition at line 917 of file ecvDisplayTools.h.

◆ GetCameraUp()

static void ecvDisplayTools::GetCameraUp ( double *  up,
int  viewport = 0 
)
inlinestatic

Definition at line 924 of file ecvDisplayTools.h.

◆ getCameraUp()

virtual void ecvDisplayTools::getCameraUp ( double *  up,
int  viewport = 0 
)
inlinevirtual

Definition at line 927 of file ecvDisplayTools.h.

◆ GetCenterOfRotation() [1/2]

static void ecvDisplayTools::GetCenterOfRotation ( CCVector3d center)
inlinestatic

Definition at line 1276 of file ecvDisplayTools.h.

References Tuple3Tpl< Type >::u.

◆ GetCenterOfRotation() [2/2]

static void ecvDisplayTools::GetCenterOfRotation ( double  center[3])
inlinestatic

Get the current center of rotation

Definition at line 1273 of file ecvDisplayTools.h.

◆ getCenterOfRotation()

virtual void ecvDisplayTools::getCenterOfRotation ( double  center[3])
inlinevirtual

Definition at line 1279 of file ecvDisplayTools.h.

◆ GetClick3DPos()

static bool ecvDisplayTools::GetClick3DPos ( int  x,
int  y,
CCVector3d P3D 
)
static

Returns the approximate 3D position of the clicked pixel.

Referenced by ccGraphicalSegmentationTool::doExportSegmentationPolyline().

◆ GetClickableItemsVisible()

static bool ecvDisplayTools::GetClickableItemsVisible ( )
inlinestatic

Definition at line 1770 of file ecvDisplayTools.h.

◆ GetContext()

static void ecvDisplayTools::GetContext ( CC_DRAW_CONTEXT CONTEXT)
static

◆ GetCurrentScreen()

static QWidget* ecvDisplayTools::GetCurrentScreen ( )
inlinestatic

Definition at line 666 of file ecvDisplayTools.h.

Referenced by ccPointPropertiesDlg::activatePointPropertiesDisplay(), qCanupo2DViewDialog::addOrSelectPoint(), ccPointPairRegistrationDlg::align(), ccPointPairRegistrationDlg::clear(), ccPointPropertiesDlg::close2DZone(), CC_ITEM_TREE::createPointLabel2D(), ccCompass::doAction(), MainWindow::doActionOrthogonalProjection(), MainWindow::doActionPerspectiveProjection(), ccPointPair::drawMeOnly(), ccSNECloud::drawMeOnly(), ccTrace::drawMeOnly(), ccSymbolCloud::drawMeOnly(), ccPointPropertiesDlg::exportCurrentLabel(), qCanupo2DViewDialog::getClickPos(), qCanupo2DViewDialog::getClosestVertex(), ccPointPairRegistrationDlg::init(), ccTool::initializeTool(), ccPointPairRegistrationDlg::label2DMove(), ccPointPropertiesDlg::linkWith(), MainWindow::MainWindow(), qCanupo2DViewDialog::moveSelectedPoint(), ccPointPairRegistrationDlg::onItemPicked(), ccTracePolylineTool::onItemPicked(), ccTracePolylineTool::onWidthSizeChanged(), ccGraphicalTransformationTool::pause(), ccGraphicalSegmentationTool::pauseSegmentationMode(), ccTracePolylineTool::polylineOverSampling(), ccPointPropertiesDlg::processClickedPoint(), ccPointListPickingDlg::processPickedPoint(), ccPointPropertiesDlg::processPickedPoint(), qCanupo2DViewDialog::removePoint(), ccGraphicalSegmentationTool::reset(), ccPointPairRegistrationDlg::reset(), qCanupo2DViewDialog::resetBoundary(), ccTracePolylineTool::resetPoly3D(), ccGraphicalSegmentationTool::resetSegmentation(), ccTracePolylineTool::resetTip(), ccPointPairRegistrationDlg::resetTitle(), ccGraphicalSegmentationTool::segment(), ccTracePolylineTool::SegmentGLParams::SegmentGLParams(), MainWindow::setGlobalZoom(), MainWindow::setOrthoView(), MainWindow::setPerspectiveView(), ecvFilterByLabelDlg::start(), ccGraphicalTransformationTool::start(), ccPointPairRegistrationDlg::start(), ccTracePolylineTool::start(), ccGraphicalSegmentationTool::stop(), ccTracePolylineTool::stop(), ccPointPropertiesDlg::stop(), MainWindow::toggle3DView(), ccFitPlaneTool::toolActivated(), ccPointPropertiesDlg::update2DZone(), ccPointPairRegistrationDlg::updateAlignedMarkers(), ccPointPairRegistrationDlg::updateAlignInfo(), ccPointListPickingDlg::updateList(), ccTracePolylineTool::updatePoly3D(), ccTracePolylineTool::updatePolyLineTip(), ccPointPairRegistrationDlg::updateRefMarkers(), ccGraphicalSegmentationTool::updateSegmentation(), ccTracePolylineTool::updateTip(), MainWindow::updateViewModePopUpMenu(), and qCanupo2DViewDialog::~qCanupo2DViewDialog().

◆ GetCurrentUpDir()

static CCVector3d ecvDisplayTools::GetCurrentUpDir ( )
static

Returns current up direction.

This is the vertical direction of the screen (pointing 'upward') in world base.

◆ GetCurrentViewDir()

static CCVector3d ecvDisplayTools::GetCurrentViewDir ( )
static

Returns current viewing direction.

This is the direction normal to the screen (pointing 'inside') in world base.

Referenced by MainWindow::onItemPicked().

◆ GetDataAxesGridProperties()

static void ecvDisplayTools::GetDataAxesGridProperties ( const QString &  viewID,
AxesGridProperties props,
int  viewport = 0 
)
inlinestatic

Get Data Axes Grid properties (Unified Interface)

Parameters
viewIDThe view ID of the ccHObject
propsOutput: current axes grid properties
viewportViewport ID (default: 0)

Definition at line 542 of file ecvDisplayTools.h.

◆ getDataAxesGridProperties()

virtual void ecvDisplayTools::getDataAxesGridProperties ( const QString &  viewID,
AxesGridProperties props,
int  viewport = 0 
) const
inlinevirtual

Get Data Axes Grid properties (Virtual interface for derived classes)

Definition at line 552 of file ecvDisplayTools.h.

Referenced by ccPropertiesTreeDelegate::fillWithViewProperties(), ccDBRoot::setData(), and ccPropertiesTreeDelegate::setEditorData().

◆ GetDevicePixelRatio()

static int ecvDisplayTools::GetDevicePixelRatio ( )
inlinestatic

◆ GetDisplayParameters()

◆ GetFontPointSize()

static int ecvDisplayTools::GetFontPointSize ( )
static

Returns current font size.

Referenced by define_ccDisplayTools().

◆ GetFov()

static float ecvDisplayTools::GetFov ( )
static

Returns the current f.o.v. (field of view) in degrees.

Referenced by define_ccDisplayTools(), and cloudViewer::ModelViewerWidget::ZoomScale().

◆ GetGLCameraParameters()

◆ GetGLDepth()

static double ecvDisplayTools::GetGLDepth ( int  x,
int  y 
)
inlinestatic

Definition at line 1313 of file ecvDisplayTools.h.

◆ getGLDepth()

virtual double ecvDisplayTools::getGLDepth ( int  x,
int  y 
)
inlinevirtual

Definition at line 1316 of file ecvDisplayTools.h.

◆ GetInteractionMode()

static INTERACTION_FLAGS ecvDisplayTools::GetInteractionMode ( )
static

Returns the current interaction flags.

Referenced by define_ccDisplayTools().

◆ GetLabelDisplayFont()

static QFont ecvDisplayTools::GetLabelDisplayFont ( )
static

Referenced by define_ccDisplayTools().

◆ GetLabelFontPointSize()

static int ecvDisplayTools::GetLabelFontPointSize ( )
static

Returns current font size for labels.

Referenced by define_ccDisplayTools().

◆ GetLightIntensity()

static double ecvDisplayTools::GetLightIntensity ( )
inlinestatic

Get current global light intensity

Returns
Current light intensity (0.0-1.0)

Definition at line 644 of file ecvDisplayTools.h.

◆ getLightIntensity()

virtual double ecvDisplayTools::getLightIntensity ( ) const
inlinevirtual

Definition at line 647 of file ecvDisplayTools.h.

Referenced by ccPropertiesTreeDelegate::setEditorData().

◆ GetMainScreen()

static QWidget* ecvDisplayTools::GetMainScreen ( )
inlinestatic

◆ GetMainWindow()

◆ GetModelViewMatrix()

static ccGLMatrixd& ecvDisplayTools::GetModelViewMatrix ( )
static

◆ GetOptimizedFontSize()

static int ecvDisplayTools::GetOptimizedFontSize ( int  baseFontSize = 12)
inlinestatic

Definition at line 748 of file ecvDisplayTools.h.

References max(), and min().

◆ GetOwnDB()

◆ GetParallelScale()

static double ecvDisplayTools::GetParallelScale ( int  viewport = 0)
inlinestatic

Definition at line 1581 of file ecvDisplayTools.h.

◆ getParallelScale()

virtual double ecvDisplayTools::getParallelScale ( int  viewport = 0)
inlinevirtual

Definition at line 1584 of file ecvDisplayTools.h.

◆ GetPerspectiveState()

static bool ecvDisplayTools::GetPerspectiveState ( int  viewport = 0)
inlinestatic

Definition at line 1467 of file ecvDisplayTools.h.

◆ getPerspectiveState()

virtual bool ecvDisplayTools::getPerspectiveState ( int  viewport = 0) const
inlineoverridevirtual

Reimplemented from ecvGenericDisplayTools.

Definition at line 1470 of file ecvDisplayTools.h.

◆ GetPickedEntity()

static ccHObject* ecvDisplayTools::GetPickedEntity ( const PickingParameters params)
static

◆ GetPickingMode()

static PICKING_MODE ecvDisplayTools::GetPickingMode ( )
static

Referenced by define_ccDisplayTools().

◆ GetPickingRadius()

static int ecvDisplayTools::GetPickingRadius ( )
inlinestatic

Returns the current picking radius.

Definition at line 1789 of file ecvDisplayTools.h.

Referenced by define_ccDisplayTools().

◆ GetPivotVisibility()

static PivotVisibility ecvDisplayTools::GetPivotVisibility ( )
inlinestatic

Returns pivot visibility.

Definition at line 1565 of file ecvDisplayTools.h.

Referenced by define_ccDisplayTools().

◆ GetPlatformAwareDPIScale()

static double ecvDisplayTools::GetPlatformAwareDPIScale ( )
inlinestatic

Definition at line 819 of file ecvDisplayTools.h.

References max(), and min().

◆ GetProjectionMatrix() [1/2]

static ccGLMatrixd& ecvDisplayTools::GetProjectionMatrix ( )
static

◆ GetProjectionMatrix() [2/2]

static void ecvDisplayTools::GetProjectionMatrix ( double *  projArray,
int  viewport = 0 
)
inlinestatic

Definition at line 1084 of file ecvDisplayTools.h.

◆ getProjectionMatrix()

virtual void ecvDisplayTools::getProjectionMatrix ( double *  projArray,
int  viewport = 0 
)
inlinevirtual

Definition at line 1088 of file ecvDisplayTools.h.

◆ GetRealCameraCenter()

static CCVector3d ecvDisplayTools::GetRealCameraCenter ( )
static

◆ GetSceneDB()

static ccHObject* ecvDisplayTools::GetSceneDB ( )
inlinestatic

◆ GetScreenRect()

static QRect ecvDisplayTools::GetScreenRect ( )
inlinestatic

Definition at line 872 of file ecvDisplayTools.h.

Referenced by ccContourExtractorDlg::zoomOn().

◆ GetScreenSize()

static QSize ecvDisplayTools::GetScreenSize ( )
inlinestatic

◆ GetTextDisplayFont()

static QFont ecvDisplayTools::GetTextDisplayFont ( )
inlinestatic

◆ getViewAxesGridProperties()

virtual void ecvDisplayTools::getViewAxesGridProperties ( bool &  visible,
CCVector3 color,
double &  lineWidth,
double &  spacing,
int &  subdivisions,
bool &  showLabels,
double &  opacity,
int  viewport = 0 
) const
inlinevirtual

Get view axes grid properties.

Definition at line 592 of file ecvDisplayTools.h.

References color.

◆ GetViewerPos()

static void ecvDisplayTools::GetViewerPos ( int *  viewPos,
int  viewport = 0 
)
inlinestatic

Definition at line 1015 of file ecvDisplayTools.h.

◆ GetViewMatrix()

static void ecvDisplayTools::GetViewMatrix ( double *  viewArray,
int  viewport = 0 
)
inlinestatic

Definition at line 1091 of file ecvDisplayTools.h.

Referenced by cloudViewer::ModelViewerWidget::ModelViewMatrix().

◆ getViewMatrix()

virtual void ecvDisplayTools::getViewMatrix ( double *  viewArray,
int  viewport = 0 
)
inlinevirtual

Definition at line 1094 of file ecvDisplayTools.h.

◆ GetViewportParameters()

◆ GetVisibleObjectsBB()

static void ecvDisplayTools::GetVisibleObjectsBB ( ccBBox box)
static

Returns the visible objects bounding-box.

Referenced by define_ccDisplayTools(), and qAnimationDlg::init().

◆ GetVisualizer2D()

static ecvGenericVisualizer2D* ecvDisplayTools::GetVisualizer2D ( )
inlinestatic

Definition at line 659 of file ecvDisplayTools.h.

◆ getVisualizer2D()

virtual ecvGenericVisualizer2D* ecvDisplayTools::getVisualizer2D ( )
inlinevirtual

Definition at line 662 of file ecvDisplayTools.h.

◆ GetVisualizer3D()

static ecvGenericVisualizer3D* ecvDisplayTools::GetVisualizer3D ( )
inlinestatic

Definition at line 653 of file ecvDisplayTools.h.

Referenced by ecvMeasurementTool::createMeasurementTool().

◆ getVisualizer3D()

virtual ecvGenericVisualizer3D* ecvDisplayTools::getVisualizer3D ( )
inlinevirtual

Definition at line 656 of file ecvDisplayTools.h.

◆ GlHeight()

◆ GlSize()

static QSize ecvDisplayTools::GlSize ( )
inlinestatic

Returns the OpenGL context size.

Definition at line 2042 of file ecvDisplayTools.h.

◆ GlWidth()

◆ Height()

static int ecvDisplayTools::Height ( )
inlinestatic

Definition at line 2034 of file ecvDisplayTools.h.

References size.

Referenced by cc2Point5DimEditor::update2DDisplayZoom().

◆ HideShowEntities() [1/3]

static bool ecvDisplayTools::HideShowEntities ( const CC_DRAW_CONTEXT CONTEXT)
inlinestatic

Definition at line 1105 of file ecvDisplayTools.h.

◆ hideShowEntities()

virtual bool ecvDisplayTools::hideShowEntities ( const CC_DRAW_CONTEXT CONTEXT)
inlinevirtual

Definition at line 1108 of file ecvDisplayTools.h.

◆ HideShowEntities() [2/3]

static bool ecvDisplayTools::HideShowEntities ( const ccHObject obj,
bool  visible 
)
static

◆ HideShowEntities() [3/3]

static void ecvDisplayTools::HideShowEntities ( const QStringList &  viewIDs,
ENTITY_TYPE  hideShowEntityType,
bool  visibility = false 
)
static

◆ Init()

static void ecvDisplayTools::Init ( ecvDisplayTools displayTools,
QMainWindow *  win,
bool  stereoMode = false 
)
static
Parameters
mainWidgetMainWindow widget (optional)

◆ InvalidateViewport()

static void ecvDisplayTools::InvalidateViewport ( )
inlinestatic

◆ InvalidateVisualization()

static void ecvDisplayTools::InvalidateVisualization ( )
inlinestatic

◆ IsCameraOrientationWidgetShown()

static bool ecvDisplayTools::IsCameraOrientationWidgetShown ( )
inlinestatic

Check if Camera Orientation Widget is shown.

Definition at line 628 of file ecvDisplayTools.h.

◆ isCameraOrientationWidgetShown()

virtual bool ecvDisplayTools::isCameraOrientationWidgetShown ( ) const
inlinevirtual

Definition at line 631 of file ecvDisplayTools.h.

◆ IsPickingModeLocked()

static bool ecvDisplayTools::IsPickingModeLocked ( )
static

Returns whether picking mode is locked or not.

Referenced by define_ccDisplayTools().

◆ IsRectangularPickingAllowed()

static bool ecvDisplayTools::IsRectangularPickingAllowed ( )
static

Returns whether rectangular picking is allowed or not.

Referenced by define_ccDisplayTools().

◆ IsRotationAxisLocked()

static bool ecvDisplayTools::IsRotationAxisLocked ( )
inlinestatic

Returns whether the rotation axis is locaked or not.

Definition at line 1677 of file ecvDisplayTools.h.

◆ itemPicked

void ecvDisplayTools::itemPicked ( ccHObject entity,
unsigned  subEntityID,
int  x,
int  y,
const CCVector3 P 
)
signal

Signal emitted when a point (or a triangle) is picked.

Parameters
entity'picked' entity
subEntityIDpoint or triangle index in entity
xmouse cursor x position
ymouse cursor y position
Pthe picked point

Referenced by ecvAnimationParamDlg::enableListener(), and ccPickingHub::onActiveWindowChanged().

◆ itemPickedFast

void ecvDisplayTools::itemPickedFast ( ccHObject entity,
int  subEntityID,
int  x,
int  y 
)
signal

Signal emitted when an item is picked (FAST_PICKING mode only)

Parameters
entityentity
subEntityIDpoint or triangle index in entity
xmouse cursor x position
ymouse cursor y position

◆ labelmove2D

void ecvDisplayTools::labelmove2D ( int  x,
int  y,
int  dx,
int  dy 
)
signal

◆ leftButtonClicked

void ecvDisplayTools::leftButtonClicked ( int  x,
int  y 
)
signal

Signal emitted when the left mouse button is cliked on the window.

See INTERACT_SIG_LB_CLICKED. Arguments correspond to the clicked point coordinates (x,y) in pixels relative to the window corner!

Referenced by ccPointPropertiesDlg::linkWith().

◆ LoadCameraParameters()

static void ecvDisplayTools::LoadCameraParameters ( const std::string &  file)
inlinestatic

Definition at line 1040 of file ecvDisplayTools.h.

◆ loadCameraParameters()

virtual void ecvDisplayTools::loadCameraParameters ( const std::string &  file)
inlinevirtual

Definition at line 1043 of file ecvDisplayTools.h.

◆ LockPickingMode()

static void ecvDisplayTools::LockPickingMode ( bool  state)
static

Locks picking mode.

Warning
Bes sure to unlock it at some point ;)

Referenced by define_ccDisplayTools().

◆ LockRotationAxis()

static void ecvDisplayTools::LockRotationAxis ( bool  state,
const CCVector3d axis 
)
static

Lock the rotation axis.

◆ mouseMoved

void ecvDisplayTools::mouseMoved ( int  x,
int  y,
Qt::MouseButtons  buttons 
)
signal

Signal emitted when the mouse is moved.

See INTERACT_SIG_MOUSE_MOVED. The two first arguments correspond to the current cursor coordinates (x,y) relative to the window corner!

Referenced by ccPointPropertiesDlg::linkWith(), ccTracePolylineTool::linkWith(), and ccCloudLayersDlg::start().

◆ mousePosChanged

void ecvDisplayTools::mousePosChanged ( const QPoint &  pos)
signal

◆ mouseWheelChanged

void ecvDisplayTools::mouseWheelChanged ( QWheelEvent *  event)
signal

◆ mouseWheelRotated

void ecvDisplayTools::mouseWheelRotated ( float  wheelDelta_deg)
signal

Signal emitted when the mouse wheel is rotated.

◆ MoveCamera() [1/2]

static void ecvDisplayTools::MoveCamera ( const CCVector3d v)
inlinestatic

Displaces camera.

Values are given in objects world along the current camera viewing directions (we use the right hand rule): X: horizontal axis (right) Y: vertical axis (up) Z: depth axis (pointing out of the screen)

Parameters
vdisplacement vector

Definition at line 1525 of file ecvDisplayTools.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ MoveCamera() [2/2]

static void ecvDisplayTools::MoveCamera ( float  dx,
float  dy,
float  dz 
)
static

Displaces camera.

Values are given in objects world along the current camera viewing directions (we use the right hand rule): X: horizontal axis (right) Y: vertical axis (up) Z: depth axis (pointing out of the screen)

Referenced by define_ccDisplayTools().

◆ newLabel

void ecvDisplayTools::newLabel ( ccHObject obj)
signal

Signal emitted when a new label is created.

◆ ObjectPerspectiveEnabled()

static bool ecvDisplayTools::ObjectPerspectiveEnabled ( )
static

Shortcut: returns whether object-based perspective mode is enabled.

Referenced by define_ccDisplayTools().

◆ onItemPickedFast

void ecvDisplayTools::onItemPickedFast ( ccHObject pickedEntity,
int  pickedItemIndex,
int  x,
int  y 
)
slot

Reacts to the itemPickedFast signal.

◆ onPointPicking

void ecvDisplayTools::onPointPicking ( const CCVector3 p,
int  index,
const std::string &  id 
)
slot

◆ onWheelEvent

void ecvDisplayTools::onWheelEvent ( float  wheelDelta_deg)
slot

◆ OrientationMarkerShown()

static bool ecvDisplayTools::OrientationMarkerShown ( )
inlinestatic

Definition at line 496 of file ecvDisplayTools.h.

◆ orientationMarkerShown()

virtual bool ecvDisplayTools::orientationMarkerShown ( )
inlinevirtual

Definition at line 499 of file ecvDisplayTools.h.

◆ OverlayEntitiesAreDisplayed()

static bool ecvDisplayTools::OverlayEntitiesAreDisplayed ( )
inlinestatic

Returns whether overlay entities (scale, tetrahedron, etc.) are displayed or not

Definition at line 1797 of file ecvDisplayTools.h.

◆ PAN_ONLY()

static INTERACTION_FLAGS ecvDisplayTools::PAN_ONLY ( )
static

◆ perspectiveStateChanged

void ecvDisplayTools::perspectiveStateChanged ( )
signal

Signal emitted when the perspective state changes (see setPerspectiveState)

◆ Pick2DLabel()

static void ecvDisplayTools::Pick2DLabel ( int  x,
int  y 
)
static

◆ pick2DLabel()

virtual QString ecvDisplayTools::pick2DLabel ( int  x,
int  y 
)
inlinevirtual

Definition at line 1128 of file ecvDisplayTools.h.

◆ Pick3DItem()

static QString ecvDisplayTools::Pick3DItem ( int  x = -1,
int  y = -1 
)
inlinestatic

Definition at line 1133 of file ecvDisplayTools.h.

◆ pick3DItem()

virtual QString ecvDisplayTools::pick3DItem ( int  x = -1,
int  y = -1 
)
inlinevirtual

Definition at line 1136 of file ecvDisplayTools.h.

◆ PickObject()

static QString ecvDisplayTools::PickObject ( double  x = -1,
double  y = -1 
)
inlinestatic

Definition at line 1139 of file ecvDisplayTools.h.

◆ pickObject()

virtual QString ecvDisplayTools::pickObject ( double  x = -1,
double  y = -1 
)
inlinevirtual

Definition at line 1142 of file ecvDisplayTools.h.

◆ pivotPointChanged

void ecvDisplayTools::pivotPointChanged ( const CCVector3d )
signal

Signal emitted when the pivot point is changed.

◆ pixelSizeChanged

void ecvDisplayTools::pixelSizeChanged ( float  pixelSize)
signal

Signal emitted when the pixel size is changed.

◆ pointPicked

void ecvDisplayTools::pointPicked ( double  x,
double  y,
double  z 
)
signal

◆ ProcessClickableItems()

static bool ecvDisplayTools::ProcessClickableItems ( int  x,
int  y 
)
static

Processes the clickable items.

Returns
true if an item has been clicked

◆ ProcessPickingResult()

static void ecvDisplayTools::ProcessPickingResult ( const PickingParameters params,
ccHObject pickedEntity,
int  pickedItemIndex,
const CCVector3 nearestPoint = nullptr,
const std::unordered_set< int > *  selectedIDs = nullptr 
)
static

Processes the picking process result and sends the corresponding signal.

◆ Redraw2DLabel()

static void ecvDisplayTools::Redraw2DLabel ( )
static

◆ RedrawDisplay()

static void ecvDisplayTools::RedrawDisplay ( bool  only2D = false,
bool  forceRedraw = true 
)
static

Referenced by ccRasterizeTool::activeLayerChanged(), qCanupo2DViewDialog::addOrSelectPoint(), ccCompass::addPinchNode(), ccPointPairRegistrationDlg::align(), ccGraphicalTransformationTool::apply(), ccLibAlgorithms::ApplyScaleMatchingAlgorithm(), DistanceMapGenerationDlg::baseRadiusChanged(), ccPointPairRegistrationDlg::cancel(), MainWindow::cancelPreviousPickingOperation(), masc::Classifier::classify(), ccCompass::cleanupBeforeToolChange(), DistanceMapGenerationDlg::clearOverlaySymbols(), DistanceMapGenerationDlg::colorScaleChanged(), define_ccDisplayTools(), ccGraphicalSegmentationTool::doActionUseExistingPolyline(), ccGraphicalSegmentationTool::doSetPolylineSelection(), ccGraphicalSegmentationTool::doSetRectangularSelection(), ccCompass::enableMapMode(), ccCompass::enableMeasureMode(), MainWindow::enablePickingOperation(), cloudViewer::ModelViewerWidget::EndRender(), masc::Classifier::evaluate(), JsonRPCPlugin::execute(), ccPointPropertiesDlg::exportCurrentLabel(), ccTraceTool::finishCurrentTrace(), ccRasterizeTool::generateContours(), ccRasterizeTool::generateHillshade(), ccPointPairRegistrationDlg::init(), DistanceMapGenerationDlg::labelFontSizeChanged(), DistanceMapGenerationDlg::labelPrecisionChanged(), DistanceMapGenerationDlg::loadOverlaySymbols(), ccPointListPickingDlg::markerSizeChanged(), qCanupo2DViewDialog::moveSelectedPoint(), ccColorLevelsDlg::onApply(), ccThicknessTool::onNewSelection(), DistanceMapGenerationDlg::overlayGridColorChanged(), DistanceMapGenerationDlg::overlaySymbolsColorChanged(), DistanceMapGenerationDlg::overlaySymbolsSizeChanged(), ccGraphicalTransformationTool::pause(), ccGraphicalSegmentationTool::pauseSegmentationMode(), BasePclModule::performAction(), ccCompass::pointPicked(), ccCompass::recalculateSelectedTraces(), ccContourExtractorDlg::refresh(), MainWindow::refreshAll(), MainWindow::refreshObject(), MainWindow::refreshObjects(), MainWindow::refreshSelected(), ccRasterizeTool::removeContourLines(), ccGraphicalSegmentationTool::reset(), ccPointPairRegistrationDlg::reset(), qCanupo2DViewDialog::resetBoundary(), ccPointPairRegistrationDlg::EntityContext::restore(), ccGraphicalSegmentationTool::segment(), cloudViewer::ModelViewerWidget::SetBackgroundColor(), ccEntityAction::setColor(), ccAlignDlg::setColorsAndLabels(), ccVolumeCalcTool::setDisplayedNumberPrecision(), ccCompass::setLineation(), ccCompass::setNote(), ccCompass::setPick(), ccCompass::setPlane(), ccCompass::setThickness(), ccCompass::setTrace(), ccCompass::setYoungerThan(), ccPointPairRegistrationDlg::showAlignedEntities(), ccPointPairRegistrationDlg::showReferenceEntities(), ccCompass::startMeasuring(), ccGraphicalSegmentationTool::stop(), DistanceMapGenerationDlg::toggleColorScaleDisplay(), MainWindow::toggleExclusiveFullScreen(), ccCompass::toggleLabels(), ccCompass::toggleNormals(), DistanceMapGenerationDlg::toggleOverlayGrid(), ccCompass::toggleStipple(), ccThicknessTool::toolActivated(), ccThicknessTool::toolDisactivated(), ccTraceTool::undo(), cc2Point5DimEditor::update2DDisplayZoom(), ccPointPairRegistrationDlg::updateAlignInfo(), ccComparisonDlg::updateDisplay(), ccRasterizeTool::updateGridAndDisplay(), ccVolumeCalcTool::updateGridAndDisplay(), ccRegistrationDlg::updateGUI(), FastGlobalRegistrationDialog::updateGUI(), DistanceMapGenerationDlg::updateMapTexture(), qCanupo2DViewDialog::updateZoom(), DistanceMapGenerationDlg::updateZoom(), ccRegistrationDlg::~ccRegistrationDlg(), and FastGlobalRegistrationDialog::~FastGlobalRegistrationDialog().

◆ RefreshDisplay()

static void ecvDisplayTools::RefreshDisplay ( bool  only2D = false,
bool  forceRedraw = true 
)
static

Referenced by define_ccDisplayTools().

◆ registerVisualizer()

virtual void ecvDisplayTools::registerVisualizer ( QMainWindow *  win,
bool  stereoMode = false 
)
protectedpure virtual

register visualizer callback function

◆ ReleaseInstance()

static void ecvDisplayTools::ReleaseInstance ( )
static

Referenced by MainWindow::~MainWindow().

◆ Remove3DLabel()

static void ecvDisplayTools::Remove3DLabel ( const QString &  view_id)
static

Referenced by define_ccDisplayTools().

◆ RemoveAllWidgets()

static void ecvDisplayTools::RemoveAllWidgets ( bool  update = true)
static

Referenced by define_ccDisplayTools().

◆ RemoveBB() [1/2]

◆ RemoveBB() [2/2]

static void ecvDisplayTools::RemoveBB ( const QString &  viewId)
static

◆ RemoveEntities() [1/3]

static void ecvDisplayTools::RemoveEntities ( const CC_DRAW_CONTEXT CONTEXT)
inlinestatic

Definition at line 1118 of file ecvDisplayTools.h.

◆ removeEntities()

virtual void ecvDisplayTools::removeEntities ( const CC_DRAW_CONTEXT CONTEXT)
inlinevirtual

Definition at line 1121 of file ecvDisplayTools.h.

◆ RemoveEntities() [2/3]

static void ecvDisplayTools::RemoveEntities ( const ccHObject obj)
static

◆ RemoveEntities() [3/3]

static void ecvDisplayTools::RemoveEntities ( const QStringList &  viewIDs,
ENTITY_TYPE  removeEntityType 
)
static

◆ RemoveFromOwnDB()

◆ RemoveWidgets()

static void ecvDisplayTools::RemoveWidgets ( const WIDGETS_PARAMETER param,
bool  update = false 
)
static

◆ RenderText() [1/2]

static void ecvDisplayTools::RenderText ( double  x,
double  y,
double  z,
const QString &  str,
const QFont &  font = QFont(),
const ecvColor::Rgbub color = ecvColor::defaultLabelBkgColor,
const QString &  id = "" 
)
static

◆ RenderText() [2/2]

static void ecvDisplayTools::RenderText ( int  x,
int  y,
const QString &  str,
const QFont &  font = QFont(),
const ecvColor::Rgbub color = ecvColor::defaultLabelBkgColor,
const QString &  id = "" 
)
static

Referenced by define_ccDisplayTools().

◆ RenderToFile()

static bool ecvDisplayTools::RenderToFile ( QString  filename,
float  zoomFactor = 1.0f,
bool  dontScaleFeatures = false,
bool  renderOverlayItems = false 
)
static

◆ RenderToImage()

static QImage ecvDisplayTools::RenderToImage ( int  zoomFactor = 1,
bool  renderOverlayItems = false,
bool  silent = false,
int  viewport = 0 
)
inlinestatic

◆ renderToImage()

virtual QImage ecvDisplayTools::renderToImage ( int  zoomFactor = 1,
bool  renderOverlayItems = false,
bool  silent = false,
int  viewport = 0 
)
inlinevirtual

Definition at line 1369 of file ecvDisplayTools.h.

◆ ResetCamera() [1/2]

static void ecvDisplayTools::ResetCamera ( )
inlinestatic

Definition at line 1251 of file ecvDisplayTools.h.

◆ resetCamera() [1/2]

virtual void ecvDisplayTools::resetCamera ( )
inlinevirtual

Definition at line 1255 of file ecvDisplayTools.h.

◆ ResetCamera() [2/2]

static void ecvDisplayTools::ResetCamera ( const ccBBox bbox)
inlinestatic

Definition at line 1246 of file ecvDisplayTools.h.

◆ resetCamera() [2/2]

virtual void ecvDisplayTools::resetCamera ( const ccBBox bbox)
inlinevirtual

Definition at line 1250 of file ecvDisplayTools.h.

◆ ResetCameraClippingRange()

static void ecvDisplayTools::ResetCameraClippingRange ( int  viewport = 0)
inlinestatic

Definition at line 994 of file ecvDisplayTools.h.

Referenced by ecvPrimitiveFactoryDlg::createPrimitive().

◆ resetCameraClippingRange()

virtual void ecvDisplayTools::resetCameraClippingRange ( int  viewport = 0)
inlinevirtual

Definition at line 997 of file ecvDisplayTools.h.

◆ ResetCameraViewpoint()

static void ecvDisplayTools::ResetCameraViewpoint ( const std::string &  viewID)
inlinestatic

Definition at line 1174 of file ecvDisplayTools.h.

◆ resetCameraViewpoint()

virtual void ecvDisplayTools::resetCameraViewpoint ( const std::string &  viewID)
inlinevirtual

Definition at line 1177 of file ecvDisplayTools.h.

◆ ResetCenterOfRotation()

static void ecvDisplayTools::ResetCenterOfRotation ( int  viewport = 0)
inlinestatic

Resets the center of rotation to the focal point.

Definition at line 1285 of file ecvDisplayTools.h.

◆ resetCenterOfRotation()

virtual void ecvDisplayTools::resetCenterOfRotation ( int  viewport = 0)
inlinevirtual

Definition at line 1289 of file ecvDisplayTools.h.

◆ ResizeGL()

static void ecvDisplayTools::ResizeGL ( int  w,
int  h 
)
static

Sets current zoom.

Warning: has no effect in viewer-centered perspective mode

◆ rightButtonClicked

void ecvDisplayTools::rightButtonClicked ( int  x,
int  y 
)
signal

Signal emitted when the right mouse button is cliked on the window.

See INTERACT_SIG_RB_CLICKED. Arguments correspond to the clicked point coordinates (x,y) in pixels relative to the window corner!

Referenced by ccTracePolylineTool::linkWith().

◆ RotateBaseViewMat()

static void ecvDisplayTools::RotateBaseViewMat ( const ccGLMatrixd rotMat)
static

Rotates the base view matrix.

Warning: 'base view' marix is either:

  • the rotation around the object in object-centered mode
  • the rotation around the camera center in viewer-centered mode (see setPerspectiveState).

◆ RotateWithAxis()

static void ecvDisplayTools::RotateWithAxis ( const CCVector2i pos,
const CCVector3d axis,
double  angle,
int  viewport = 0 
)
inlinestatic

Rotate camera with axis given about angle.

Parameters
posThe mouse position on screen.
axisThe rotation axis.
angleThe ration angle in degrees. notify the external memory manager that the memory is no longer needed. It's up to the external manager to free the memory.

Definition at line 477 of file ecvDisplayTools.h.

Referenced by ecvAnimationParamDlg::startAnimation().

◆ rotateWithAxis()

virtual void ecvDisplayTools::rotateWithAxis ( const CCVector2i pos,
const CCVector3d axis,
double  angle,
int  viewport = 0 
)
inlinevirtual

Definition at line 484 of file ecvDisplayTools.h.

◆ rotation

void ecvDisplayTools::rotation ( const ccGLMatrixd rotMat)
signal

Signal emitted when the selected object is rotated by the user.

Parameters
rotMatrotation applied to current viewport (4x4 OpenGL matrix)

◆ SaveCameraParameters()

static void ecvDisplayTools::SaveCameraParameters ( const std::string &  file)
inlinestatic

Save or Load the current rendered camera parameters to disk or current camera.

Parameters
[in]filethe name of the param file

Definition at line 1034 of file ecvDisplayTools.h.

◆ saveCameraParameters()

virtual void ecvDisplayTools::saveCameraParameters ( const std::string &  file)
inlinevirtual

Definition at line 1037 of file ecvDisplayTools.h.

◆ SaveScreenshot()

static void ecvDisplayTools::SaveScreenshot ( const std::string &  file)
inlinestatic

Save the current rendered image to disk, as a PNG screenshot.

Parameters
[in]filethe name of the PNG file

Definition at line 1025 of file ecvDisplayTools.h.

◆ saveScreenshot()

virtual void ecvDisplayTools::saveScreenshot ( const std::string &  file)
inlinevirtual

Definition at line 1028 of file ecvDisplayTools.h.

◆ scheduleFullRedraw()

void ecvDisplayTools::scheduleFullRedraw ( unsigned  maxDelay_ms)

Schedules a full redraw.

Any previously scheduled redraw will be cancelled.

Warning
The redraw will be cancelled if redraw/update is called before.
Parameters
maxDelay_msthe maximum delay for the call to redraw (in ms)

◆ SendAutoPickPivotAtCenter()

static void ecvDisplayTools::SendAutoPickPivotAtCenter ( bool  state)
inlinestatic

Definition at line 1665 of file ecvDisplayTools.h.

◆ SetAspectRatio()

static void ecvDisplayTools::SetAspectRatio ( float  ar)
static

Sets current camera aspect ratio (width/height)

AR is only used in perspective mode.

◆ SetAutoPickPivotAtCenter()

static void ecvDisplayTools::SetAutoPickPivotAtCenter ( bool  state)
static

Toggles the automatic setting of the pivot point at the center of the screen

◆ SetAutoUpateCameraPos()

static void ecvDisplayTools::SetAutoUpateCameraPos ( bool  state)
inlinestatic

Definition at line 1265 of file ecvDisplayTools.h.

◆ setAutoUpateCameraPos()

virtual void ecvDisplayTools::setAutoUpateCameraPos ( bool  state)
inlinevirtual

Definition at line 1268 of file ecvDisplayTools.h.

◆ setBackgroundColor()

virtual void ecvDisplayTools::setBackgroundColor ( const CC_DRAW_CONTEXT CONTEXT)
inlinevirtual

Definition at line 1149 of file ecvDisplayTools.h.

◆ SetBaseViewMat()

static void ecvDisplayTools::SetBaseViewMat ( ccGLMatrixd mat)
static

◆ SetBubbleViewFov()

static void ecvDisplayTools::SetBubbleViewFov ( float  fov_deg)
static

Set bubble-view f.o.v. (in degrees)

◆ SetBubbleViewMode()

static void ecvDisplayTools::SetBubbleViewMode ( bool  state)
static

Sets bubble-view mode state.

Bubble-view is a kind of viewer-based perspective mode where the user can't displace the camera (apart from up-down or left-right rotations). The f.o.v. is also maximized.

Warning
Any call to a method that changes the perpsective will automatically disable this mode.

◆ SetCameraClip()

static void ecvDisplayTools::SetCameraClip ( double  znear,
double  zfar,
int  viewport = 0 
)
inlinestatic

Definition at line 983 of file ecvDisplayTools.h.

◆ setCameraClip()

virtual void ecvDisplayTools::setCameraClip ( double  znear,
double  zfar,
int  viewport = 0 
)
inlinevirtual

Definition at line 990 of file ecvDisplayTools.h.

◆ SetCameraFocalDistance()

static void ecvDisplayTools::SetCameraFocalDistance ( double  focal_distance,
int  viewport = 0 
)
inlinestatic

◆ setCameraFocalDistance()

virtual void ecvDisplayTools::setCameraFocalDistance ( double  focal_distance,
int  viewport = 0 
)
inlinevirtual

Definition at line 911 of file ecvDisplayTools.h.

◆ SetCameraFovy()

static void ecvDisplayTools::SetCameraFovy ( double  fovy,
int  viewport = 0 
)
inlinestatic

Definition at line 1007 of file ecvDisplayTools.h.

References cloudViewer::DegreesToRadians().

◆ setCameraFovy()

virtual void ecvDisplayTools::setCameraFovy ( double  fovy,
int  viewport = 0 
)
inlinevirtual

Definition at line 1012 of file ecvDisplayTools.h.

◆ SetCameraPos()

static void ecvDisplayTools::SetCameraPos ( const CCVector3d P)
static

◆ SetCameraPosition() [1/4]

static void ecvDisplayTools::SetCameraPosition ( const CCVector3d pos,
int  viewport = 0 
)
inlinestatic

Definition at line 929 of file ecvDisplayTools.h.

◆ setCameraPosition() [1/4]

virtual void ecvDisplayTools::setCameraPosition ( const CCVector3d pos,
int  viewport = 0 
)
inlinevirtual

Definition at line 933 of file ecvDisplayTools.h.

◆ SetCameraPosition() [2/4]

static void ecvDisplayTools::SetCameraPosition ( const double *  pos,
const double *  focal,
const double *  up,
int  viewport = 0 
)
inlinestatic

Definition at line 935 of file ecvDisplayTools.h.

◆ setCameraPosition() [2/4]

virtual void ecvDisplayTools::setCameraPosition ( const double *  pos,
const double *  focal,
const double *  up,
int  viewport = 0 
)
inlinevirtual

Definition at line 941 of file ecvDisplayTools.h.

◆ SetCameraPosition() [3/4]

static void ecvDisplayTools::SetCameraPosition ( const double *  pos,
const double *  up,
int  viewport = 0 
)
inlinestatic

Definition at line 945 of file ecvDisplayTools.h.

◆ setCameraPosition() [3/4]

virtual void ecvDisplayTools::setCameraPosition ( const double *  pos,
const double *  up,
int  viewport = 0 
)
inlinevirtual

Definition at line 950 of file ecvDisplayTools.h.

◆ SetCameraPosition() [4/4]

static void ecvDisplayTools::SetCameraPosition ( double  pos_x,
double  pos_y,
double  pos_z,
double  view_x,
double  view_y,
double  view_z,
double  up_x,
double  up_y,
double  up_z,
int  viewport = 0 
)
inlinestatic

Definition at line 953 of file ecvDisplayTools.h.

◆ setCameraPosition() [4/4]

virtual void ecvDisplayTools::setCameraPosition ( double  pos_x,
double  pos_y,
double  pos_z,
double  view_x,
double  view_y,
double  view_z,
double  up_x,
double  up_y,
double  up_z,
int  viewport = 0 
)
inlinevirtual

Definition at line 966 of file ecvDisplayTools.h.

◆ SetCenterAxesVisible()

static void ecvDisplayTools::SetCenterAxesVisible ( bool  visible,
int  viewport = 0 
)
inlinestatic

Enable/disable center axes visualization.

Definition at line 611 of file ecvDisplayTools.h.

◆ setCenterAxesVisible()

virtual void ecvDisplayTools::setCenterAxesVisible ( bool  visible,
int  viewport = 0 
)
inlinevirtual

Definition at line 615 of file ecvDisplayTools.h.

◆ SetCenterOfRotation() [1/3]

static void ecvDisplayTools::SetCenterOfRotation ( const CCVector3d center)
inlinestatic

Definition at line 1309 of file ecvDisplayTools.h.

References Tuple3Tpl< Type >::u.

◆ SetCenterOfRotation() [2/3]

static void ecvDisplayTools::SetCenterOfRotation ( const double  xyz[3])
inlinestatic

Definition at line 1305 of file ecvDisplayTools.h.

◆ SetCenterOfRotation() [3/3]

static void ecvDisplayTools::SetCenterOfRotation ( double  x,
double  y,
double  z 
)
inlinestatic

Set the center of rotation. For this to work, one should have appropriate interaction style and camera manipulators that use the center of rotation They are setup correctly by default

Definition at line 1298 of file ecvDisplayTools.h.

◆ setCenterOfRotation()

virtual void ecvDisplayTools::setCenterOfRotation ( double  x,
double  y,
double  z 
)
inlinevirtual

Definition at line 1301 of file ecvDisplayTools.h.

◆ SetClickableItemsVisible()

static void ecvDisplayTools::SetClickableItemsVisible ( bool  state)
inlinestatic

Definition at line 1767 of file ecvDisplayTools.h.

◆ SetCurrentScreen()

static void ecvDisplayTools::SetCurrentScreen ( QWidget *  widget)
static

◆ SetDataAxesGridProperties()

static void ecvDisplayTools::SetDataAxesGridProperties ( const QString &  viewID,
const AxesGridProperties props,
int  viewport = 0 
)
inlinestatic

Set Data Axes Grid properties (Unified Interface) Each ccHObject has its own Data Axes Grid bound to its viewID.

Parameters
viewIDThe view ID of the ccHObject (empty string for current selected object)
propsAll axes grid properties encapsulated in AxesGridProperties struct
viewportViewport ID (default: 0)

Definition at line 518 of file ecvDisplayTools.h.

◆ setDataAxesGridProperties()

virtual void ecvDisplayTools::setDataAxesGridProperties ( const QString &  viewID,
const AxesGridProperties props,
int  viewport = 0 
)
inlinevirtual

Set Data Axes Grid properties (Virtual interface for derived classes)

Definition at line 530 of file ecvDisplayTools.h.

Referenced by ccPropertiesTreeDelegate::setEditorData().

◆ SetDisplayParameters()

◆ SetExclusiveFullScreenFlage()

static void ecvDisplayTools::SetExclusiveFullScreenFlage ( bool  state)
inlinestatic

Definition at line 1418 of file ecvDisplayTools.h.

◆ SetFocusToScreen()

static void ecvDisplayTools::SetFocusToScreen ( )
static

Draws the main 3D layer.

◆ SetFontPointSize()

static void ecvDisplayTools::SetFontPointSize ( int  pixelSize)
inlinestatic

Sets current font size.

Warning: only used internally. Change 'defaultFontSize' with setDisplayParameters instead!

Definition at line 1759 of file ecvDisplayTools.h.

◆ SetFov()

static void ecvDisplayTools::SetFov ( float  fov)
static

Sets current camera f.o.v. (field of view) in degrees.

FOV is only used in perspective mode.

Referenced by define_ccDisplayTools().

◆ SetGLViewport() [1/2]

static void ecvDisplayTools::SetGLViewport ( const QRect &  rect)
static

Sets the OpenGL viewport.

◆ SetGLViewport() [2/2]

static void ecvDisplayTools::SetGLViewport ( int  x,
int  y,
int  w,
int  h 
)
inlinestatic

Sets the OpenGL viewport (shortut)

Definition at line 1346 of file ecvDisplayTools.h.

◆ SetInteractionMode()

◆ SetLightIntensity()

static void ecvDisplayTools::SetLightIntensity ( double  intensity)
inlinestatic

Set global light intensity (ParaView-style, affects all scene objects) Directly modifies the renderer's default light intensity

Parameters
intensityLight intensity (0.0-1.0, default 1.0)

Definition at line 636 of file ecvDisplayTools.h.

◆ setLightIntensity()

virtual void ecvDisplayTools::setLightIntensity ( double  intensity)
inlinevirtual

Definition at line 640 of file ecvDisplayTools.h.

◆ SetLineWidth()

static void ecvDisplayTools::SetLineWidth ( float  width,
bool  silent = false,
int  viewport = 0 
)
static

Sets line width.

Parameters
widthlines width (between MIN_LINE_WIDTH_F and MAX_LINE_WIDTH_F)

Referenced by define_ccDisplayTools().

◆ SetLineWithRecursive()

static void ecvDisplayTools::SetLineWithRecursive ( PointCoordinateType  with)
static

◆ SetLookUpTableID()

static void ecvDisplayTools::SetLookUpTableID ( const std::string &  viewID)
inlinestatic

Set the ID of a cloud or shape to be used for LUT display.

Parameters
[in]idThe id of the cloud/shape look up table to be displayed The look up table is displayed by pressing 'u' in the PCLVisualizer

Definition at line 1078 of file ecvDisplayTools.h.

◆ setLookUpTableID()

virtual void ecvDisplayTools::setLookUpTableID ( const std::string &  viewID)
inlinevirtual

Definition at line 1081 of file ecvDisplayTools.h.

◆ SetMainScreen()

static void ecvDisplayTools::SetMainScreen ( QWidget *  widget)
inlinestatic

Definition at line 675 of file ecvDisplayTools.h.

◆ SetMainWindow()

static void ecvDisplayTools::SetMainWindow ( QMainWindow *  win)
inlinestatic

Definition at line 680 of file ecvDisplayTools.h.

◆ SetOrthoProjection()

static void ecvDisplayTools::SetOrthoProjection ( int  viewport = 0)
inlinestatic

Definition at line 1052 of file ecvDisplayTools.h.

Referenced by MainWindow::doActionOrthogonalProjection().

◆ setOrthoProjection()

virtual void ecvDisplayTools::setOrthoProjection ( int  viewport = 0)
inlinevirtual

Definition at line 1056 of file ecvDisplayTools.h.

◆ SetParallelScale()

static void ecvDisplayTools::SetParallelScale ( double  scale,
int  viewport = 0 
)
inlinestatic

Definition at line 1587 of file ecvDisplayTools.h.

◆ setParallelScale()

virtual void ecvDisplayTools::setParallelScale ( double  scale,
int  viewport = 0 
)
inlinevirtual

Definition at line 1590 of file ecvDisplayTools.h.

◆ SetPerspectiveProjection()

static void ecvDisplayTools::SetPerspectiveProjection ( int  viewport = 0)
inlinestatic

Definition at line 1058 of file ecvDisplayTools.h.

Referenced by MainWindow::doActionPerspectiveProjection().

◆ setPerspectiveProjection()

virtual void ecvDisplayTools::setPerspectiveProjection ( int  viewport = 0)
inlinevirtual

Definition at line 1062 of file ecvDisplayTools.h.

◆ SetPerspectiveState()

static void ecvDisplayTools::SetPerspectiveState ( bool  state,
bool  objectCenteredView 
)
static

Set perspective state/mode.

Persepctive mode can be:

  • object-centered (moving the mouse make the object rotate)
  • viewer-centered (moving the mouse make the camera move)
    Warning
    Disables bubble-view mode automatically
    Parameters
    statewhether perspective mode is enabled or not
    objectCenteredViewwhether view is object- or viewer-centered (forced to true in ortho. mode)

Referenced by cc2Point5DimEditor::create2DView(), define_ccDisplayTools(), DistanceMapGenerationDlg::DistanceMapGenerationDlg(), ccContourExtractorDlg::init(), ccCompassExport::saveSVG(), MainWindow::setOrthoView(), MainWindow::setPerspectiveView(), and ccFitPlaneTool::toolActivated().

◆ SetPickingMode()

◆ SetPickingRadius()

static void ecvDisplayTools::SetPickingRadius ( int  radius)
inlinestatic

Sets picking radius.

Definition at line 1785 of file ecvDisplayTools.h.

Referenced by define_ccDisplayTools().

◆ SetPivotPoint()

static void ecvDisplayTools::SetPivotPoint ( const CCVector3d P,
bool  autoUpdateCameraPos = false,
bool  verbose = false 
)
static

◆ SetPivotVisibility() [1/2]

static void ecvDisplayTools::SetPivotVisibility ( bool  state)
inlinestatic

Definition at line 1559 of file ecvDisplayTools.h.

◆ setPivotVisibility()

virtual void ecvDisplayTools::setPivotVisibility ( bool  state)
inlinevirtual

Definition at line 1562 of file ecvDisplayTools.h.

◆ SetPivotVisibility() [2/2]

static void ecvDisplayTools::SetPivotVisibility ( PivotVisibility  vis)
static

Sets pivot visibility.

Referenced by define_ccDisplayTools().

◆ SetPixelSize()

static void ecvDisplayTools::SetPixelSize ( float  pixelSize)
static

Sets pixel size (i.e. zoom base)

Emits the 'pixelSizeChanged' signal.

Referenced by ccContourExtractorDlg::zoomOn().

◆ SetPointSize()

static void ecvDisplayTools::SetPointSize ( float  size,
bool  silent = false,
int  viewport = 0 
)
static

◆ SetPointSizeRecursive()

static void ecvDisplayTools::SetPointSizeRecursive ( int  size)
static

◆ SetRectangularPickingAllowed()

static void ecvDisplayTools::SetRectangularPickingAllowed ( bool  state)
static

Sets whether rectangular picking is allowed or not.

Referenced by define_ccDisplayTools().

◆ SetRedrawRecursive() [1/2]

static void ecvDisplayTools::SetRedrawRecursive ( bool  redraw = false)
static

Referenced by MainWindow::addToDB(), ccPointPairRegistrationDlg::align(), ccGraphicalTransformationTool::apply(), ccLibAlgorithms::ApplyScaleMatchingAlgorithm(), ccPointPairRegistrationDlg::cancel(), MainWindow::cancelPreviousPickingOperation(), ccDBRoot::changeSelection(), masc::Classifier::classify(), ccEntityAction::computeOctree(), ccDBRoot::deleteSelectedEntities(), ccGraphicalSegmentationTool::doActionUseExistingPolyline(), qCanupoPlugin::doClassifyAction(), qSRA::doComputeRadialDists(), ccGraphicalSegmentationTool::doSetPolylineSelection(), ccGraphicalSegmentationTool::doSetRectangularSelection(), masc::Classifier::evaluate(), ccPointPropertiesDlg::exportCurrentLabel(), ccPointPairRegistrationDlg::init(), ccMPlaneDlgController::onNormalCheckBoxClicked(), ccGraphicalTransformationTool::pause(), ccGraphicalSegmentationTool::pauseSegmentationMode(), BasePclModule::performAction(), MainWindow::refreshObject(), MainWindow::refreshObjects(), MainWindow::refreshSelected(), ccGraphicalSegmentationTool::reset(), ccPointPairRegistrationDlg::reset(), ccPointPairRegistrationDlg::EntityContext::restore(), ccGraphicalSegmentationTool::segment(), ccEntityAction::setColor(), ccOrderChoiceDlg::setColorsAndLabels(), ccDBRoot::setData(), MainWindow::setGlobalZoom(), qVoxFallDialog::setMesh1Visibility(), qVoxFallDialog::setMesh2Visibility(), ccPointPairRegistrationDlg::showAlignedEntities(), ccPointPairRegistrationDlg::showReferenceEntities(), cloudViewer::ModelViewerWidget::StartRender(), ccGraphicalSegmentationTool::stop(), MainWindow::toggleExclusiveFullScreen(), ccPointPairRegistrationDlg::updateAlignInfo(), ccComparisonDlg::updateDisplay(), StereogramDialog::updateFacetsFilter(), ccRegistrationDlg::updateGUI(), FastGlobalRegistrationDialog::updateGUI(), ccOrderChoiceDlg::~ccOrderChoiceDlg(), ccRegistrationDlg::~ccRegistrationDlg(), and FastGlobalRegistrationDialog::~FastGlobalRegistrationDialog().

◆ SetRedrawRecursive() [2/2]

static void ecvDisplayTools::SetRedrawRecursive ( ccHObject obj,
bool  redraw = false 
)
static

◆ SetRemoveAllFlag()

static void ecvDisplayTools::SetRemoveAllFlag ( bool  state)
inlinestatic

Definition at line 727 of file ecvDisplayTools.h.

Referenced by ccDBRoot::unloadAll().

◆ SetRemoveViewIDs()

static void ecvDisplayTools::SetRemoveViewIDs ( std::vector< removeInfo > &  removeinfos)
static

◆ SetRenderWindowSize()

static void ecvDisplayTools::SetRenderWindowSize ( int  xw,
int  yw 
)
inlinestatic

Definition at line 888 of file ecvDisplayTools.h.

◆ setRenderWindowSize()

virtual void ecvDisplayTools::setRenderWindowSize ( int  xw,
int  yw 
)
inlinevirtual

Definition at line 891 of file ecvDisplayTools.h.

◆ SetScaleBarVisible()

static void ecvDisplayTools::SetScaleBarVisible ( bool  visible)
inlinestatic

Definition at line 1376 of file ecvDisplayTools.h.

◆ setScaleBarVisible()

virtual void ecvDisplayTools::setScaleBarVisible ( bool  visible)
inlinevirtual

Definition at line 1379 of file ecvDisplayTools.h.

◆ SetSceneDB()

static void ecvDisplayTools::SetSceneDB ( ccHObject root)
static

◆ SetScreenSize()

static void ecvDisplayTools::SetScreenSize ( int  xw,
int  yw 
)
inlinestatic

Definition at line 879 of file ecvDisplayTools.h.

◆ SetupProjectiveViewport()

static void ecvDisplayTools::SetupProjectiveViewport ( const ccGLMatrixd cameraMatrix,
float  fov_deg = 0.0f,
float  ar = 1.0f,
bool  viewerBasedPerspective = true,
bool  bubbleViewMode = false 
)
static

Referenced by define_ccDisplayTools().

◆ SetUseVbos()

static void ecvDisplayTools::SetUseVbos ( bool  useVbos)
inlinestatic

Use Vertex Buffer Objects renderers. This is an optimization for the obsolete OpenGL backend. Modern OpenGL2 backend (VTK \A1\DD 6.3) uses vertex buffer objects by default, transparently for the user.

Parameters
[in]use_vbosset to true to use VBOs

Definition at line 1070 of file ecvDisplayTools.h.

◆ setUseVbos()

virtual void ecvDisplayTools::setUseVbos ( bool  useVbos)
inlinevirtual

Definition at line 1073 of file ecvDisplayTools.h.

◆ SetView() [1/2]

static void ecvDisplayTools::SetView ( CC_VIEW_ORIENTATION  orientation,
bool  forceRedraw = false 
)
static

◆ SetView() [2/2]

static void ecvDisplayTools::SetView ( CC_VIEW_ORIENTATION  orientation,
ccBBox bbox 
)
static

◆ SetViewAxesGridProperties()

static void ecvDisplayTools::SetViewAxesGridProperties ( bool  visible,
const CCVector3 color,
double  lineWidth,
double  spacing,
int  subdivisions,
bool  showLabels,
double  opacity,
int  viewport = 0 
)
inlinestatic

Configure view axes grid properties.

Definition at line 568 of file ecvDisplayTools.h.

References color.

◆ setViewAxesGridProperties()

virtual void ecvDisplayTools::setViewAxesGridProperties ( bool  visible,
const CCVector3 color,
double  lineWidth,
double  spacing,
int  subdivisions,
bool  showLabels,
double  opacity,
int  viewport = 0 
)
inlinevirtual

Definition at line 581 of file ecvDisplayTools.h.

◆ SetViewAxesGridVisible()

static void ecvDisplayTools::SetViewAxesGridVisible ( bool  visible,
int  viewport = 0 
)
inlinestatic

Enable/disable view axes grid (aligned with camera/view)

Definition at line 560 of file ecvDisplayTools.h.

◆ setViewAxesGridVisible()

virtual void ecvDisplayTools::setViewAxesGridVisible ( bool  visible,
int  viewport = 0 
)
inlinevirtual

Definition at line 564 of file ecvDisplayTools.h.

◆ SetViewMatrix()

static void ecvDisplayTools::SetViewMatrix ( const ccGLMatrixd viewMat,
int  viewport = 0 
)
inlinestatic

Definition at line 1097 of file ecvDisplayTools.h.

◆ setViewMatrix()

virtual void ecvDisplayTools::setViewMatrix ( const ccGLMatrixd viewMat,
int  viewport = 0 
)
inlinevirtual

Definition at line 1101 of file ecvDisplayTools.h.

◆ SetViewportParameters()

◆ SetZNearCoef()

static void ecvDisplayTools::SetZNearCoef ( double  coef)
static

Sets current camera 'zNear' coefficient.

zNear coef. is only used in perspective mode.

◆ SetZoom()

static void ecvDisplayTools::SetZoom ( float  value)
static

Sets current zoom.

Warning: has no effect in viewer-centered perspective mode

◆ ShowCursorCoordinates()

static void ecvDisplayTools::ShowCursorCoordinates ( bool  state)
inlinestatic

Sets whether to display the coordinates of the point below the cursor position

Definition at line 1653 of file ecvDisplayTools.h.

◆ ShowOrientationMarker()

static void ecvDisplayTools::ShowOrientationMarker ( )
inlinestatic

Definition at line 1046 of file ecvDisplayTools.h.

◆ showOrientationMarker()

virtual void ecvDisplayTools::showOrientationMarker ( )
inlinevirtual

Definition at line 1050 of file ecvDisplayTools.h.

◆ ShowPivotSymbol()

static void ecvDisplayTools::ShowPivotSymbol ( bool  state)
static

Shows or hide the pivot symbol.

Warnings:

  • not to be mistaken with setPivotVisibility
  • only taken into account if pivot visibility is set to PIVOT_SHOW_ON_MOVE

Referenced by define_ccDisplayTools().

◆ size()

static QSize ecvDisplayTools::size ( )
inlinestatic

Definition at line 2035 of file ecvDisplayTools.h.

◆ StartCPUBasedPointPicking()

static void ecvDisplayTools::StartCPUBasedPointPicking ( const PickingParameters params)
static

Starts OpenGL picking process.

◆ StartOpenGLPicking()

static void ecvDisplayTools::StartOpenGLPicking ( const PickingParameters params)
static

Performs the picking with OpenGL.

◆ StartPicking()

static void ecvDisplayTools::StartPicking ( PickingParameters params)
static

Starts picking process.

Parameters
paramspicking parameters

◆ TheInstance()

◆ ToBeRefreshed()

static void ecvDisplayTools::ToBeRefreshed ( )
static

Referenced by define_ccDisplayTools().

◆ ToCenteredGLCoordinates()

static QPointF ecvDisplayTools::ToCenteredGLCoordinates ( int  x,
int  y 
)
static

Referenced by define_ccDisplayTools().

◆ Toggle2Dviewer()

static void ecvDisplayTools::Toggle2Dviewer ( bool  state)
inlinestatic

Definition at line 1191 of file ecvDisplayTools.h.

Referenced by MainWindow::toggle3DView().

◆ toggle2Dviewer()

virtual void ecvDisplayTools::toggle2Dviewer ( bool  state)
inlinevirtual

Definition at line 1194 of file ecvDisplayTools.h.

◆ ToggleCameraOrientationWidget()

static void ecvDisplayTools::ToggleCameraOrientationWidget ( bool  show)
inlinestatic

Toggle Camera Orientation Widget visibility (ParaView-style interactive widget)

Definition at line 620 of file ecvDisplayTools.h.

Referenced by MainWindow::MainWindow().

◆ toggleCameraOrientationWidget()

virtual void ecvDisplayTools::toggleCameraOrientationWidget ( bool  show)
inlinevirtual

Definition at line 624 of file ecvDisplayTools.h.

◆ ToggleDebugTrace()

static void ecvDisplayTools::ToggleDebugTrace ( )
inlinestatic

Toggles debug info on screen.

Definition at line 1693 of file ecvDisplayTools.h.

◆ ToggleExclusiveFullScreen()

static void ecvDisplayTools::ToggleExclusiveFullScreen ( bool  state)
inlinestatic

Toggles (exclusive) full-screen mode.

Definition at line 1408 of file ecvDisplayTools.h.

◆ toggleExclusiveFullScreen()

virtual void ecvDisplayTools::toggleExclusiveFullScreen ( bool  state)
inlinevirtual

Definition at line 1411 of file ecvDisplayTools.h.

◆ ToggleOrientationMarker()

static void ecvDisplayTools::ToggleOrientationMarker ( bool  state = true)
inlinestatic

Definition at line 489 of file ecvDisplayTools.h.

◆ toggleOrientationMarker()

virtual void ecvDisplayTools::toggleOrientationMarker ( bool  state = true)
inlinevirtual

Definition at line 493 of file ecvDisplayTools.h.

◆ ToVtkCoordinates() [1/3]

static void ecvDisplayTools::ToVtkCoordinates ( CCVector2i sP)
static

◆ ToVtkCoordinates() [2/3]

static void ecvDisplayTools::ToVtkCoordinates ( CCVector3d sP)
static

◆ ToVtkCoordinates() [3/3]

◆ TRANSFORM_CAMERA()

◆ TRANSFORM_ENTITIES()

static INTERACTION_FLAGS ecvDisplayTools::TRANSFORM_ENTITIES ( )
static

◆ TransformCameraProjection()

static void ecvDisplayTools::TransformCameraProjection ( const ccGLMatrixd projMat)
inlinestatic

Definition at line 736 of file ecvDisplayTools.h.

◆ transformCameraProjection()

virtual void ecvDisplayTools::transformCameraProjection ( const ccGLMatrixd projMat)
inlinevirtual

Definition at line 739 of file ecvDisplayTools.h.

◆ TransformCameraView()

static void ecvDisplayTools::TransformCameraView ( const ccGLMatrixd viewMat)
inlinestatic

Definition at line 731 of file ecvDisplayTools.h.

◆ transformCameraView()

virtual void ecvDisplayTools::transformCameraView ( const ccGLMatrixd viewMat)
inlinevirtual

Definition at line 734 of file ecvDisplayTools.h.

◆ translation

void ecvDisplayTools::translation ( const CCVector3d t)
signal

Signal emitted when the selected object is translated by the user.

◆ Update()

static void ecvDisplayTools::Update ( )
inlinestatic

◆ Update2DLabel()

static void ecvDisplayTools::Update2DLabel ( bool  immediateUpdate = false)
static

◆ UpdateActiveItemsList()

static void ecvDisplayTools::UpdateActiveItemsList ( int  x,
int  y,
bool  extendToSelectedLabels = false 
)
static

Updates currently active items list (m_activeItems)

The items must be currently displayed in this context AND at least one of them must be under the mouse cursor.

◆ UpdateCamera()

static void ecvDisplayTools::UpdateCamera ( )
inlinestatic

Definition at line 1256 of file ecvDisplayTools.h.

◆ updateCamera()

virtual void ecvDisplayTools::updateCamera ( )
inlinevirtual

Definition at line 1260 of file ecvDisplayTools.h.

◆ UpdateConstellationCenterAndZoom()

static void ecvDisplayTools::UpdateConstellationCenterAndZoom ( const ccBBox aBox = nullptr,
bool  redraw = true 
)
static

Center and zoom on a given bounding box.

If no bounding box is defined, the current displayed 'scene graph' bounding box is taken.

Referenced by define_ccDisplayTools(), cloudViewer::ModelViewerWidget::EndRender(), qCanupo2DViewDialog::updateZoom(), ccPointPairRegistrationDlg::zoomGlobalOnRegistrationEntities(), MainWindow::zoomOnEntities(), and MainWindow::zoomOnSelectedEntities().

◆ UpdateDisplayParameters()

static void ecvDisplayTools::UpdateDisplayParameters ( )
static

◆ UpdateMeshTextures()

static void ecvDisplayTools::UpdateMeshTextures ( const CC_DRAW_CONTEXT context,
const ccGenericMesh mesh 
)
inlinestatic

Definition at line 422 of file ecvDisplayTools.h.

References context.

◆ updateMeshTextures()

virtual void ecvDisplayTools::updateMeshTextures ( const CC_DRAW_CONTEXT context,
const ccGenericMesh mesh 
)
inlinevirtual

Definition at line 426 of file ecvDisplayTools.h.

◆ UpdateModelViewMatrix()

static void ecvDisplayTools::UpdateModelViewMatrix ( )
static

◆ UpdateNamePoseRecursive()

static void ecvDisplayTools::UpdateNamePoseRecursive ( )
static

◆ UpdateProjectionMatrix()

static void ecvDisplayTools::UpdateProjectionMatrix ( )
static

◆ UpdateScene()

static void ecvDisplayTools::UpdateScene ( )
inlinestatic

Definition at line 1262 of file ecvDisplayTools.h.

◆ updateScene()

virtual void ecvDisplayTools::updateScene ( )
inlinevirtual

Definition at line 1263 of file ecvDisplayTools.h.

◆ UpdateScreen()

◆ UpdateScreenSize()

static void ecvDisplayTools::UpdateScreenSize ( )
static

◆ UpdateZoom()

static void ecvDisplayTools::UpdateZoom ( float  zoomFactor)
static

Updates current zoom.

Warning: has no effect in viewer-centered perspective mode

◆ ViewerPerspectiveEnabled()

static bool ecvDisplayTools::ViewerPerspectiveEnabled ( )
static

Shortcut: returns whether viewer-based perspective mode is enabled.

Referenced by define_ccDisplayTools().

◆ viewMatRotated

void ecvDisplayTools::viewMatRotated ( const ccGLMatrixd rotMat)
signal

Signal emitted when the window 'model view' matrix is interactively changed

◆ Width()

static int ecvDisplayTools::Width ( )
inlinestatic

Definition at line 2033 of file ecvDisplayTools.h.

References size.

Referenced by cc2Point5DimEditor::update2DDisplayZoom().

◆ zNearCoefChanged

void ecvDisplayTools::zNearCoefChanged ( float  coef)
signal

Signal emitted when the zNear coef changes.

◆ ZoomCamera()

static void ecvDisplayTools::ZoomCamera ( double  zoomFactor,
int  viewport = 0 
)
static

◆ zoomCamera()

virtual void ecvDisplayTools::zoomCamera ( double  zoomFactor,
int  viewport = 0 
)
inlinevirtual

Definition at line 899 of file ecvDisplayTools.h.

◆ ZoomGlobal()

Member Data Documentation

◆ DefaultPickRadius

const int ecvDisplayTools::DefaultPickRadius = 5
static

Default picking radius value.

Definition at line 1782 of file ecvDisplayTools.h.

◆ m_activeItems

std::list<ccInteractor*> ecvDisplayTools::m_activeItems

Currently active items.

Active items can be moved with mouse, etc.

Definition at line 1804 of file ecvDisplayTools.h.

◆ m_allowRectangularEntityPicking

bool ecvDisplayTools::m_allowRectangularEntityPicking

Whether rectangular picking is allowed or not.

Definition at line 1928 of file ecvDisplayTools.h.

◆ m_alwaysUseFBO

bool ecvDisplayTools::m_alwaysUseFBO

Whether to always use FBO or only for GL filters.

Definition at line 1946 of file ecvDisplayTools.h.

◆ m_autoPickPivotAtCenter

bool ecvDisplayTools::m_autoPickPivotAtCenter

Whether the pivot point is automatically picked at the center of the screen (when possible)

Definition at line 1883 of file ecvDisplayTools.h.

◆ m_autoPivotCandidate

CCVector3d ecvDisplayTools::m_autoPivotCandidate

Candidate pivot point (will be used when the mouse is released)

Definition at line 1889 of file ecvDisplayTools.h.

◆ m_autoRefresh

bool ecvDisplayTools::m_autoRefresh

Auto-refresh mode.

Definition at line 1901 of file ecvDisplayTools.h.

◆ m_bbHalfDiag

double ecvDisplayTools::m_bbHalfDiag

Half size of the displayed objects bounding-box.

Definition at line 1919 of file ecvDisplayTools.h.

◆ m_bubbleViewFov_deg

float ecvDisplayTools::m_bubbleViewFov_deg

Bubble-view mode f.o.v. (degrees)

Definition at line 1972 of file ecvDisplayTools.h.

◆ m_bubbleViewModeEnabled

bool ecvDisplayTools::m_bubbleViewModeEnabled

Bubble-view mode state.

Definition at line 1969 of file ecvDisplayTools.h.

◆ m_cameraToBBCenterDist

double ecvDisplayTools::m_cameraToBBCenterDist

Distance between the camera and the displayed objects bounding-box.

Definition at line 1917 of file ecvDisplayTools.h.

◆ m_captureMode

CaptureModeOptions ecvDisplayTools::m_captureMode

Display capturing mode options.

Definition at line 1995 of file ecvDisplayTools.h.

◆ m_clickableItems

std::vector<ClickableItem> ecvDisplayTools::m_clickableItems

Currently displayed clickable items.

Definition at line 1840 of file ecvDisplayTools.h.

◆ m_clickableItemsVisible

bool ecvDisplayTools::m_clickableItemsVisible

Whether clickable items are visible (= mouse over) or not.

Definition at line 1843 of file ecvDisplayTools.h.

◆ m_currentScreen

QWidget* ecvDisplayTools::m_currentScreen
protected

Definition at line 1812 of file ecvDisplayTools.h.

◆ m_customLightEnabled

bool ecvDisplayTools::m_customLightEnabled

Whether custom light is enabled or not.

Definition at line 1966 of file ecvDisplayTools.h.

◆ m_customLightPos

float ecvDisplayTools::m_customLightPos[4]

Custom light position.

Relative to object.

Definition at line 1963 of file ecvDisplayTools.h.

◆ m_deferredPickingTimer

QTimer ecvDisplayTools::m_deferredPickingTimer

Deferred picking.

Definition at line 1998 of file ecvDisplayTools.h.

◆ m_diagStrings

QStringList ecvDisplayTools::m_diagStrings

Definition at line 2019 of file ecvDisplayTools.h.

◆ m_displayOverlayEntities

bool ecvDisplayTools::m_displayOverlayEntities

Whether to display overlay entities or not (scale, tetrahedron, etc.)

Definition at line 1869 of file ecvDisplayTools.h.

◆ m_exclusiveFullscreen

bool ecvDisplayTools::m_exclusiveFullscreen

Wether exclusive full screen is enabled or not.

Definition at line 1875 of file ecvDisplayTools.h.

◆ m_font

QFont ecvDisplayTools::m_font

Default font.

Definition at line 1981 of file ecvDisplayTools.h.

◆ m_globalDBRoot

ccHObject* ecvDisplayTools::m_globalDBRoot

CV main DB.

Definition at line 1939 of file ecvDisplayTools.h.

◆ m_glViewport

QRect ecvDisplayTools::m_glViewport

viewport

Definition at line 1892 of file ecvDisplayTools.h.

◆ m_hotZone

HotZone* ecvDisplayTools::m_hotZone

Hot zone.

Definition at line 2012 of file ecvDisplayTools.h.

◆ m_ignoreMouseReleaseEvent

bool ecvDisplayTools::m_ignoreMouseReleaseEvent

Ignore next mouse release event.

Definition at line 2027 of file ecvDisplayTools.h.

◆ m_interactionFlags

INTERACTION_FLAGS ecvDisplayTools::m_interactionFlags

Current intercation flags.

Definition at line 1846 of file ecvDisplayTools.h.

◆ m_last_picked_id

QString ecvDisplayTools::m_last_picked_id = QString()

Definition at line 2006 of file ecvDisplayTools.h.

◆ m_last_picked_point

CCVector3 ecvDisplayTools::m_last_picked_point

Definition at line 2004 of file ecvDisplayTools.h.

◆ m_last_point_index

int ecvDisplayTools::m_last_point_index = -1

Definition at line 2005 of file ecvDisplayTools.h.

◆ m_lastClickTime_ticks

qint64 ecvDisplayTools::m_lastClickTime_ticks

Last click time (msec)

Definition at line 2009 of file ecvDisplayTools.h.

◆ m_lastMouseMovePos

QPoint ecvDisplayTools::m_lastMouseMovePos

Definition at line 2017 of file ecvDisplayTools.h.

◆ m_lastMousePos

QPoint ecvDisplayTools::m_lastMousePos

Last mouse position.

Definition at line 2015 of file ecvDisplayTools.h.

◆ m_lockedRotationAxis

CCVector3d ecvDisplayTools::m_lockedRotationAxis

Locked rotation axis.

Definition at line 1906 of file ecvDisplayTools.h.

◆ m_mainScreen

QWidget* ecvDisplayTools::m_mainScreen
protected

Definition at line 1813 of file ecvDisplayTools.h.

◆ m_messagesToDisplay

std::list<MessageToDisplay> ecvDisplayTools::m_messagesToDisplay

List of messages to display.

Definition at line 219 of file ecvDisplayTools.h.

◆ m_mouseButtonPressed

bool ecvDisplayTools::m_mouseButtonPressed

Whether the mouse is currently pressed or not.

Definition at line 2024 of file ecvDisplayTools.h.

◆ m_mouseMoved

bool ecvDisplayTools::m_mouseMoved

Whether the mouse (cursor) has moved after being pressed or not.

Definition at line 2022 of file ecvDisplayTools.h.

◆ m_overridenDisplayParameters

ecvGui::ParamStruct ecvDisplayTools::m_overridenDisplayParameters

Overridden display parameter.

Definition at line 1866 of file ecvDisplayTools.h.

◆ m_overridenDisplayParametersEnabled

bool ecvDisplayTools::m_overridenDisplayParametersEnabled

Whether display parameters are overidden for this window.

Definition at line 1872 of file ecvDisplayTools.h.

◆ m_pickingMode

PICKING_MODE ecvDisplayTools::m_pickingMode

Definition at line 1848 of file ecvDisplayTools.h.

◆ m_pickingModeLocked

bool ecvDisplayTools::m_pickingModeLocked

Whether picking mode is locked or not.

Definition at line 1850 of file ecvDisplayTools.h.

◆ m_pickRadius

int ecvDisplayTools::m_pickRadius

Picking radius (pixels)

Definition at line 1898 of file ecvDisplayTools.h.

◆ m_pivotSymbolShown

bool ecvDisplayTools::m_pivotSymbolShown

Whether pivot symbol should be shown or not.

Definition at line 1925 of file ecvDisplayTools.h.

◆ m_pivotVisibility

PivotVisibility ecvDisplayTools::m_pivotVisibility

Pivot symbol visibility.

Definition at line 1922 of file ecvDisplayTools.h.

◆ m_preBubbleViewParameters

ecvViewportParameters ecvDisplayTools::m_preBubbleViewParameters

Pre-bubble-view camera parameters (backup)

Definition at line 1975 of file ecvDisplayTools.h.

◆ m_projMatd

ccGLMatrixd ecvDisplayTools::m_projMatd

Projection matrix (GL style - double version)

Definition at line 1913 of file ecvDisplayTools.h.

◆ m_rectPickingPoly

ccPolyline* ecvDisplayTools::m_rectPickingPoly

Rectangular picking polyline.

Definition at line 1931 of file ecvDisplayTools.h.

◆ m_removeAllFlag

bool ecvDisplayTools::m_removeAllFlag

Definition at line 1942 of file ecvDisplayTools.h.

◆ m_removeFlag

bool ecvDisplayTools::m_removeFlag

Definition at line 1941 of file ecvDisplayTools.h.

◆ m_removeInfos

std::vector<removeInfo> ecvDisplayTools::m_removeInfos

Definition at line 1943 of file ecvDisplayTools.h.

◆ m_rotationAxisLocked

bool ecvDisplayTools::m_rotationAxisLocked

Wheter the rotation axis is locked or not.

Definition at line 1904 of file ecvDisplayTools.h.

◆ m_scale_lineset

cloudViewer::geometry::LineSet* ecvDisplayTools::m_scale_lineset

Definition at line 1933 of file ecvDisplayTools.h.

◆ m_scheduledFullRedrawTime

qint64 ecvDisplayTools::m_scheduledFullRedrawTime

Scheduled full redraw (no LOD)

Definition at line 1863 of file ecvDisplayTools.h.

◆ m_scheduleTimer

QTimer ecvDisplayTools::m_scheduleTimer

Scheduler timer.

Definition at line 1861 of file ecvDisplayTools.h.

◆ m_shouldBeRefreshed

bool ecvDisplayTools::m_shouldBeRefreshed

Whether the display should be refreshed on next call to 'refresh'.

Definition at line 1886 of file ecvDisplayTools.h.

◆ m_showCursorCoordinates

bool ecvDisplayTools::m_showCursorCoordinates

Whether to display the coordinates of the point below the cursor position

Definition at line 1879 of file ecvDisplayTools.h.

◆ m_showDebugTraces

bool ecvDisplayTools::m_showDebugTraces

Debug traces visibility.

Definition at line 1895 of file ecvDisplayTools.h.

◆ m_sunLightEnabled

bool ecvDisplayTools::m_sunLightEnabled

Whether sun light is enabled or not.

Definition at line 1958 of file ecvDisplayTools.h.

◆ m_sunLightPos

float ecvDisplayTools::m_sunLightPos[4]

Sun light position.

Relative to screen.

Definition at line 1955 of file ecvDisplayTools.h.

◆ m_timer

QElapsedTimer ecvDisplayTools::m_timer

Internal timer.

Definition at line 1853 of file ecvDisplayTools.h.

◆ m_touchBaseDist

qreal ecvDisplayTools::m_touchBaseDist

Touch gesture initial distance.

Definition at line 1858 of file ecvDisplayTools.h.

◆ m_touchInProgress

bool ecvDisplayTools::m_touchInProgress

Touch event in progress.

Definition at line 1856 of file ecvDisplayTools.h.

◆ m_uniqueID

int ecvDisplayTools::m_uniqueID

Unique ID.

Definition at line 1978 of file ecvDisplayTools.h.

◆ m_updateFBO

bool ecvDisplayTools::m_updateFBO

Whether FBO should be updated (or simply displayed as a texture = faster!)

Definition at line 1950 of file ecvDisplayTools.h.

◆ m_validModelviewMatrix

bool ecvDisplayTools::m_validModelviewMatrix

Whether the model veiw matrix is valid (or need to be recomputed)

Definition at line 1911 of file ecvDisplayTools.h.

◆ m_validProjectionMatrix

bool ecvDisplayTools::m_validProjectionMatrix

Whether the projection matrix is valid (or need to be recomputed)

Definition at line 1915 of file ecvDisplayTools.h.

◆ m_viewMatd

ccGLMatrixd ecvDisplayTools::m_viewMatd

Complete visualization matrix (GL style - double version)

Definition at line 1909 of file ecvDisplayTools.h.

◆ m_viewportParams

ecvViewportParameters ecvDisplayTools::m_viewportParams

Viewport parameters (zoom, etc.)

Definition at line 1818 of file ecvDisplayTools.h.

◆ m_widgetClicked

bool ecvDisplayTools::m_widgetClicked

Flag to indicate that a VTK widget was clicked (to prevent deferred picking)

Definition at line 2031 of file ecvDisplayTools.h.

◆ m_win

QMainWindow* ecvDisplayTools::m_win
protected

Definition at line 1814 of file ecvDisplayTools.h.

◆ m_winDBRoot

ccHObject* ecvDisplayTools::m_winDBRoot

Window own DB.

Definition at line 1936 of file ecvDisplayTools.h.

◆ USE_2D

bool ecvDisplayTools::USE_2D
static

Definition at line 2001 of file ecvDisplayTools.h.

Referenced by ccPointPropertiesDlg::exportCurrentLabel().

◆ USE_VTK_PICK

bool ecvDisplayTools::USE_VTK_PICK
static

Definition at line 2002 of file ecvDisplayTools.h.


The documentation for this class was generated from the following file: