cisst-saw
Loading...
Searching...
No Matches
vctPose3DQtWidget.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5 Author(s): Anton Deguet
6 Created on: 2020-09-04
7
8 (C) Copyright 2020 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19#ifndef _vctPose3DQtWidget_h
20#define _vctPose3DQtWidget_h
21
22#include <QGridLayout>
23
24// cisst include
30
31// Always include last
33
35class QTableWidget;
36
40class CISST_EXPORT vctPose3DQtWidget: public QWidget
41{
42 Q_OBJECT;
43
44public:
45 vctPose3DQtWidget(QWidget * parent = 0);
46 inline ~vctPose3DQtWidget(void) {};
47
48 void SetPrismaticRevoluteFactors(const double & prismatic, const double & revolute);
49
51 void SetValue(const vct3 & value);
52
54 inline void SetValue(const vctFrm3 & value) {
55 SetValue(value.Translation());
56 }
57
58 void Clear(void);
59
60 typedef std::list<vct3> PosesType;
61 typedef std::list<vctPose3DQtWidgetView *> ViewsType;
62protected:
63 QGridLayout * mLayout;
64 void keyPressEvent(QKeyEvent * event);
65
66 QTableWidget * mTable;
71
73};
74
76{
77 Q_OBJECT;
78public:
80
81 vctPose3DQtWidgetView(QWidget * parent, PosesType * poses, vctBoundingBox3 * bb);
82 inline ~vctPose3DQtWidgetView(void) {};
83
84 void SetPrismaticRevoluteFactors(const double & prismatic, const double & revolute);
85 void SetAutoResize(const bool autoResize);
86 void ResetSize(void);
87 void SetDimensions(const size_t x, const size_t y);
88
89protected:
90 void keyPressEvent(QKeyEvent * event);
91 void initializeGL(void);
92 void paintGL(void);
93 void resizeGL(int width, int height);
94
96
97 // pointers to shared data
101
102 // dimensions to plot
103 size_t mX, mY;
104
105 // viewport
108};
109
110
111#endif // _vctPose3DQtWidget_h
const TranslationType & Translation(void) const
Definition vctFrameBase.h:186
void keyPressEvent(QKeyEvent *event)
int mTableRow
Definition vctPose3DQtWidget.h:67
~vctPose3DQtWidget(void)
Definition vctPose3DQtWidget.h:46
PosesType mPoses
Definition vctPose3DQtWidget.h:69
void SetValue(const vct3 &value)
std::list< vctPose3DQtWidgetView * > ViewsType
Definition vctPose3DQtWidget.h:61
double mPrismaticFactor
Definition vctPose3DQtWidget.h:72
vctBoundingBox3 mBB
Definition vctPose3DQtWidget.h:70
QGridLayout * mLayout
Definition vctPose3DQtWidget.h:63
QTableWidget * mTable
Definition vctPose3DQtWidget.h:66
void Clear(void)
void SetValue(const vctFrm3 &value)
Definition vctPose3DQtWidget.h:54
ViewsType mViews
Definition vctPose3DQtWidget.h:68
std::list< vct3 > PosesType
Definition vctPose3DQtWidget.h:60
vctPose3DQtWidget(QWidget *parent=0)
void SetPrismaticRevoluteFactors(const double &prismatic, const double &revolute)
Definition vctPose3DQtWidget.h:76
void keyPressEvent(QKeyEvent *event)
double mViewportScale
Definition vctPose3DQtWidget.h:107
PosesType * mPoses
Definition vctPose3DQtWidget.h:98
vctBoundingBox3 * mBB
Definition vctPose3DQtWidget.h:99
bool mAutoResize
Definition vctPose3DQtWidget.h:100
size_t mX
Definition vctPose3DQtWidget.h:103
void resizeGL(int width, int height)
double mPrismaticFactor
Definition vctPose3DQtWidget.h:95
vctDouble2 mViewportTranslation
Definition vctPose3DQtWidget.h:106
vctPose3DQtWidget::PosesType PosesType
Definition vctPose3DQtWidget.h:79
size_t mY
Definition vctPose3DQtWidget.h:103
vctDouble2 mViewport
Definition vctPose3DQtWidget.h:106
void SetDimensions(const size_t x, const size_t y)
vctPose3DQtWidgetView(QWidget *parent, PosesType *poses, vctBoundingBox3 *bb)
void SetAutoResize(const bool autoResize)
~vctPose3DQtWidgetView(void)
Definition vctPose3DQtWidget.h:82
void SetPrismaticRevoluteFactors(const double &prismatic, const double &revolute)
#define CISST_EXPORT
Definition cmnExportMacros.h:50
vctBoundingBox3Base< double > vctBoundingBox3
Definition vctBoundingBox3.h:236
size_type height() const
Definition vctDynamicConstMatrixBase.h:248
size_type width() const
Definition vctDynamicConstMatrixBase.h:253
Macros to export the symbols of cisstVectorQt (in a Dll).
Typedef for fixed size vectors.
vctFixedSizeVector< double, 3 > vct3
Definition vctFixedSizeVectorTypes.h:46
vctFixedSizeVector< double, 2 > vctDouble2
Definition vctFixedSizeVectorTypes.h:40
Forward declarations and #define for cisstVector.
QGLWidget vctQtOpenGLBaseWidget
Definition vctForwardDeclarationsQt.h:31
Typedef for different transformations.
vctFrameBase< vctRot3 > vctFrm3
Definition vctTransformationTypes.h:137