MorphoGraphX  2.0-1-227
MorphoViewer.hpp
Go to the documentation of this file.
1 //
2 // This file is part of MorphoGraphX - http://www.MorphoGraphX.org
3 // Copyright (C) 2012-2015 Richard S. Smith and collaborators.
4 //
5 // If you use MorphoGraphX in your work, please cite:
6 // http://dx.doi.org/10.7554/eLife.05864
7 //
8 // MorphoGraphX is free software, and is licensed under under the terms of the
9 // GNU General (GPL) Public License version 2.0, http://www.gnu.org/licenses.
10 //
11 #ifndef VIEWER_H
12 #define VIEWER_H
13 
14 #include <Config.hpp>
15 #include <GL.hpp>
16 
17 #include <ClipRegion.hpp>
18 #include <CutSurf.hpp>
19 #include <EdgeData.hpp>
20 #include <ImageData.hpp>
21 #include <MGXViewer/qglviewer.h>
22 #include <Shader.hpp>
23 #include <VertexData.hpp>
24 #include <Geometry.hpp>
25 
26 #include "LassoSelect.hpp"
27 
28 class QDomElement;
29 class QShowEvent;
30 class MorphoGraphX;
31 class MGXCamera;
32 
34 {
35 public:
37  virtual void interpolateAtTime(float time);
38 
39  std::vector<float> zooms;
40 };
41 
42 class MorphoViewer : public QGLViewer
43 {
44  Q_OBJECT
45 public:
48 
49  bool quitting;
53  QPoint oldPos;
54  QRect selectRect;
57  float pixelRadius;
58  QPoint mousePos;
66 
70  GLuint depthBuffer;
71  std::vector<GLfloat> depthTexture;
74 
75  // GUI Interaction
77  bool altPressed;
79  bool leftButton;
81 
86 
88  bool meshPickFill = true, stackPickFill = true;
89 
90  QList<float> pickedLabels;
91 
92  // Clipping planes
94  mgx::Clip* c1, *c2, *c3;
95 
96  // Confocal stack objects
97  QPointer<mgx::ImgData> stack1, stack2;
98 
99  // Cutting surface
101 
102  float FlySpeed;
104  float sampling;
105  bool fast_draw;
109 
111  float Specular;
112  float Shininess;
116  float Spinning;
117  float ZoomFactor() const;
118  void setZoomFactor(float f);
121 
123 
124  void setSceneBoundingBox(const mgx::Point3f& bbox);
125 
126  float getSceneRadius() const { return SceneRadius; }
127  void processRunning(bool state) { _processRunning = state; }
128  bool processRunning() { return _processRunning; }
129 
130 private:
131  float SceneRadius;
132 
133  QString fullSnapshotFileName();
134  void initObject(QWidget* parent);
135  bool initialized;
136  qglviewer::Camera* lastInitCamera;
137  bool _processRunning;
138 
139  void initCamera();
140 
141 public:
142  MorphoViewer(QWidget* parent);
143  MorphoViewer(QGLContext* context, QWidget* parent);
144  MorphoViewer(const QGLFormat& format, QWidget* parent);
145  virtual ~MorphoViewer();
146 
147  static void initFormat();
148 
149  virtual QDomElement domElement(const QString& name, QDomDocument& document) const;
150 
151  void drawSelectRect();
152  void drawSelectLasso();
153  void drawVoxelCursor();
154  void checkVoxelCursor(bool altPressed);
155  void drawColorBar();
156  void drawScaleBar();
157  void setLighting(mgx::ImgData *stack);
158  void readParms(mgx::Parms& parms, QString section);
159  void writeParms(QTextStream& pout, QString section);
160  void updateAll();
161  mgx::Point3f pointUnderPixel(const QPoint& pos, bool& found);
162  void startScreenCoordinatesSystem(bool upward = false) const;
163 
164 protected:
165  void preDraw();
166  void draw();
167  void draw(QPaintDevice* device);
168  void fastDraw();
169  virtual void postDraw();
170  virtual void init();
171  void showEvent(QShowEvent* event);
172  void resizeGL(int width, int height);
173  void updateFBOTex(int width, int height, bool fast_draw = false);
174  void drawColorTexture(int i, bool draw_depth = false);
175  void alternatePeels(int& curPeelId, int& prevPeelId, int fullImgId);
176  void combinePeels(int& fullImgId, int curPeelId, int volume1, int volume2);
177  void setupCopyFB(GLuint depth, GLint color);
178  void setupFramebuffer(GLuint depth, GLuint color, GLbitfield clear = GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
179  void resetupFramebuffer(GLuint depth, GLuint color, GLbitfield clear = GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
180  void resetFramebuffer();
181  void leaveEvent(QEvent* e);
182  void enterEvent(QEvent* e);
183  void keyReleaseEvent(QKeyEvent* e);
184  void keyPressEvent(QKeyEvent* e);
185  void mouseMoveEvent(QMouseEvent* e);
186  void mousePressEvent(QMouseEvent* e);
187  void mouseReleaseEvent(QMouseEvent* e);
188  void mouseDoubleClickEvent(QMouseEvent* e);
189 
190 private:
191  mgx::ImgData* findSelectStack();
192  mgx::ImgData* findSelectSurf();
193  mgx::ImgData* findSelectMesh();
194  void findSelectTriangle(mgx::ImgData* stk, uint x, uint y, std::vector<uint>& vlist, int& label,
195  bool useParentLabel = true);
196 
197  void getGUIFlags(QMouseEvent* e);
198  void getGUIFlags(QKeyEvent* e);
199  void drawCellMap();
200 
201  Qt::MouseButtons lastButtons;
202 
203  void clipEnable();
204  void clipDisable();
205 
206  // Gui actions
207  bool callGuiAction(GuiAction guiAction, QMouseEvent *e);
208 
209  // Stack gui actions
210  bool stackPickLabel(QMouseEvent *e);
211  bool stackFillLabel(QMouseEvent *e);
212  bool stackPickFillLabel(QMouseEvent *e);
213  bool stackVoxelEdit(QMouseEvent *e);
214  bool stackDeleteLabel(QMouseEvent *e);
215 
216  // Mesh gui actions
217  bool meshMovePoints(QMouseEvent *e);
218  bool meshSelectPoints(QMouseEvent *e);
219  bool meshSelectLasso(QMouseEvent *e);
220  bool meshPickLabel(QMouseEvent *e);
221  bool meshAddSeed(QMouseEvent *e);
222  bool meshCurrentSeed(QMouseEvent *e);
223  bool meshFillLabel(QMouseEvent *e);
224  bool meshPickFillLabel(QMouseEvent *e);
225  bool meshPickLabelFillParent(QMouseEvent *e);
226  bool meshSelectLabel(QMouseEvent *e);
227  bool meshSelectConnected(QMouseEvent *e);
228  bool meshSelectTriangle(QMouseEvent *e);
229  bool meshGrabSeed(QMouseEvent *e);
230 
231  int findLabel(const mgx::Store* store, mgx::Point3f start, mgx::Point3f dir) const;
232 
233  QPaintDevice* current_device;
234 
235  void ClipEnableSlot(mgx::Clip* c, bool _val);
236  void ClipGridSlot(mgx::Clip* c, bool _val);
237  void ClipWidthSlot(mgx::Clip* c, int _val);
238 
239 public slots:
240  void setLabel(int label);
241  void selectMeshLabel(int label, int repeat, bool replace = true);
242  void ReloadShaders();
243  void UpdateSlot() {
244  updateAll();
245  }
246  void loadFile(const QString& pth, bool stack2, bool load_work);
247  void UpdateLabels();
248 
249  // Takes care of GUI clips
250  void Clip1EnableSlot(bool _val) { ClipEnableSlot(c1, _val); }
251  void Clip1GridSlot(bool _val) { ClipGridSlot(c1, _val); }
252  void Clip1WidthSlot(int _val) { ClipWidthSlot(c1, _val); }
253  void Clip2EnableSlot(bool _val) { ClipEnableSlot(c2, _val); }
254  void Clip2GridSlot(bool _val) { ClipGridSlot(c2, _val); }
255  void Clip2WidthSlot(int _val) { ClipWidthSlot(c2, _val); }
256  void Clip3EnableSlot(bool _val) { ClipEnableSlot(c3, _val); }
257  void Clip3GridSlot(bool _val) { ClipGridSlot(c3, _val); }
258  void Clip3WidthSlot(int _val) { ClipWidthSlot(c3, _val); }
259 
260  void FlySpeedSlot(int val)
261  {
262  FlySpeed = float(val) / 10000.0;
263  }
264  void DrawCellMapSlot(bool val)
265  {
266  DrawCellMap = val;
267  updateAll();
268  }
269  void SlicesSlot(int val)
270  {
271  mgx::ImgData::Slices = val;
272  updateAll();
273  }
274  void ScreenSamplingSlot(int val);
275  void LabelColorSlot();
276  void ResetViewSlot();
277 
278  void recordMovie(bool on);
279 
280  void saveScreenshot(bool automatic = false, bool overwrite = false)
281  {
282  return QGLViewer::saveSnapshot(automatic, overwrite);
283  }
284  void saveScreenshot(const QString& fileName, bool overwrite = false)
285  {
286  return QGLViewer::saveSnapshot(fileName, overwrite);
287  }
288  void setScreenshotFileName(const QString& name)
289  {
290  return QGLViewer::setSnapshotFileName(name);
291  }
292  void setScreenshotFormat(const QString& format)
293  {
294  return QGLViewer::setSnapshotFormat(format);
295  }
296  void setScreenshotCounter(int counter)
297  {
298  return QGLViewer::setSnapshotCounter(counter);
299  }
300  void setScreenshotQuality(int quality)
301  {
302  return QGLViewer::setSnapshotQuality(quality);
303  }
305  {
307  }
308 
309  virtual void initFromDOMElement(const QDomElement& element);
310 
312 
313  virtual bool saveImageSnapshot(const QString& fileName, QSize finalSize, double oversampling = 1.0,
314  bool expand = false, bool has_gui = false);
315 
316  bool saveImageSnapshot(const QString& fileName, QSize finalSize, double oversampling, bool expand, bool has_gui,
317  QString* error);
318 
319  void showEntireScene() { camera()->showEntireScene(); }
320 
321 signals:
322  void deleteSelection();
323  void modified();
324  void stepDrawFinished(bool);
325  void setLabelColor(QIcon&);
326  void recordingMovie(bool);
327  void changeSceneRadius(float);
328  void selectLabelChanged(int);
329 };
330 
331 #endif
MorphoViewer::MESH_SEL_POINTS
@ MESH_SEL_POINTS
Definition: MorphoViewer.hpp:83
MorphoViewer::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *e)
MorphoViewer::drawSelectLasso
void drawSelectLasso()
MorphoViewer::stepDrawFinished
void stepDrawFinished(bool)
MorphoViewer::combineShader
mgx::Shader combineShader
Definition: MorphoViewer.hpp:61
MorphoViewer::resetFramebuffer
void resetFramebuffer()
EdgeData.hpp
MorphoViewer::~MorphoViewer
virtual ~MorphoViewer()
MorphoViewer::keyPressEvent
void keyPressEvent(QKeyEvent *e)
MorphoViewer::initFormat
static void initFormat()
MorphoViewer::UpdateLabels
void UpdateLabels()
MorphoViewer::pixelRadius
float pixelRadius
Definition: MorphoViewer.hpp:57
MorphoViewer::postProcessShader
mgx::Shader postProcessShader
Definition: MorphoViewer.hpp:64
MorphoViewer::setScreenshotFormat
void setScreenshotFormat(const QString &format)
Definition: MorphoViewer.hpp:292
MorphoViewer::MESH_FILL_LABEL
@ MESH_FILL_LABEL
Definition: MorphoViewer.hpp:84
MorphoViewer::MESH_GRAB_SEED
@ MESH_GRAB_SEED
Definition: MorphoViewer.hpp:84
MorphoViewer::FI_OCCLUSION
@ FI_OCCLUSION
Definition: MorphoViewer.hpp:47
MorphoViewer::Clip2EnableSlot
void Clip2EnableSlot(bool _val)
Definition: MorphoViewer.hpp:253
MorphoViewer::Clip3WidthSlot
void Clip3WidthSlot(int _val)
Definition: MorphoViewer.hpp:258
MorphoViewer::Shininess
float Shininess
Definition: MorphoViewer.hpp:112
CutSurf.hpp
GL.hpp
MorphoViewer::texHeight
int texHeight
Definition: MorphoViewer.hpp:106
MorphoViewer::pointUnderPixel
mgx::Point3f pointUnderPixel(const QPoint &pos, bool &found)
MorphoViewer::fast_draw
bool fast_draw
Definition: MorphoViewer.hpp:105
MorphoViewer::stack1
QPointer< mgx::ImgData > stack1
Definition: MorphoViewer.hpp:97
MorphoViewer::FI_BACKGROUND
@ FI_BACKGROUND
Definition: MorphoViewer.hpp:46
MorphoViewer::showEntireScene
void showEntireScene()
Definition: MorphoViewer.hpp:319
MorphoViewer::texWidth
int texWidth
Definition: MorphoViewer.hpp:106
MGXKeyFrameInterpolator
Definition: MorphoViewer.hpp:33
MGXKeyFrameInterpolator::zooms
std::vector< float > zooms
Definition: MorphoViewer.hpp:39
MorphoViewer::c3
mgx::Clip * c3
Definition: MorphoViewer.hpp:94
MorphoViewer::MESH_SEL_LASSO
@ MESH_SEL_LASSO
Definition: MorphoViewer.hpp:83
MorphoViewer::Clip3EnableSlot
void Clip3EnableSlot(bool _val)
Definition: MorphoViewer.hpp:256
ImageData.hpp
MorphoViewer::setLabel
void setLabel(int label)
MorphoViewer::depthTexId
GLuint depthTexId[NB_FRAMES]
Definition: MorphoViewer.hpp:68
MorphoViewer::selectLasso
LassoSelect selectLasso
Definition: MorphoViewer.hpp:55
MorphoViewer::keyReleaseEvent
void keyReleaseEvent(QKeyEvent *e)
MorphoViewer::preDraw
void preDraw()
MorphoViewer::fastDraw
void fastDraw()
MorphoViewer::fboCopyId
GLuint fboCopyId
Definition: MorphoViewer.hpp:67
MorphoViewer::FlySpeed
float FlySpeed
Definition: MorphoViewer.hpp:102
MorphoViewer::sampling
float sampling
Definition: MorphoViewer.hpp:104
MorphoViewer::indexSurfShader
mgx::Shader indexSurfShader
Definition: MorphoViewer.hpp:62
MorphoViewer::depthBuffer
GLuint depthBuffer
Definition: MorphoViewer.hpp:70
QGLViewer::saveSnapshot
saveSnapshot(bool automatic=true, bool overwrite=false)
MorphoViewer::cutSurf
mgx::CutSurf * cutSurf
Definition: MorphoViewer.hpp:100
QGLViewer::setSnapshotFileName
setSnapshotFileName(const QString &name)
MorphoViewer::prevWidth
int prevWidth
Definition: MorphoViewer.hpp:73
MorphoViewer::processRunning
bool processRunning()
Definition: MorphoViewer.hpp:128
MorphoViewer::LabelColorSlot
void LabelColorSlot()
QGLViewer::width
width() const
uint
unsigned int uint
Definition: MorphoGraphX.hpp:14
MorphoViewer::guiActionOn
bool guiActionOn
Definition: MorphoViewer.hpp:87
MorphoViewer::Clip1EnableSlot
void Clip1EnableSlot(bool _val)
Definition: MorphoViewer.hpp:250
MorphoViewer::ZoomFactor
float ZoomFactor() const
MGXKeyFrameInterpolator::MGXKeyFrameInterpolator
MGXKeyFrameInterpolator(qglviewer::Frame *fr=NULL)
MorphoViewer::startScreenCoordinatesSystem
void startScreenCoordinatesSystem(bool upward=false) const
VertexData.hpp
mgx::ImgData::Slices
static uint Slices
Definition: ImageData.hpp:184
MorphoViewer::textureSurfShader
mgx::Shader textureSurfShader
Definition: MorphoViewer.hpp:62
MorphoViewer::STACK_PICK_FILL_LABEL
@ STACK_PICK_FILL_LABEL
Definition: MorphoViewer.hpp:82
MorphoViewer::MESH_PICK_FILL_LABEL
@ MESH_PICK_FILL_LABEL
Definition: MorphoViewer.hpp:84
MorphoViewer::Spinning
float Spinning
Definition: MorphoViewer.hpp:116
MorphoViewer::colorSurfShader
mgx::Shader colorSurfShader
Definition: MorphoViewer.hpp:62
MorphoViewer::prevHeight
int prevHeight
Definition: MorphoViewer.hpp:73
MorphoViewer::DrawCellMap
bool DrawCellMap
Definition: MorphoViewer.hpp:50
MorphoViewer::setupCopyFB
void setupCopyFB(GLuint depth, GLint color)
MorphoViewer::Clip2WidthSlot
void Clip2WidthSlot(int _val)
Definition: MorphoViewer.hpp:255
LassoSelect
Definition: LassoSelect.hpp:7
QGLViewer::setSnapshotFormat
setSnapshotFormat(const QString &format)
MorphoViewer::combinePeels
void combinePeels(int &fullImgId, int curPeelId, int volume1, int volume2)
QGLViewer::openSnapshotFormatDialog
openSnapshotFormatDialog()
MorphoViewer::finalCombineShader
mgx::Shader finalCombineShader
Definition: MorphoViewer.hpp:61
MorphoViewer::MorphoViewer
MorphoViewer(QWidget *parent)
MorphoViewer::saveImageSnapshot
virtual bool saveImageSnapshot(const QString &fileName, QSize finalSize, double oversampling=1.0, bool expand=false, bool has_gui=false)
MorphoViewer::FI_VOLUME1
@ FI_VOLUME1
Definition: MorphoViewer.hpp:47
MorphoViewer::checkVoxelCursor
void checkVoxelCursor(bool altPressed)
MorphoViewer::resizeGL
void resizeGL(int width, int height)
MorphoViewer::pickedLabels
QList< float > pickedLabels
Definition: MorphoViewer.hpp:90
MorphoViewer::colormap2Shader
mgx::Shader colormap2Shader
Definition: MorphoViewer.hpp:60
MorphoViewer::setScreenshotCounter
void setScreenshotCounter(int counter)
Definition: MorphoViewer.hpp:296
MorphoViewer::saveScreenshot
void saveScreenshot(const QString &fileName, bool overwrite=false)
Definition: MorphoViewer.hpp:284
MorphoViewer::deleteSelection
void deleteSelection()
mgx::Shader
Definition: Shader.hpp:274
MorphoViewer::setLighting
void setLighting(mgx::ImgData *stack)
Geometry.hpp
MorphoViewer::c2
mgx::Clip * c2
Definition: MorphoViewer.hpp:94
MorphoViewer::drawColorTexture
void drawColorTexture(int i, bool draw_depth=false)
MorphoViewer::UnsharpStrength
float UnsharpStrength
Definition: MorphoViewer.hpp:115
MorphoViewer::FI_CUR_PEEL
@ FI_CUR_PEEL
Definition: MorphoViewer.hpp:46
MorphoViewer::showEvent
void showEvent(QShowEvent *event)
MorphoViewer::writeParms
void writeParms(QTextStream &pout, QString section)
MorphoViewer::Clip2GridSlot
void Clip2GridSlot(bool _val)
Definition: MorphoViewer.hpp:254
MorphoViewer::volumeSurfShader1
mgx::Shader volumeSurfShader1
Definition: MorphoViewer.hpp:63
MorphoViewer::selectRect
QRect selectRect
Definition: MorphoViewer.hpp:54
MorphoViewer::stackPickFill
bool stackPickFill
Definition: MorphoViewer.hpp:88
QGLViewer::setSnapshotCounter
setSnapshotCounter(int counter)
MorphoViewer::STACK_DEL_PICKED
@ STACK_DEL_PICKED
Definition: MorphoViewer.hpp:82
mgx::ClipRegion
Definition: ClipRegion.hpp:39
mgx::Clip
Definition: Clip.hpp:20
MorphoViewer::draw
void draw()
MorphoViewer::init
virtual void init()
MorphoViewer::c1
mgx::Clip * c1
Definition: MorphoViewer.hpp:94
MorphoViewer::FI_FULL_IMG2
@ FI_FULL_IMG2
Definition: MorphoViewer.hpp:46
MorphoViewer
Definition: MorphoViewer.hpp:42
MorphoViewer::setScreenshotFileName
void setScreenshotFileName(const QString &name)
Definition: MorphoViewer.hpp:288
MorphoViewer::baseFboId
GLuint baseFboId
Definition: MorphoViewer.hpp:67
MorphoViewer::NB_FRAMES
@ NB_FRAMES
Definition: MorphoViewer.hpp:47
MorphoViewer::meshPickFill
bool meshPickFill
Definition: MorphoViewer.hpp:88
MorphoViewer::raycastingShader2
mgx::Shader raycastingShader2
Definition: MorphoViewer.hpp:59
MorphoViewer::drawSelectRect
void drawSelectRect()
MorphoViewer::recordingMovie
void recordingMovie(bool)
QGLViewer
MorphoViewer::loadFile
void loadFile(const QString &pth, bool stack2, bool load_work)
MorphoViewer::voxelEditCursor
bool voxelEditCursor
Definition: MorphoViewer.hpp:56
MorphoViewer::UpdateSlot
void UpdateSlot()
Definition: MorphoViewer.hpp:243
MorphoViewer::MESH_ADD_SEED
@ MESH_ADD_SEED
Definition: MorphoViewer.hpp:83
MorphoViewer::raycastingShader1
mgx::Shader raycastingShader1
Definition: MorphoViewer.hpp:59
MorphoViewer::MESH_SEL_TRIS
@ MESH_SEL_TRIS
Definition: MorphoViewer.hpp:84
MorphoViewer::stack2
QPointer< mgx::ImgData > stack2
Definition: MorphoViewer.hpp:97
MorphoViewer::enterEvent
void enterEvent(QEvent *e)
MorphoViewer::shiftPressed
bool shiftPressed
Definition: MorphoViewer.hpp:76
MorphoViewer::ScreenSamplingSlot
void ScreenSamplingSlot(int val)
MorphoViewer::leftButton
bool leftButton
Definition: MorphoViewer.hpp:79
MorphoViewer::GlobalContrast
float GlobalContrast
Definition: MorphoViewer.hpp:114
MorphoViewer::colorTexId
GLuint colorTexId[NB_FRAMES]
Definition: MorphoViewer.hpp:69
MorphoViewer::Clip1WidthSlot
void Clip1WidthSlot(int _val)
Definition: MorphoViewer.hpp:252
MorphoViewer::clip1
mgx::ClipRegion clip1
Definition: MorphoViewer.hpp:93
MorphoViewer::mousePressEvent
void mousePressEvent(QMouseEvent *e)
MorphoViewer::rightButton
bool rightButton
Definition: MorphoViewer.hpp:80
MorphoViewer::STACK_DEL_LABEL
@ STACK_DEL_LABEL
Definition: MorphoViewer.hpp:82
MorphoViewer::alternatePeels
void alternatePeels(int &curPeelId, int &prevPeelId, int fullImgId)
MorphoViewer::updateFBOTex
void updateFBOTex(int width, int height, bool fast_draw=false)
ClipRegion.hpp
QGLViewer::camera
camera() const
Shader.hpp
MorphoViewer::volumeSurfShader2
mgx::Shader volumeSurfShader2
Definition: MorphoViewer.hpp:63
MorphoViewer::Clip1GridSlot
void Clip1GridSlot(bool _val)
Definition: MorphoViewer.hpp:251
MorphoViewer::SlicesSlot
void SlicesSlot(int val)
Definition: MorphoViewer.hpp:269
MorphoViewer::recordMovie
void recordMovie(bool on)
MorphoViewer::leaveEvent
void leaveEvent(QEvent *e)
MorphoViewer::selectLabelChanged
void selectLabelChanged(int)
MorphoViewer::index2Shader
mgx::Shader index2Shader
Definition: MorphoViewer.hpp:60
MorphoViewer::ViewerUpdateSlot
void ViewerUpdateSlot()
Definition: MorphoViewer.hpp:311
MorphoViewer::initFromDOMElement
virtual void initFromDOMElement(const QDomElement &element)
MorphoViewer::DrawCellMapSlot
void DrawCellMapSlot(bool val)
Definition: MorphoViewer.hpp:264
MGXCamera
Definition: MGXCamera.hpp:34
MorphoViewer::setZoomFactor
void setZoomFactor(float f)
MorphoViewer::ReloadShaders
void ReloadShaders()
MorphoViewer::drawWidth
int drawWidth
Definition: MorphoViewer.hpp:72
qglviewer::Frame
MorphoViewer::guiAction
GuiAction guiAction
Definition: MorphoViewer.hpp:85
MorphoViewer::MESH_SEL_CONN
@ MESH_SEL_CONN
Definition: MorphoViewer.hpp:83
MorphoViewer::setSceneBoundingBox
void setSceneBoundingBox(const mgx::Point3f &bbox)
MorphoViewer::controlPressed
bool controlPressed
Definition: MorphoViewer.hpp:78
MorphoViewer::mouseDoubleClickEvent
void mouseDoubleClickEvent(QMouseEvent *e)
MorphoViewer::clip3
mgx::ClipRegion clip3
Definition: MorphoViewer.hpp:93
MorphoViewer::Specular
float Specular
Definition: MorphoViewer.hpp:111
MorphoGraphX
Definition: MorphoGraphX.hpp:51
LassoSelect.hpp
mgx::ImgData
Definition: ImageData.hpp:45
MorphoViewer::FI_FULL_IMG1
@ FI_FULL_IMG1
Definition: MorphoViewer.hpp:46
MorphoViewer::_camera
MGXCamera * _camera
Definition: MorphoViewer.hpp:120
MorphoViewer::oldVPos
mgx::Point3f oldVPos
Definition: MorphoViewer.hpp:52
MorphoViewer::quitting
bool quitting
Definition: MorphoViewer.hpp:49
MorphoViewer::CameraFrame
mgx::Matrix4d CameraFrame
Definition: MorphoViewer.hpp:119
mgx::Vector< 3, float >
MorphoViewer::mainWindow
MorphoGraphX * mainWindow()
MorphoViewer::readParms
void readParms(mgx::Parms &parms, QString section)
MorphoViewer::saveScreenshot
void saveScreenshot(bool automatic=false, bool overwrite=false)
Definition: MorphoViewer.hpp:280
MorphoViewer::selectMeshLabel
void selectMeshLabel(int label, int repeat, bool replace=true)
MorphoViewer::show_slice
int show_slice
Definition: MorphoViewer.hpp:107
MorphoViewer::changeSceneRadius
void changeSceneRadius(float)
MorphoViewer::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *e)
MorphoViewer::clip2
mgx::ClipRegion clip2
Definition: MorphoViewer.hpp:93
MorphoViewer::resetupFramebuffer
void resetupFramebuffer(GLuint depth, GLuint color, GLbitfield clear=GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
qglviewer::Camera
MorphoViewer::oldPos
QPoint oldPos
Definition: MorphoViewer.hpp:53
QGLViewer::height
height() const
MorphoViewer::FrameIdentity
FrameIdentity
Definition: MorphoViewer.hpp:46
MorphoViewer::MESH_PICK_LABEL
@ MESH_PICK_LABEL
Definition: MorphoViewer.hpp:83
MorphoViewer::drawHeight
int drawHeight
Definition: MorphoViewer.hpp:72
MorphoViewer::GuiAction
GuiAction
Definition: MorphoViewer.hpp:82
MorphoViewer::modified
void modified()
mgx::CutSurf
Definition: CutSurf.hpp:34
MorphoViewer::ResetViewSlot
void ResetViewSlot()
MorphoViewer::MESH_CURR_SEED
@ MESH_CURR_SEED
Definition: MorphoViewer.hpp:83
MorphoViewer::MESH_SEL_LABEL
@ MESH_SEL_LABEL
Definition: MorphoViewer.hpp:83
mgx::Matrix< 4, 4, double >
MorphoViewer::domElement
virtual QDomElement domElement(const QString &name, QDomDocument &document) const
MGXKeyFrameInterpolator::interpolateAtTime
virtual void interpolateAtTime(float time)
MorphoViewer::drawColorBar
void drawColorBar()
MorphoViewer::postDraw
virtual void postDraw()
MorphoViewer::MESH_PICK_FILL_PARENT
@ MESH_PICK_FILL_PARENT
Definition: MorphoViewer.hpp:84
MorphoViewer::occlusionShader
mgx::Shader occlusionShader
Definition: MorphoViewer.hpp:65
MorphoViewer::STACK_PICK_LABEL
@ STACK_PICK_LABEL
Definition: MorphoViewer.hpp:82
MorphoViewer::depthTexture
std::vector< GLfloat > depthTexture
Definition: MorphoViewer.hpp:71
mgx::Parms
A utility class to parse L-Studio like parameter files.
Definition: Parms.hpp:116
MorphoViewer::renderDepthShader
mgx::Shader renderDepthShader
Definition: MorphoViewer.hpp:61
MorphoViewer::DrawClipBox
bool DrawClipBox
Definition: MorphoViewer.hpp:51
MorphoViewer::getSceneRadius
float getSceneRadius() const
Definition: MorphoViewer.hpp:126
MorphoViewer::drawScaleBar
void drawScaleBar()
MorphoViewer::processRunning
void processRunning(bool state)
Definition: MorphoViewer.hpp:127
MorphoViewer::GlobalBrightness
float GlobalBrightness
Definition: MorphoViewer.hpp:113
MorphoViewer::drawVoxelCursor
void drawVoxelCursor()
MorphoViewer::STACK_FILL_LABEL
@ STACK_FILL_LABEL
Definition: MorphoViewer.hpp:82
MorphoViewer::setScreenshotQuality
void setScreenshotQuality(int quality)
Definition: MorphoViewer.hpp:300
MorphoViewer::openScreenshotFormatDialog
bool openScreenshotFormatDialog()
Definition: MorphoViewer.hpp:304
MorphoViewer::setLabelColor
void setLabelColor(QIcon &)
MorphoViewer::MaxNbPeels
int MaxNbPeels
Definition: MorphoViewer.hpp:110
MorphoViewer::selectedLabel
int selectedLabel
Definition: MorphoViewer.hpp:103
MorphoViewer::altPressed
bool altPressed
Definition: MorphoViewer.hpp:77
MorphoViewer::STACK_VOXEL_EDIT
@ STACK_VOXEL_EDIT
Definition: MorphoViewer.hpp:82
MorphoViewer::FlySpeedSlot
void FlySpeedSlot(int val)
Definition: MorphoViewer.hpp:260
MorphoViewer::mousePos
QPoint mousePos
Definition: MorphoViewer.hpp:58
qglviewer::KeyFrameInterpolator
QGLViewer::setSnapshotQuality
setSnapshotQuality(int quality)
mgx::Store
Definition: Store.hpp:33
MorphoViewer::updateAll
void updateAll()
MorphoViewer::FI_VOLUME2
@ FI_VOLUME2
Definition: MorphoViewer.hpp:47
MorphoViewer::setupFramebuffer
void setupFramebuffer(GLuint depth, GLuint color, GLbitfield clear=GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
MorphoViewer::fboId
GLuint fboId
Definition: MorphoViewer.hpp:67
MorphoViewer::Clip3GridSlot
void Clip3GridSlot(bool _val)
Definition: MorphoViewer.hpp:257
MorphoViewer::slice_type
int slice_type
Definition: MorphoViewer.hpp:108