ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ecvGenericDisplayTools Class Reference

Generic display tools. More...

#include <ecvGenericDisplayTools.h>

Inheritance diagram for ecvGenericDisplayTools:
Collaboration diagram for ecvGenericDisplayTools:

Public Types

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 Member Functions

virtual ~ecvGenericDisplayTools ()
 Default destructor. More...
 
virtual bool getPerspectiveState (int viewport=0) const
 
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 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])
 

Protected Member Functions

 ecvGenericDisplayTools ()
 Default constructor. More...
 

Detailed Description

Generic display tools.

Definition at line 24 of file ecvGenericDisplayTools.h.

Member Enumeration Documentation

◆ TextAlign

Text alignment.

Enumerator
ALIGN_HLEFT 
ALIGN_HMIDDLE 
ALIGN_HRIGHT 
ALIGN_VTOP 
ALIGN_VMIDDLE 
ALIGN_VBOTTOM 
ALIGN_DEFAULT 

Definition at line 78 of file ecvGenericDisplayTools.h.

Constructor & Destructor Documentation

◆ ~ecvGenericDisplayTools()

virtual ecvGenericDisplayTools::~ecvGenericDisplayTools ( )
inlinevirtual

Default destructor.

Definition at line 27 of file ecvGenericDisplayTools.h.

◆ ecvGenericDisplayTools()

ecvGenericDisplayTools::ecvGenericDisplayTools ( )
protected

Default constructor.

Member Function Documentation

◆ FontSizeModifier()

static int ecvGenericDisplayTools::FontSizeModifier ( int  fontSize,
float  zoomFactor 
)
inlinestatic

Definition at line 33 of file ecvGenericDisplayTools.h.

References cloudViewer::utility::floor().

◆ Frustum()

static ccGLMatrixd ecvGenericDisplayTools::Frustum ( double  left,
double  right,
double  bottom,
double  top,
double  znear,
double  zfar 
)
inlinestatic

Definition at line 89 of file ecvGenericDisplayTools.h.

References ccGLMatrixTpl< T >::data().

◆ GetInstance()

static ecvGenericDisplayTools* ecvGenericDisplayTools::GetInstance ( )
static

◆ GetPerspectiveState()

static bool ecvGenericDisplayTools::GetPerspectiveState ( )
inlinestatic

◆ getPerspectiveState()

virtual bool ecvGenericDisplayTools::getPerspectiveState ( int  viewport = 0) const
inlinevirtual

Reimplemented in ecvDisplayTools.

Definition at line 46 of file ecvGenericDisplayTools.h.

◆ InvertMatrix()

template<typename Type >
static bool ecvGenericDisplayTools::InvertMatrix ( const Type *  m,
Type *  out 
)
inlinestatic

Definition at line 326 of file ecvGenericDisplayTools.h.

◆ MAT() [1/4]

static double ecvGenericDisplayTools::MAT ( const double *  m,
int  r,
int  c 
)
inlinestatic

Definition at line 315 of file ecvGenericDisplayTools.h.

◆ MAT() [2/4]

static float ecvGenericDisplayTools::MAT ( const float *  m,
int  r,
int  c 
)
inlinestatic

Definition at line 318 of file ecvGenericDisplayTools.h.

◆ MAT() [3/4]

static double& ecvGenericDisplayTools::MAT ( double *  m,
int  r,
int  c 
)
inlinestatic

Definition at line 322 of file ecvGenericDisplayTools.h.

◆ MAT() [4/4]

static float& ecvGenericDisplayTools::MAT ( float *  m,
int  r,
int  c 
)
inlinestatic

Definition at line 323 of file ecvGenericDisplayTools.h.

◆ Ortho() [1/2]

static ccGLMatrixd ecvGenericDisplayTools::Ortho ( double  left,
double  right,
double  bottom,
double  top,
double  nearVal,
double  farVal 
)
inlinestatic

◆ Ortho() [2/2]

static ccGLMatrixd ecvGenericDisplayTools::Ortho ( double  w,
double  h,
double  d 
)
inlinestatic

◆ Perspective()

static ccGLMatrixd ecvGenericDisplayTools::Perspective ( double  fovyInDegrees,
double  aspectRatio,
double  znear,
double  zfar 
)
inlinestatic

◆ PickMatrix()

static void ecvGenericDisplayTools::PickMatrix ( double  x,
double  y,
double  width,
double  height,
int  viewport[4],
double  m[16] 
)
inlinestatic

Definition at line 519 of file ecvGenericDisplayTools.h.

References height, and width.

◆ Project()

template<typename iType , typename oType >
static bool ecvGenericDisplayTools::Project ( const Vector3Tpl< iType > &  input3D,
const oType *  modelview,
const oType *  projection,
const int *  viewport,
Vector3Tpl< oType > &  output2D,
bool *  inFrustum = nullptr 
)
inlinestatic

◆ SetInstance()

static void ecvGenericDisplayTools::SetInstance ( ecvGenericDisplayTools tool)
static

◆ toDisplayPoint() [1/2]

virtual void ecvGenericDisplayTools::toDisplayPoint ( const CCVector3 input3D,
CCVector3d output2D 
)
inlinevirtual

Definition at line 73 of file ecvGenericDisplayTools.h.

◆ toDisplayPoint() [2/2]

virtual void ecvGenericDisplayTools::toDisplayPoint ( const CCVector3d input3D,
CCVector3d output2D 
)
inlinevirtual

Definition at line 68 of file ecvGenericDisplayTools.h.

◆ ToDisplayPoint()

template<typename iType , typename oType >
static void ecvGenericDisplayTools::ToDisplayPoint ( const Vector3Tpl< iType > &  input3D,
Vector3Tpl< oType > &  output2D 
)
inlinestatic

Definition at line 64 of file ecvGenericDisplayTools.h.

References Runtime::GetInstance().

◆ toWorldPoint() [1/2]

virtual void ecvGenericDisplayTools::toWorldPoint ( const CCVector3 input2D,
CCVector3d output3D 
)
inlinevirtual

Definition at line 60 of file ecvGenericDisplayTools.h.

◆ toWorldPoint() [2/2]

virtual void ecvGenericDisplayTools::toWorldPoint ( const CCVector3d input2D,
CCVector3d output3D 
)
inlinevirtual

Definition at line 56 of file ecvGenericDisplayTools.h.

◆ ToWorldPoint()

template<typename iType , typename oType >
static void ecvGenericDisplayTools::ToWorldPoint ( const Vector3Tpl< iType > &  input2D,
Vector3Tpl< oType > &  output3D 
)
inlinestatic

Definition at line 51 of file ecvGenericDisplayTools.h.

References Runtime::GetInstance().

◆ Unproject()

template<typename iType , typename oType >
static bool ecvGenericDisplayTools::Unproject ( const Vector3Tpl< iType > &  input2D,
const oType *  modelview,
const oType *  projection,
const int *  viewport,
Vector3Tpl< oType > &  output3D 
)
inlinestatic

Definition at line 474 of file ecvGenericDisplayTools.h.

References ccGLMatrixTpl< T >::data(), and Runtime::GetInstance().


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