SMILX  1.01
Public Slots | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
milxQtRenderWindow Class Reference

This class represents the MILX Qt Render Window Display object using QVTK. More...

#include <milxQtRenderWindow.h>

Inheritance diagram for milxQtRenderWindow:
milxQtWindow milxQtImage milxQtModel milxQtShapeModel milxQtUnifiedWindow milxQtDiffusionTensorImage milxQtAnimateModel milxQtDiffusionTensorModel milxQtPlot milxQtRobustShapeModel

Public Slots

void addModelActor (vtkSmartPointer< vtkActor > mdlActor)
 Directly add model actor to generic view. More...
 
void removeModelActor (vtkSmartPointer< vtkActor > mdlActor)
 Directly remove model actor from generic view. More...
 
void addActor (vtkSmartPointer< vtkActor > imgActor, vtkMatrix4x4 *transformMatrix=NULL)
 Directly add actor to generic view with transform matrix. More...
 
void addImageActor (vtkSmartPointer< vtkImageActor > imgActor, vtkMatrix4x4 *transformMatrix=NULL)
 Directly add image actor to generic view. More...
 
void removeImageActor (vtkSmartPointer< vtkImageActor > imgActor)
 Directly remove image actor from generic view. More...
 
void importFrom (milxQtRenderWindow *windowToImportFrom)
 Import actors/scene directly from another renderwindow. More...
 
void importViewFrom (milxQtRenderWindow *windowToImportFrom)
 Same as importFrom()
 
virtual void updateTextActor (vtkObject *obj, unsigned long, void *client_data, void *, vtkCommand *command)
 Update any text actors in display to current slice.
 
virtual void updateImageActor (vtkObject *obj, unsigned long, void *client_data, void *, vtkCommand *command)
 Update any image actors in display to current slice when slice number changes.
 
virtual void updateImageActor (vtkSmartPointer< vtkImageActor > actor)
 
void userEvent (QMouseEvent *event=NULL)
 
void userEvent (QKeyEvent *event)
 
void userEvent (QWheelEvent *event)
 
void refresh ()
 Refresh the display of the model including widgets. Camera remains as is.
 
vtkSmartPointer< vtkMatrix4x4 > getTransformMatrix ()
 Internal transform matrix used to transform actors appropriately for direction and coordinate systems.
 
void reset ()
 Reset the rendering, camera and windowing.
 
bool isLoaded ()
 Is the data successfully loaded? Use this to check if all is ok with data display.
 
void linkProgressEventOf (vtkObject *obj)
 Link the progress of filters etc to keep the UI responsive.
 
virtual void updateCoords (vtkObject *obj)
 Picks the coordinates and pixel value from the current mouse position in the window. More...
 
virtual void contour ()
 Draw contour interactively.
 
void contourAsPolyData ()
 Save contour as polydata/model. This saves all intermediate points, not just what the user places.
 
void contourAsNodePolyData ()
 Save contour as polydata/model. This only saves the points the user has placed.
 
void contourInitFromPolyData (QString filename="")
 Load contour from polydata/model. More...
 
void enableAxes (float xScale=1.0, float yScale=1.0, float zScale=1.0)
 Enable axes display with each arrow for dimension scaled as provided.
 
void disableAxes ()
 Disables the axes display.
 
void axesDisplay ()
 Toggles the axes display.
 
void disableOrient ()
 Disables orientation marker.
 
void orientDisplay ()
 Toggles orientation marker.
 
virtual void background (bool white=false)
 Changes background to white.
 
void lighting ()
 Toggles two sided lighting in display.
 
void textDisplay ()
 Toggles text in display.
 
void crosshair ()
 Toggles corsshair.
 
virtual void viewToXYPlane ()
 Change view to xy-plane.
 
void viewToAxial ()
 
virtual void viewToZXPlane ()
 Change view to zx-plane.
 
void viewToCoronal ()
 
virtual void viewToZYPlane ()
 Change view to zy-plane.
 
void viewToSagittal ()
 
int getDefaultOrientation ()
 Get the orientation mode to one of the supported standards. More...
 
void setDefaultOrientation (int orientMode)
 Change orientation mode to one of the supported standards. Default: Radiological. More...
 
int getView ()
 Return current view mode identified by number. 0-axial, 1-coronal, 2-sagittal.
 
void setView (int viewMode)
 Change view to view mode identified by number. 0-axial, 1-coronal, 2-sagittal. More...
 
void enableActionBasedOnView ()
 Enables the view actions corresponding to current view set.
 
void disableDefaultView ()
 Disables the default view whenever data is process or displayed. Enabled by default. More...
 
void enableDefaultView ()
 
void setDefaultView (int viewMode)
 Change default view to view mode identified by number. 0-axial, 1-coronal, 2-sagittal.
 
void saveView (QString filename="")
 
void saveViewFile ()
 
void loadView (QString filename="")
 Saves the camera details to internal variables that can be restore anytime with loadView().
 
void loadViewFile ()
 
virtual void enableScale (QString title="", const bool quiet=false, double minRange=0.0, double maxRange=0.0, int noOfLabels=3)
 Enable scale bar display with the title provided. More...
 
virtual void disableScale ()
 Disables the scale bar display.
 
virtual void enableCrosshair ()
 Enables the mouse pointer as a crosshair instead. Scene must be rendered before calling.
 
virtual void disableCrosshair ()
 Restores the mouse pointer to default.
 
virtual void scaleDisplay (const bool forceDisplay=false)
 Toggles the scale bar display. More...
 
virtual void colourMapToRainbow (double minRange=0.0, double maxRange=0.0)
 Change the colour map to default VTK which is rainbow.
 
virtual void colourMapToVTK (double minRange=0.0, double maxRange=0.0)
 Change the colour map to inverse of default VTK.
 
virtual void colourMapToGray (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Gray.
 
virtual void colourMapToSeismic (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Seismic.
 
virtual void colourMapToLogGray (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Logarithmic (base 10) Gray.
 
virtual void colourMapToJet (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Jet.
 
virtual void colourMapToNIH (double minRange=0.0, double maxRange=0.0)
 Change the colour map to NIH.
 
virtual void colourMapToNIH_Fire (double minRange=0.0, double maxRange=0.0)
 Change the colour map to NIH Fire.
 
virtual void colourMapToAAL (double minRange=0.0, double maxRange=0.0)
 Change the colour map to AAL.
 
virtual void colourMapToFS (double minRange=0.0, double maxRange=0.0)
 Change the colour map to FS (FreeSurfer)
 
virtual void colourMapToHOT (double minRange=0.0, double maxRange=0.0)
 Change the colour map to HOT.
 
virtual void colourMapToCOOL (double minRange=0.0, double maxRange=0.0)
 Change the colour map to COOL.
 
virtual void colourMapToCOOLWARM (double minRange=0.0, double maxRange=0.0)
 Change the colour map to COOL.
 
virtual void colourMapToKnee (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Knee.
 
virtual void colourMapToBone (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Bone.
 
virtual void colourMapToSpectral (double minRange=0.0, double maxRange=0.0)
 Change the colour map to Spectral.
 
virtual void colourMapToGNUPlot (double minRange=0.0, double maxRange=0.0)
 Change the colour map to GNUPlot.
 
virtual void colourMapToCubeHelix (double minRange=0.0, double maxRange=0.0)
 Change the colour map to CubeHelix.
 
virtual void colourMapToHSV (double minRange=0.0, double maxRange=0.0)
 Change the colour map to HSV.
 
virtual void updateLookupTable ()
 Implement this into your derived class to ensure the new colourmap is passed on to your viewing data (image, model etc.)
 
void generateRender ()
 Generate the render so it is ready for display. Should be called before showing the window. More...
 
void setCustomActionGroup (QActionGroup *actionGrp)
 Set the action group for the menu with custom connections.
 
void createCustomConnections (QList< QAction *> actionsInMenu)
 
void createCustomConnections (QMenu *fromMenu)
 Create a series of connections on each action in group which will be placed into the context menu.
 
virtual void customOperation ()
 Custom operation, data dependent for viewing in unified environment. By default, this allows importing of actors into the current views. More...
 
virtual void createMenu (QMenu *menu)
 Create the menu for the data in this object. Used for context menu and file menus. More...
 
bool openModelUsingQt (const QString filename, vtkSmartPointer< vtkPolyData > &data)
 Opens a model file using Qt file objects, which can be a Wavefront Object file (*.obj) only. This member is intended to be used with the Qt resource system. More...
 
- Public Slots inherited from milxQtWindow
void setName (const QString filename)
 Set the name of the data.
 
QString getName ()
 Returns the name of the data.
 
void rename ()
 Renames the data.
 
QString strippedName ()
 Returns the stripped (path removed) name of the data.
 
QString strippedBaseName ()
 Returns the stripped (path removed) base (no suffix) name of the data.
 
virtual QString strippedNamePrefix ()
 Returns the stripped (path removed) name of the data with "Generic" prefix. More...
 
void setNamePrefix (const QString newPrefix)
 Sets the prefix of the name of the data provided.
 
void addToContextMenu (QAction *act)
 Adds (prepends) the action to the context menu. Connections are assumed to be made before hand.
 
void appendToContextMenu (QAction *act)
 Adds (appends) the action to the context menu. Connections are assumed to be made before hand.
 
void addToContextMenu (QMenu *newMenu)
 Adds the menu to the context menu. Connections are assumed to be made before hand.
 
void addExtensionAction (QAction *act)
 Adds (in extension section) the action as an extension action. Connections are assumed to be made before hand.
 
void addMenuToContextMenu (QMenu *newMenu)
 Adds (prepends) the menu to the context menu. Connections are assumed to be made before hand.
 
void appendMenuToContextMenu (QMenu *newMenu)
 Adds (appends) the menu to the context menu. Connections are assumed to be made before hand.
 
virtual void copyToContextMenu (QMenu *copyMenu)
 Copies the menu, by duplicating the entries, to the context menu. Connections are assumed to be made before hand.
 
void setVerboseMode (bool verbose)
 Verbose mode for message output.
 
void setDeletableOnClose (bool delOnClose)
 Set if the window deletable on close. Default is true.
 
bool isDeletableOnClose ()
 Is the window deletable on close?
 
void setConsole (milxQtConsole *con)
 Set the console for log output.
 
void consumeVTKEvent (vtkObject *obj, unsigned long, void *client_data, void *, vtkCommand *command)
 Consume the event so that VTK interactor style doesn't get it. Safeguard for if remove observer directives have missed some bindings.
 
void updateQtEvents ()
 Update the Qt events, used to keep UI responsive.
 

Signals

void imageAvailable (vtkImageData *, QString)
 Send signal that an image is available for showing.
 
void modelAvailable (vtkPolyData *, QString)
 Send signal that an surface etc. is available for showing.
 
void tableToPlot (vtkSmartPointer< vtkTable >, QString)
 Emit signal to show the table as a plot.
 
void modified (vtkSmartPointer< vtkImageActor >)
 Emit signal to allow updating of image actors if present.
 
- Signals inherited from milxQtWindow
void closing (QWidget *win)
 Send signal that the window is closing.
 
void nameChanged (const QString newName)
 Send signal that the data has been renamed.
 
void working (int value)
 Send signal that computation is in progress. Value carries the progress,.
 
void done (int value)
 Send signal that computation is done. Value carries the progress,.
 

Public Member Functions

 milxQtRenderWindow (QWidget *theParent=0, bool contextSystem=true)
 The standard constructor. More...
 
virtual ~milxQtRenderWindow ()
 The standard destructor.
 
void contextMenuSystem (bool context)
 Disable/enable context menu system, should be on by default otherwise VTK will steal all right click events. More...
 
void AddActor (vtkSmartPointer< vtkProp > actor)
 Add a VTK actor to this window.
 
void AddVolume (vtkSmartPointer< vtkVolume > actor)
 Add a VTK volume to this window.
 
void AddActor2D (vtkSmartPointer< vtkProp > actor)
 Add a VTK actor to this window.
 
void SetActor (vtkSmartPointer< vtkProp > actor)
 Add a VTK actor to this window. Alias for AddActor.
 
void SetActor2D (vtkSmartPointer< vtkProp > actor)
 Add a VTK actor to this window. Alias for AddActor2D.
 
void SetBackground (double red, double green, double blue)
 Set the background of the display window.
 
void SetSize (int height, int width)
 Set the size of the display window.
 
void SetLookupTable (vtkSmartPointer< vtkLookupTable > lut)
 Set the lookup table of the colours in display window.
 
void RemoveAllActors ()
 Remove all VTK actors from this window.
 
void RemoveActor (vtkSmartPointer< vtkProp > actor)
 Remove the VTK actor from this window.
 
void RemoveActor2D (vtkSmartPointer< vtkProp > actor)
 Remove the VTK 2D actor from this window.
 
vtkActorCollection * GetActors ()
 Get all the actors in the render window.
 
vtkVolumeCollection * GetVolumes ()
 Get all the actors in the render window.
 
virtual vtkImageActor * GetImageActor ()
 Get the image actors, Implement in derived class that uses images.
 
vtkLookupTable * GetLookupTable ()
 Get the lookup table of the colours in display window.
 
void SetScalarBar (vtkScalarBarActor *bar)
 Get the scalar bar of the display window.
 
vtkScalarBarActor * GetScalarBar ()
 Get the scalar bar of the display window.
 
void GetBackground (double &red, double &green, double &blue)
 Get the background of the display window.
 
virtual vtkDataSet * GetDataSet ()
 Get the data, Implement in derived class that uses data derived from vtkDataSet, like vtkPolyData or vtkImageData. More...
 
void SetRenderer (vtkRenderer *rnder)
 Assigns a VTK Renderer object.
 
vtkRenderer * GetRenderer ()
 Returns the VTK Renderer object.
 
virtual vtkRenderWindowInteractor * GetVTKInteractor ()
 Get the interactor associated with the view rendering.
 
void OffScreenRenderingOn ()
 Enable off-screen rendering, which is faster for large datasets in some instances.
 
void OffScreenRenderingOff ()
 Disable off-screen rendering, which is faster for large datasets in some instances.
 
void Render ()
 Force Render or Update of the display.
 
void enableUpdates (QStatusBar *bar)
 Enables the update of coordinates to the status bar provided directly. Update is done on mouse movement.
 
- Public Member Functions inherited from milxQtWindow
 milxQtWindow (QWidget *theParent=0)
 The standard constructor. More...
 
virtual ~milxQtWindow ()
 The standard destructor.
 

Protected Member Functions

void createActions ()
 Create the actions for context menu etc.
 
void createConnections ()
 Create the connections for context menu etc.
 
void contextMenuEvent (QContextMenuEvent *event)
 The context menu setup member. More...
 
QMenu * colourMapsMenu ()
 Return the colourmaps menu with the milxQtRenderWindow class ordering. This is for the benefit of derived class context menus and/or extensions.
 
void dragMoveEvent (QDragMoveEvent *event)
 Part of the Drag and Drop feature members. Accepts drags.
 
void dragLeaveEvent (QDragLeaveEvent *event)
 Part of the Drag and Drop feature members. Accepts drags.
 
void dragEnterEvent (QDragEnterEvent *event)
 Part of the Drag and Drop feature members. Tells what drags to accept.
 
void mouseDoubleClickEvent (QMouseEvent *event)
 Part of the Drag and Drop feature members. Triggers the dragging on double click.
 
void dropEvent (QDropEvent *event)
 Part of the Drag and Drop feature members. Opens the dropped files.
 
virtual void SetupWidgets (vtkRenderWindowInteractor *interactor)
 Update the interactor so that the widgets are usable. Call this if you change the render window or interator manually.
 
void setupHumanGlyph (vtkSmartPointer< vtkMatrix4x4 > mat=NULL)
 Setup the human orientation glyph even if some transform if present between glyph and view.
 
- Protected Member Functions inherited from milxQtWindow
void createConnections ()
 Create the connections for context menu etc.
 
void closeEvent (QCloseEvent *clEvent)
 When closing, execute this member.
 
void printError (QString msg)
 Error message wrapper for console.
 
void printWarning (QString msg)
 Warning message wrapper for console.
 
void printDebug (QString msg)
 Debug message wrapper for console.
 
void printInfo (QString msg)
 Info message wrapper for console.
 

Protected Attributes

bool loaded
 Loaded Image from file?
 
bool rendered
 Scene as been setup for rendering? (by generateRender())
 
bool axesBefore
 Axes displayed?
 
bool scaleBefore
 scale displayed?
 
bool customScalarBar
 
bool logScale
 Using custom scalar bar?
 
bool useDefaultView
 Using log scalar map? More...
 
bool orientationAxes
 Display orientation (posterior etc.) axes?
 
bool contextMenuEnabled
 Display orientation (posterior etc.) axes?
 
int defaultView
 Default view for data (default is axial)
 
int currentView
 Current view for data.
 
int orientationView
 view orientation standard
 
QMenu * windowPropertiesMenu
 Context Menu.
 
QAction * backgroundAct
 Action for axes of the display.
 
QAction * axesAct
 Action for axes of the display.
 
QAction * lightingAct
 Action for two-sided lighting of the display.
 
QAction * lineAct
 Action for distance measuring display.
 
QAction * distanceAct
 Action for distance measuring display.
 
QAction * biDirectionAct
 Action for cross distance measuring display.
 
QAction * angleAct
 Action for angle measuring display.
 
QAction * planeAct
 Action for drawing planes.
 
QAction * boxAct
 Action for box drawing display.
 
QAction * sphereAct
 Action for sphere annotate display.
 
QAction * humanAct
 Show human view orientation glyph?
 
QAction * textAct
 Action for angle measuring display.
 
QAction * crosshairAct
 Action for crosshair.
 
QMenu * contourMenu
 Contour Menu.
 
QAction * contourAct
 Action for contouring surface points using Dijkstras algorithm.
 
QAction * contourPolyDataAct
 Save contour surface points as polydata.
 
QAction * contourNodePolyDataAct
 Save contour surface nodes as polydata.
 
QAction * contourInitAct
 Load contour surface points from polydata.
 
QMenu * viewMenu
 Context Menu.
 
QActionGroup * viewGroup
 Grouping for check boxes.
 
QAction * viewXY
 Change view to xy-plane (Axial)
 
QAction * viewZY
 Change view to zy-plane (Coronal)
 
QAction * viewZX
 Change view to zx-plane (Sagittal)
 
QAction * saveViewAct
 Save camera view.
 
QAction * loadViewAct
 Load camera view.
 
QAction * saveViewFileAct
 Save camera view to file.
 
QAction * loadViewFileAct
 Load camera view to file.
 
QAction * scaleAct
 Action for the scale bar of the display.
 
QMenu * colourMapMenu
 Colour map menu.
 
QActionGroup * mapGroup
 Grouping for check boxes.
 
QAction * actionDefault
 Default colours.
 
QAction * actionJet
 Jet colours.
 
QAction * actionRainbow
 Default colours.
 
QAction * actionInvRainbow
 Inv Default colours.
 
LabelledActionactionGray
 Gray colours.
 
LabelledActionactionSeismic
 Gray2 colours.
 
QAction * actionLogGray
 Logarithmic Gray colours.
 
QAction * actionNIH
 NIH colours.
 
QAction * actionNIH_FIRE
 NIH_FIRE colours.
 
QAction * actionAAL
 AAL colours.
 
QAction * actionFS
 FS colours.
 
LabelledActionactionHOT
 HOT colours.
 
QAction * actionCOOL
 COOL colours.
 
LabelledActionactionCOOLWARM
 COOL colours.
 
QAction * actionKnee
 Knee colours.
 
LabelledActionactionBone
 Spectral colours.
 
LabelledActionactionSpectral
 Spectral colours.
 
LabelledActionactionGNUPlot
 GNUPlot colours.
 
LabelledActionactionCubeHelix
 Cube Helix colours.
 
LabelledActionactionHSV
 Cube Helix colours.
 
QAction * resetAct
 Action for refreshing the display.
 
QAction * refreshAct
 Action for refreshing the display.
 
QPoint dragStartPosition
 Dragging helper variable.
 
vtkSmartPointer< vtkEventQtSlotConnect > Connector
 VTK Events to slots convertor.
 
vtkSmartPointer< vtkMatrix4x4 > transformMatrix
 Transform matrix for actor(s)
 
vtkSmartPointer< vtkRenderer > renderer
 Renderer for the data.
 
vtkSmartPointer< vtkRenderWindow > renderWindow
 Render Window used if no other set, only for deletion, access through QVTKWidget members.
 
vtkSmartPointer< vtkLookupTable > lookupTable
 Lookup table for the shapes/images, base class is used to allow references to different look up table types.
 
vtkSmartPointer< vtkCamera > camera
 camera for the view
 
vtkSmartPointer< vtkScalarBarActor > scale
 Scale for the display.
 
vtkSmartPointer< vtkScalarBarWidget > scalarBar
 Scalar Bar Widget for the display.
 
vtkSmartPointer< vtkAxesActor > axes
 Axes for the model.
 
vtkSmartPointer< vtkAxesActor > orientAxes
 Orientation (posterior etc.) axes for the orientation marker.
 
vtkSmartPointer< vtkPointPicker > dataPicker
 For determining coordinates and points from the window.
 
vtkSmartPointer< vtkContourWidget > contourWidget
 contour interaction
 
vtkSmartPointer< vtkLineWidget2 > lineWidget
 Used for drawing lines.
 
vtkSmartPointer< vtkDistanceWidget > distanceWidget
 Used for measuring distances.
 
vtkSmartPointer< vtkBiDimensionalWidget > biDirectionWidget
 Used for measuring cross distances.
 
vtkSmartPointer< vtkAngleWidget > angleWidget
 Used for measuring angles.
 
vtkSmartPointer< vtkPlaneWidget > planeWidget
 Used for drawing planes.
 
vtkSmartPointer< vtkBoxWidget2 > boxWidget
 Used for measuring angles.
 
vtkSmartPointer< vtkSphereRepresentation > sphereRep
 Sphere for widgets.
 
vtkSmartPointer< vtkSphereWidget2 > sphereWidget
 Used for measuring angles.
 
vtkSmartPointer< vtkOrientationMarkerWidget > humanGlyph
 Glyph for showing equivalent view on human.
 
QList< vtkSmartPointer< vtkTextWidget > > textWidgets
 Used for displaying movable texts in render window.
 
QList< vtkSmartPointer< vtkTextActor > > textActors
 text actors for text widgets
 
QList< ImageActorItemimageActors
 Images actors being displayed in model view.
 
QStatusBar * updateBar
 Pointer to bar, not allocated or deleted. To be passed to only.
 
QActionGroup * windowActionGroup
 used for the custom menu
 
- Protected Attributes inherited from milxQtWindow
QString name
 Name of the data.
 
QString prefix
 Prefix of the data.
 
bool verboseMode
 Verbose message output mode.
 
bool deletableOnClose
 Delete on close allowed? Allowed by default.
 
bool consoleAssigned
 Console assigned for output?
 
QMenu * contextMenu
 Context Menu.
 
QList< QAction * > actionsToAdd
 Context actions to add.
 
QList< QAction * > actionsToAppend
 Context actions to append.
 
QList< QAction * > extActionsToAdd
 Extension actions to add.
 
QList< QMenu * > menusToAdd
 Context Menu's to add.
 
QList< QMenu * > menusToAppend
 Context Menu's to append.
 
milxQtConsoleconsole
 Console for log outputs.
 

Detailed Description

This class represents the MILX Qt Render Window Display object using QVTK.

Author
Shekhar S. Chandra, 2013

This is a base class for VTK windows. It encapsulates all the basic properties of VTK displays. You should use the milxQtModel milxQtImage etc. classes instead of this class.

Usage Examples: Displaying a sphere

vtkSmartPointer<vtkSphereSource> sphere = vtkSmartPointer<vtkSphereSource>::New();
sphere->SetThetaResolution(32);
sphere->SetPhiResolution(32);
sphere->SetRadius(10.0);
sphere->Update();
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(sphere->GetOutputPort());
vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
renderWin->setName("Sphere");
renderWin->AddActor(actor);
renderWin->generateRender();
renderWin->show();

Notice how in the above example requires a lot of VTK code. This is further reduced by using milxQtModel, when displaying models.

The rendering is encapsulated within a milxQtWindow widget.

Definition at line 126 of file milxQtRenderWindow.h.

Constructor & Destructor Documentation

◆ milxQtRenderWindow()

milxQtRenderWindow::milxQtRenderWindow ( QWidget *  theParent = 0,
bool  contextSystem = true 
)

The standard constructor.

Init

Allocate critical aspects

Definition at line 45 of file milxQtRenderWindow.cpp.

Member Function Documentation

◆ addActor

void milxQtRenderWindow::addActor ( vtkSmartPointer< vtkActor >  imgActor,
vtkMatrix4x4 *  transformMatrix = NULL 
)
slot

Directly add actor to generic view with transform matrix.

< transfer actor to current render

Definition at line 647 of file milxQtRenderWindow.cpp.

◆ addImageActor

void milxQtRenderWindow::addImageActor ( vtkSmartPointer< vtkImageActor >  imgActor,
vtkMatrix4x4 *  transformMatrix = NULL 
)
slot

Directly add image actor to generic view.

Here we use the Qt signals and slots directly as it was found that the VTK-Qt connector caused problems

Definition at line 656 of file milxQtRenderWindow.cpp.

◆ addModelActor

void milxQtRenderWindow::addModelActor ( vtkSmartPointer< vtkActor >  mdlActor)
slot

Directly add model actor to generic view.

< transfer model actor to current render

Definition at line 633 of file milxQtRenderWindow.cpp.

◆ contextMenuEvent()

void milxQtRenderWindow::contextMenuEvent ( QContextMenuEvent *  event)
protected

The context menu setup member.

< Only exists for the duration of the context selection

Definition at line 1957 of file milxQtRenderWindow.cpp.

◆ contextMenuSystem()

void milxQtRenderWindow::contextMenuSystem ( bool  context)

Disable/enable context menu system, should be on by default otherwise VTK will steal all right click events.

Also sets up render window object and widgets.

WARNING: Use this caarefully and straight after creation.

Force Stereo Render off

Force Error reporting

Performance

Unbind the right mouse button events as Qt uses context menu.

Definition at line 91 of file milxQtRenderWindow.cpp.

◆ contourInitFromPolyData

void milxQtRenderWindow::contourInitFromPolyData ( QString  filename = "")
slot

Load contour from polydata/model.

<

Todo:
Check and validate extensions support at Open in Main class

Definition at line 252 of file milxQtRenderWindow.cpp.

◆ createMenu

void milxQtRenderWindow::createMenu ( QMenu *  menu)
virtualslot

Create the menu for the data in this object. Used for context menu and file menus.

Change View of Volume

Definition at line 1473 of file milxQtRenderWindow.cpp.

◆ customOperation

void milxQtRenderWindow::customOperation ( )
virtualslot

Custom operation, data dependent for viewing in unified environment. By default, this allows importing of actors into the current views.

Default Implementation involves handling generic actors and image actor only. Implement further in child class.

Here we use the Qt signals and slots directly as it was found that the VTK-Qt connector caused problems with the image actors.

< transfer model actor to current model

Keep UI responsive

Definition at line 1427 of file milxQtRenderWindow.cpp.

◆ disableDefaultView

milxQtRenderWindow::disableDefaultView ( )
inlineslot

Disables the default view whenever data is process or displayed. Enabled by default.

Enables the default view whenever data is process or displayed. Enabled by default.

Used in the derived classes in general.

Definition at line 591 of file milxQtRenderWindow.h.

◆ enableScale

milxQtRenderWindow::enableScale ( QString  title = "",
const bool  quiet = false,
double  minRange = 0.0,
double  maxRange = 0.0,
int  noOfLabels = 3 
)
inlinevirtualslot

Enable scale bar display with the title provided.

Quiet Boolean is to prevent possible popups to ask user parameters.

Definition at line 626 of file milxQtRenderWindow.h.

◆ generateRender

void milxQtRenderWindow::generateRender ( )
slot

Generate the render so it is ready for display. Should be called before showing the window.

Consider using refresh() or reset() to regenerate the view rather than this member for performance reasons. You should only need to call this member once.

Create the renderer for the actor

Create the Render Window with renderer

Resize Window

Definition at line 1377 of file milxQtRenderWindow.cpp.

◆ GetDataSet()

virtual vtkDataSet* milxQtRenderWindow::GetDataSet ( )
inlinevirtual

Get the data, Implement in derived class that uses data derived from vtkDataSet, like vtkPolyData or vtkImageData.

Useful for getting scalar range etc.

Reimplemented in milxQtImage, milxQtModel, and milxQtPlot.

Definition at line 307 of file milxQtRenderWindow.h.

◆ getDefaultOrientation

milxQtRenderWindow::getDefaultOrientation ( )
inlineslot

Get the orientation mode to one of the supported standards.

0-Radiological: Feet first view 1-Neurological: Head first view

Definition at line 556 of file milxQtRenderWindow.h.

◆ importFrom

void milxQtRenderWindow::importFrom ( milxQtRenderWindow windowToImportFrom)
slot

Import actors/scene directly from another renderwindow.

Here we use the Qt signals and slots directly as it was found that the VTK-Qt connector caused problems with the image actors.

< transfer model actor to current model

Keep UI responsive

Definition at line 860 of file milxQtRenderWindow.cpp.

◆ openModelUsingQt

bool milxQtRenderWindow::openModelUsingQt ( const QString  filename,
vtkSmartPointer< vtkPolyData > &  data 
)
slot

Opens a model file using Qt file objects, which can be a Wavefront Object file (*.obj) only. This member is intended to be used with the Qt resource system.

Only supports triangulated meshes atm. This is useful for support for 'qrc:/' and ':/' paths, hence allowing meshes to be stored within the executable binary. Returns true if successful.

tri's only

Todo:
generalise

Definition at line 1532 of file milxQtRenderWindow.cpp.

◆ removeImageActor

void milxQtRenderWindow::removeImageActor ( vtkSmartPointer< vtkImageActor >  imgActor)
slot

Directly remove image actor from generic view.

< remove model actor to current render

Definition at line 837 of file milxQtRenderWindow.cpp.

◆ removeModelActor

void milxQtRenderWindow::removeModelActor ( vtkSmartPointer< vtkActor >  mdlActor)
slot

Directly remove model actor from generic view.

< remove model actor to current render

Definition at line 640 of file milxQtRenderWindow.cpp.

◆ scaleDisplay

milxQtRenderWindow::scaleDisplay ( const bool  forceDisplay = false)
inlinevirtualslot

Toggles the scale bar display.

forceDisplay Boolean is to overide possible previous settings and display bar.

Definition at line 660 of file milxQtRenderWindow.h.

◆ setDefaultOrientation

milxQtRenderWindow::setDefaultOrientation ( int  orientMode)
inlineslot

Change orientation mode to one of the supported standards. Default: Radiological.

0-Radiological: Feet first view 1-Neurological: Head first view

Definition at line 565 of file milxQtRenderWindow.h.

◆ setView

void milxQtRenderWindow::setView ( int  viewMode)
slot

Change view to view mode identified by number. 0-axial, 1-coronal, 2-sagittal.

Saves the camera details to internal variables that can be restore anytime with loadView().

Definition at line 483 of file milxQtRenderWindow.cpp.

◆ updateCoords

void milxQtRenderWindow::updateCoords ( vtkObject *  obj)
virtualslot

Picks the coordinates and pixel value from the current mouse position in the window.

Get interactor

Get event position Code initial by Mark Wyszomierski 2003-2007 @ devsample Modified by Shekhar Chandra Do the pick. It will return a non-zero value if we intersected the image.

Write message to status bar

Definition at line 1606 of file milxQtRenderWindow.cpp.

Member Data Documentation

◆ useDefaultView

bool milxQtRenderWindow::useDefaultView
protected

Using log scalar map?

Use default view whenever possible?

Definition at line 843 of file milxQtRenderWindow.h.


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