Go to the documentation of this file.
21 #include <MGXViewer/qglviewer.h>
133 QString fullSnapshotFileName();
134 void initObject(QWidget* parent);
137 bool _processRunning;
149 virtual QDomElement
domElement(
const QString& name, QDomDocument& document)
const;
159 void writeParms(QTextStream& pout, QString section);
167 void draw(QPaintDevice* device);
175 void alternatePeels(
int& curPeelId,
int& prevPeelId,
int fullImgId);
176 void combinePeels(
int& fullImgId,
int curPeelId,
int volume1,
int volume2);
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);
194 void findSelectTriangle(
mgx::ImgData* stk,
uint x,
uint y, std::vector<uint>& vlist,
int& label,
195 bool useParentLabel =
true);
197 void getGUIFlags(QMouseEvent* e);
198 void getGUIFlags(QKeyEvent* e);
201 Qt::MouseButtons lastButtons;
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);
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);
233 QPaintDevice* current_device;
235 void ClipEnableSlot(
mgx::Clip* c,
bool _val);
236 void ClipGridSlot(
mgx::Clip* c,
bool _val);
237 void ClipWidthSlot(
mgx::Clip* c,
int _val);
313 virtual bool saveImageSnapshot(
const QString& fileName, QSize finalSize,
double oversampling = 1.0,
314 bool expand =
false,
bool has_gui =
false);
316 bool saveImageSnapshot(
const QString& fileName, QSize finalSize,
double oversampling,
bool expand,
bool has_gui,
void mouseReleaseEvent(QMouseEvent *e)
void stepDrawFinished(bool)
mgx::Shader combineShader
void keyPressEvent(QKeyEvent *e)
mgx::Shader postProcessShader
void setScreenshotFormat(const QString &format)
void Clip2EnableSlot(bool _val)
void Clip3WidthSlot(int _val)
mgx::Point3f pointUnderPixel(const QPoint &pos, bool &found)
QPointer< mgx::ImgData > stack1
std::vector< float > zooms
void Clip3EnableSlot(bool _val)
GLuint depthTexId[NB_FRAMES]
void keyReleaseEvent(QKeyEvent *e)
mgx::Shader indexSurfShader
saveSnapshot(bool automatic=true, bool overwrite=false)
setSnapshotFileName(const QString &name)
void Clip1EnableSlot(bool _val)
MGXKeyFrameInterpolator(qglviewer::Frame *fr=NULL)
void startScreenCoordinatesSystem(bool upward=false) const
mgx::Shader textureSurfShader
mgx::Shader colorSurfShader
void setupCopyFB(GLuint depth, GLint color)
void Clip2WidthSlot(int _val)
setSnapshotFormat(const QString &format)
void combinePeels(int &fullImgId, int curPeelId, int volume1, int volume2)
openSnapshotFormatDialog()
mgx::Shader finalCombineShader
MorphoViewer(QWidget *parent)
virtual bool saveImageSnapshot(const QString &fileName, QSize finalSize, double oversampling=1.0, bool expand=false, bool has_gui=false)
void checkVoxelCursor(bool altPressed)
void resizeGL(int width, int height)
QList< float > pickedLabels
mgx::Shader colormap2Shader
void setScreenshotCounter(int counter)
void saveScreenshot(const QString &fileName, bool overwrite=false)
void setLighting(mgx::ImgData *stack)
void drawColorTexture(int i, bool draw_depth=false)
void showEvent(QShowEvent *event)
void writeParms(QTextStream &pout, QString section)
void Clip2GridSlot(bool _val)
mgx::Shader volumeSurfShader1
setSnapshotCounter(int counter)
void setScreenshotFileName(const QString &name)
mgx::Shader raycastingShader2
void recordingMovie(bool)
void loadFile(const QString &pth, bool stack2, bool load_work)
mgx::Shader raycastingShader1
QPointer< mgx::ImgData > stack2
void enterEvent(QEvent *e)
void ScreenSamplingSlot(int val)
GLuint colorTexId[NB_FRAMES]
void Clip1WidthSlot(int _val)
void mousePressEvent(QMouseEvent *e)
void alternatePeels(int &curPeelId, int &prevPeelId, int fullImgId)
void updateFBOTex(int width, int height, bool fast_draw=false)
mgx::Shader volumeSurfShader2
void Clip1GridSlot(bool _val)
void recordMovie(bool on)
void leaveEvent(QEvent *e)
void selectLabelChanged(int)
virtual void initFromDOMElement(const QDomElement &element)
void DrawCellMapSlot(bool val)
void setZoomFactor(float f)
void setSceneBoundingBox(const mgx::Point3f &bbox)
void mouseDoubleClickEvent(QMouseEvent *e)
mgx::Matrix4d CameraFrame
MorphoGraphX * mainWindow()
void readParms(mgx::Parms &parms, QString section)
void saveScreenshot(bool automatic=false, bool overwrite=false)
void selectMeshLabel(int label, int repeat, bool replace=true)
void changeSceneRadius(float)
void mouseMoveEvent(QMouseEvent *e)
void resetupFramebuffer(GLuint depth, GLuint color, GLbitfield clear=GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
virtual QDomElement domElement(const QString &name, QDomDocument &document) const
virtual void interpolateAtTime(float time)
mgx::Shader occlusionShader
std::vector< GLfloat > depthTexture
A utility class to parse L-Studio like parameter files.
mgx::Shader renderDepthShader
float getSceneRadius() const
void processRunning(bool state)
void setScreenshotQuality(int quality)
bool openScreenshotFormatDialog()
void setLabelColor(QIcon &)
void FlySpeedSlot(int val)
setSnapshotQuality(int quality)
void setupFramebuffer(GLuint depth, GLuint color, GLbitfield clear=GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
void Clip3GridSlot(bool _val)