ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvDisplayTools.cpp File Reference
#include <CVTools.h>
#include "LineSet.h"
#include "ecv2DLabel.h"
#include "ecv2DViewportLabel.h"
#include "ecvBBox.h"
#include "ecvCameraSensor.h"
#include "ecvClipBox.h"
#include "ecvDisplayTools.h"
#include "ecvGenericVisualizer.h"
#include "ecvGenericVisualizer2D.h"
#include "ecvGenericVisualizer3D.h"
#include "ecvHObjectCaster.h"
#include "ecvInteractor.h"
#include "ecvPointCloud.h"
#include "ecvPolyline.h"
#include "ecvRenderingTools.h"
#include "ecvSingleton.h"
#include "ecvSphere.h"
#include "ecvSubMesh.h"
#include <QApplication>
#include <QLayout>
#include <QMainWindow>
#include <QMessageBox>
#include <QPushButton>
#include <QScreen>
#include <QSettings>
#include <QString>
#include <assert.h>
Include dependency graph for ecvDisplayTools.cpp:

Go to the source code of this file.

Functions

float RoundScale (float equivalentWidth)
 

Variables

static ecvSingleton< ecvDisplayToolss_tools
 
static const QString DEBUG_LAYER_ID = "DEBUG_LAYER"
 
static const char c_ps_groupName [] = "ECVWindow"
 
static const char c_ps_perspectiveView [] = "perspectiveView"
 
static const char c_ps_objectMode [] = "objectCenteredView"
 
static const char c_ps_sunLight [] = "sunLightEnabled"
 
static const char c_ps_customLight [] = "customLightEnabled"
 
static const char c_ps_pivotVisibility [] = "pivotVisibility"
 
static const char c_ps_stereoGlassType [] = "stereoGlassType"
 
static const double CC_DISPLAYED_PIVOT_RADIUS_PERCENT
 
static const double CC_DISPLAYED_CUSTOM_LIGHT_LENGTH = 10.0
 
static const float CC_DISPLAYED_TRIHEDRON_AXES_LENGTH = 25.0f
 
static const float CC_TRIHEDRON_TEXT_MARGIN = 5.0f
 
static const float CC_DISPLAYED_CENTER_CROSS_LENGTH = 10.0f
 
static const int CC_MAX_PICKING_CLICK_DURATION_MS = 200
 
static int s_GlWindowNumber = 0
 

Function Documentation

◆ RoundScale()

float RoundScale ( float  equivalentWidth)
inline

Definition at line 1575 of file ecvDisplayTools.cpp.

References cloudViewer::utility::floor().

Variable Documentation

◆ c_ps_customLight

const char c_ps_customLight[] = "customLightEnabled"
static

Definition at line 84 of file ecvDisplayTools.cpp.

◆ c_ps_groupName

const char c_ps_groupName[] = "ECVWindow"
static

◆ c_ps_objectMode

const char c_ps_objectMode[] = "objectCenteredView"
static

Definition at line 82 of file ecvDisplayTools.cpp.

Referenced by ecvDisplayTools::SetPerspectiveState().

◆ c_ps_perspectiveView

const char c_ps_perspectiveView[] = "perspectiveView"
static

◆ c_ps_pivotVisibility

const char c_ps_pivotVisibility[] = "pivotVisibility"
static

◆ c_ps_stereoGlassType

const char c_ps_stereoGlassType[] = "stereoGlassType"
static

Definition at line 86 of file ecvDisplayTools.cpp.

◆ c_ps_sunLight

const char c_ps_sunLight[] = "sunLightEnabled"
static

Definition at line 83 of file ecvDisplayTools.cpp.

◆ CC_DISPLAYED_CENTER_CROSS_LENGTH

const float CC_DISPLAYED_CENTER_CROSS_LENGTH = 10.0f
static

Definition at line 94 of file ecvDisplayTools.cpp.

◆ CC_DISPLAYED_CUSTOM_LIGHT_LENGTH

const double CC_DISPLAYED_CUSTOM_LIGHT_LENGTH = 10.0
static

Definition at line 91 of file ecvDisplayTools.cpp.

◆ CC_DISPLAYED_PIVOT_RADIUS_PERCENT

const double CC_DISPLAYED_PIVOT_RADIUS_PERCENT
static
Initial value:
=
0.8

Definition at line 89 of file ecvDisplayTools.cpp.

Referenced by ecvDisplayTools::ComputeProjectionMatrix(), and ecvDisplayTools::DrawPivot().

◆ CC_DISPLAYED_TRIHEDRON_AXES_LENGTH

const float CC_DISPLAYED_TRIHEDRON_AXES_LENGTH = 25.0f
static

Definition at line 92 of file ecvDisplayTools.cpp.

◆ CC_MAX_PICKING_CLICK_DURATION_MS

const int CC_MAX_PICKING_CLICK_DURATION_MS = 200
static

Definition at line 97 of file ecvDisplayTools.cpp.

◆ CC_TRIHEDRON_TEXT_MARGIN

const float CC_TRIHEDRON_TEXT_MARGIN = 5.0f
static

Definition at line 93 of file ecvDisplayTools.cpp.

◆ DEBUG_LAYER_ID

const QString DEBUG_LAYER_ID = "DEBUG_LAYER"
static

Definition at line 58 of file ecvDisplayTools.cpp.

Referenced by ecvDisplayTools::RedrawDisplay().

◆ s_GlWindowNumber

int s_GlWindowNumber = 0
static

Definition at line 100 of file ecvDisplayTools.cpp.

Referenced by ecvDisplayTools::Init().

◆ s_tools

ecvSingleton<ecvDisplayTools> s_tools
static

Definition at line 53 of file ecvDisplayTools.cpp.

Referenced by ecvDisplayTools::AddToOwnDB(), ecvDisplayTools::ChangeEntityProperties(), ecvDisplayTools::CheckIfRemove(), ecvDisplayTools::ClearBubbleView(), ecvDisplayTools::ComputeActualPixelSize(), ecvDisplayTools::ComputeModelViewMatrix(), ecvDisplayTools::ComputePerspectiveZoom(), ecvDisplayTools::ComputeProjectionMatrix(), ecvDisplayTools::ConvertMousePositionToOrientation(), ecvDisplayTools::DisplayNewMessage(), ecvDisplayTools::DisplayOverlayEntities(), ecvDisplayTools::DisplayText(), ecvDisplayTools::doPicking(), ecvDisplayTools::DrawBackground(), ecvDisplayTools::DrawClickableItems(), ecvDisplayTools::DrawForeground(), ecvDisplayTools::DrawPivot(), ecvDisplayTools::DrawWidgets(), ecvDisplayTools::FilterByEntityType(), ecvDisplayTools::GetClick3DPos(), ecvDisplayTools::GetContext(), ecvDisplayTools::GetCurrentUpDir(), ecvDisplayTools::GetCurrentViewDir(), ecvDisplayTools::GetDisplayParameters(), ecvDisplayTools::GetFontPointSize(), ecvDisplayTools::GetFov(), ecvDisplayTools::GetGLCameraParameters(), ecvDisplayTools::GetInteractionMode(), ecvDisplayTools::GetLabelDisplayFont(), ecvDisplayTools::GetLabelFontPointSize(), ecvDisplayTools::GetModelViewMatrix(), ecvDisplayTools::GetPickedEntity(), ecvDisplayTools::GetPickingMode(), ecvDisplayTools::GetProjectionMatrix(), ecvDisplayTools::GetRealCameraCenter(), ecvDisplayTools::GetViewportParameters(), ecvDisplayTools::GetVisibleObjectsBB(), ecvDisplayTools::Init(), ecvDisplayTools::IsPickingModeLocked(), ecvDisplayTools::IsRectangularPickingAllowed(), ecvDisplayTools::LockPickingMode(), ecvDisplayTools::LockRotationAxis(), ecvDisplayTools::MoveCamera(), ecvDisplayTools::ObjectPerspectiveEnabled(), ecvDisplayTools::Pick2DLabel(), ecvDisplayTools::ProcessClickableItems(), ecvDisplayTools::ProcessPickingResult(), ecvDisplayTools::RedrawDisplay(), ecvDisplayTools::RefreshDisplay(), ecvDisplayTools::ReleaseInstance(), ecvDisplayTools::RemoveFromOwnDB(), ecvDisplayTools::RenderText(), ecvDisplayTools::ResizeGL(), ecvDisplayTools::RotateBaseViewMat(), ecvDisplayTools::SetAspectRatio(), ecvDisplayTools::SetAutoPickPivotAtCenter(), ecvDisplayTools::SetBaseViewMat(), ecvDisplayTools::SetBubbleViewFov(), ecvDisplayTools::SetBubbleViewMode(), ecvDisplayTools::SetCameraPos(), ecvDisplayTools::SetCurrentScreen(), ecvDisplayTools::SetDisplayParameters(), ecvDisplayTools::SetFov(), ecvDisplayTools::SetGLViewport(), ecvDisplayTools::SetInteractionMode(), ecvDisplayTools::SetLineWidth(), ecvDisplayTools::SetLineWithRecursive(), ecvDisplayTools::SetPerspectiveState(), ecvDisplayTools::SetPickingMode(), ecvDisplayTools::SetPivotPoint(), ecvDisplayTools::SetPivotVisibility(), ecvDisplayTools::SetPixelSize(), ecvDisplayTools::SetPointSize(), ecvDisplayTools::SetPointSizeRecursive(), ecvDisplayTools::SetRectangularPickingAllowed(), ecvDisplayTools::SetRemoveViewIDs(), ecvDisplayTools::SetSceneDB(), ecvDisplayTools::SetupProjectiveViewport(), ecvDisplayTools::SetView(), ecvDisplayTools::SetViewportParameters(), ecvDisplayTools::SetZNearCoef(), ecvDisplayTools::SetZoom(), ecvDisplayTools::ShowPivotSymbol(), ecvDisplayTools::StartCPUBasedPointPicking(), ecvDisplayTools::StartOpenGLPicking(), ecvDisplayTools::StartPicking(), ecvDisplayTools::TheInstance(), ecvDisplayTools::ToBeRefreshed(), ecvDisplayTools::Update2DLabel(), ecvDisplayTools::UpdateActiveItemsList(), ecvDisplayTools::UpdateConstellationCenterAndZoom(), ecvDisplayTools::UpdateDisplayParameters(), ecvDisplayTools::UpdateModelViewMatrix(), ecvDisplayTools::UpdateProjectionMatrix(), ecvDisplayTools::UpdateZoom(), and ecvDisplayTools::ViewerPerspectiveEnabled().