├── .gitignore ├── 3rdParty.txt ├── AUTHORS ├── CMakeLists.txt ├── CMakeModules ├── AddLibMacros.cmake ├── AddMacros.cmake ├── ApplicationMacros.cmake ├── FindBullet.cmake ├── FindDCMTK.cmake ├── FindEigen.cmake ├── FindFlann.cmake ├── FindGLAD.cmake ├── FindGLEW.cmake ├── FindGridCut.cmake ├── FindIconv.cmake ├── FindOSG.cmake ├── FindOpenCTM.cmake ├── FindOpenMesh.cmake ├── FindOpenSSL.cmake ├── FindOurCURL.cmake ├── FindOurGDCM.cmake ├── FindOurPNG.cmake ├── FindPythonCppInterop.cmake ├── FindTinyXML.cmake ├── FindTinyXML2.cmake ├── FindVPL.cmake ├── FindXlab.cmake ├── FindZLIB.cmake ├── InstallMacros.cmake ├── ScanLibs.cmake ├── UtilityMacros.cmake └── Warnings.cmake ├── LICENSE ├── NOTICE ├── README.md ├── applications └── 3DimViewer │ ├── CMakeLists.txt │ ├── ChangeLog.txt │ ├── appicon.rc │ ├── bin │ └── dummy.txt │ ├── dependency_manifest.txt │ ├── doc │ ├── gaugeplugin.pdf │ ├── help.pdf │ └── help_cs_cz.pdf │ ├── doxygen │ ├── 3DimViewer.chm │ ├── 3DimViewer4.dox │ └── T3DLogo.png │ ├── fonts │ ├── Vera.ttf │ └── arial.ttf │ ├── icons │ └── 3dim.ico │ ├── include │ ├── AppConfigure.h │ ├── AppVersion.h │ ├── C3DimApplication.h │ ├── CAppExamination.h │ ├── CCustomUI.h │ ├── CDataInfoDialog.h │ ├── CDicomTransferDialog.h │ ├── CFilterDialog.h │ ├── CModelVisualizerEx.h │ ├── CPreviewDialog.h │ ├── CPreviewDialogData.h │ ├── CRegion3DPreviewManager.h │ ├── CRegion3DPreviewVisualizer.h │ ├── CSysInfo.h │ ├── CZipLoader.h │ ├── Signals.h │ ├── cinfodialog.h │ ├── cpreferencesdialog.h │ ├── cseriesselectiondialog.h │ ├── cvolumelimiterdialog.h │ ├── densitywindowwidget.h │ ├── mainwindow.h │ ├── modelswidget.h │ ├── orthosliceswidget.h │ ├── qtcompat.h │ ├── segmentationwidget.h │ ├── volumerenderingwidget.h │ └── zip │ │ ├── crypt.h │ │ ├── ioapi.h │ │ ├── iowin32.h │ │ ├── mztools.h │ │ ├── unzip.h │ │ └── zip.h │ ├── locale │ ├── autosegandfilteringplugin-cs_cz.qm │ ├── cs_cz.qm │ ├── dataexpressplugin-cs_cz.qm │ ├── datashiftplugin-cs_cz.qm │ ├── demoplugin-cs_cz.qm │ ├── dummy.txt │ ├── experimentalsegplugin-cs_cz.qm │ ├── gaugeplugin-cs_cz.qm │ ├── loadpythonplugin-cs_cz.qm │ ├── lookuptableeditorplugin-cs_cz.qm │ ├── machinesegmentation-cs_cz.qm │ ├── manualseg3dplugin-cs_cz.qm │ ├── manualsegplugin-cs_cz.qm │ ├── modelcreateplugin-cs_cz.qm │ ├── notesplugin-cs_cz.qm │ ├── pythonplugin-cs_cz.qm │ ├── regionandmodelcontrol-cs_cz.qm │ ├── regionandmodelcontrolplugin-cs_cz.qm │ ├── scriptvolume-cs_cz.qm │ ├── scriptvolumeplugin-cs_cz.qm │ ├── segtosmallregionsplugin-cs_cz.qm │ └── volumepythonscriptingplugin-cs_cz.qm │ ├── manifest.xml │ ├── models │ ├── assistant_axis_x.stl │ ├── assistant_axis_y.stl │ ├── assistant_axis_z.stl │ └── assistant_body.stl │ ├── plugins │ ├── .gitignore │ └── dummy.txt │ ├── pluginsd │ ├── .gitignore │ └── dummy.txt │ ├── python │ ├── VPLSwig │ │ ├── Core │ │ │ ├── Channel.py │ │ │ ├── Core.py │ │ │ ├── Geometry.py │ │ │ ├── _Channel.pyd │ │ │ ├── _Core.pyd │ │ │ ├── _Geometry.pyd │ │ │ └── __init__.py │ │ ├── Image │ │ │ ├── IO.py │ │ │ ├── Image.py │ │ │ ├── ImageFilters.py │ │ │ ├── ImageFunctions.py │ │ │ ├── _IO.pyd │ │ │ ├── _Image.pyd │ │ │ ├── _ImageFilters.pyd │ │ │ ├── _ImageFunctions.pyd │ │ │ └── __init__.py │ │ ├── VPLPython.py │ │ ├── Volume │ │ │ ├── Volume.py │ │ │ ├── VolumeFilters.py │ │ │ ├── VolumeFunctions.py │ │ │ ├── _Volume.pyd │ │ │ ├── _VolumeFilters.pyd │ │ │ ├── _VolumeFunctions.pyd │ │ │ └── __init__.py │ │ ├── _VPLPython.pyd │ │ └── __init__.py │ └── interpret │ │ ├── .gitignore │ │ └── dump.txt │ ├── resources.qrc │ ├── resources │ ├── 3d_window2.png │ ├── arrow_redo.png │ ├── arrow_redo_menu.png │ ├── arrow_undo.png │ ├── arrow_undo_menu.png │ ├── autoseg.png │ ├── autosegicon.png │ ├── cog.png │ ├── cog_menu.png │ ├── delete.png │ ├── delete_menu.png │ ├── density_window.png │ ├── density_window2.png │ ├── density_window_dock.png │ ├── disk.png │ ├── disk_menu.png │ ├── dock_icon_close.png │ ├── dock_icon_maximize.png │ ├── dock_icon_pin.png │ ├── dock_icon_restore.png │ ├── dock_icon_screenshot.png │ ├── dock_icon_unpin.png │ ├── dock_icon_visibility.png │ ├── dropper.png │ ├── error.png │ ├── error_menu.png │ ├── exclamination.png │ ├── exclamination_menu.png │ ├── folder_open_arrow.png │ ├── folder_open_arrow_menu.png │ ├── folder_open_up.png │ ├── folder_open_up_gray.png │ ├── folder_open_up_gray_menu.png │ ├── folder_open_up_menu.png │ ├── fullscreen.png │ ├── help.png │ ├── help_menu.png │ ├── icon3d.png │ ├── iconxy.png │ ├── iconxz.png │ ├── iconyz.png │ ├── information.png │ ├── information_menu.png │ ├── magnifier.png │ ├── magnifier_menu.png │ ├── measure_density.png │ ├── measure_density_menu.png │ ├── measure_distance.png │ ├── measure_distance_menu.png │ ├── models.png │ ├── models_dock.png │ ├── normal_slice.png │ ├── ortho_slices_window.png │ ├── ortho_slices_window_dock.png │ ├── ortho_slices_window_menu.png │ ├── page.png │ ├── page_menu.png │ ├── page_multiple.png │ ├── page_multiple_menu.png │ ├── page_white.png │ ├── page_white_menu.png │ ├── printer.png │ ├── printer_menu.png │ ├── regions.png │ ├── segmentation_window.png │ ├── segmentation_window_dock.png │ ├── segmentation_window_menu.png │ ├── show_bone_model.png │ ├── show_bone_model_menu.png │ ├── show_volume_rendering.png │ ├── show_volume_rendering_menu.png │ ├── show_xy_slice3.png │ ├── show_xy_slice3_menu.png │ ├── show_xz_slice3.png │ ├── show_xz_slice3_menu.png │ ├── show_yz_slice3.png │ ├── show_yz_slice3_menu.png │ ├── slice_move.png │ ├── slice_move_menu.png │ ├── star.png │ ├── star_menu.png │ ├── tick.png │ ├── tick_gray.png │ ├── tick_gray_menu.png │ ├── tick_menu.png │ ├── trackball.png │ ├── trackball_menu.png │ ├── user.png │ ├── user_menu.png │ ├── volume_rendering_window2.png │ ├── volume_rendering_window2_dock.png │ ├── volume_rendering_window2_menu.png │ ├── xy_ortho_window2.png │ ├── xy_ortho_window2_menu.png │ ├── xz_ortho_window2.png │ ├── xz_ortho_window2_menu.png │ ├── yz_ortho_window2.png │ └── yz_ortho_window2_menu.png │ ├── shaders2 │ ├── add.frag │ ├── fbo.frag │ ├── fsquad.vert │ ├── lookup01.rgba │ ├── lookup02.rgba │ ├── lookup03.rgba │ ├── lookup04.rgba │ ├── lookup05.rgba │ ├── lookup06.rgba │ ├── lookup07.rgba │ ├── lookup08.rgba │ ├── max.frag │ ├── noise.gray │ ├── resize2.frag │ ├── shade.frag │ ├── simple.vert │ ├── suma.frag │ └── surface.frag │ ├── src │ ├── CAppExamination.cpp │ ├── CCustomUI.cpp │ ├── CDataInfoDialog.cpp │ ├── CDicomTransferDialog.cpp │ ├── CFilterDialog.cpp │ ├── CModelVisualizerEx.cpp │ ├── CPreviewDialog.cpp │ ├── CRegion3DPreviewManager.cpp │ ├── CRegion3DPreviewVisualizer.cpp │ ├── CSysInfo.cpp │ ├── cinfodialog.cpp │ ├── cpreferencesdialog.cpp │ ├── cseriesselectiondialog.cpp │ ├── cvolumelimiterdialog.cpp │ ├── densitywindowwidget.cpp │ ├── main.cpp │ ├── mainwindow.cpp │ ├── modelswidget.cpp │ ├── orthosliceswidget.cpp │ ├── segmentationwidget.cpp │ ├── volumerenderingwidget.cpp │ └── zip │ │ ├── ioapi.cpp │ │ ├── iowin32.cpp │ │ ├── mztools.cpp │ │ ├── unzip.cpp │ │ └── zip.cpp │ ├── svg │ ├── 3d_window2.svg │ ├── 3dim.svg │ ├── arb_window.svg │ ├── arrow_redo.svg │ ├── arrow_redo_menu.svg │ ├── arrow_undo.svg │ ├── arrow_undo_menu.svg │ ├── autoseg.svg │ ├── autosegicon.svg │ ├── cog.svg │ ├── cog_menu.svg │ ├── delete.svg │ ├── delete_menu.svg │ ├── density_window.svg │ ├── density_window2.svg │ ├── density_window_dock.svg │ ├── disk.svg │ ├── disk_menu.svg │ ├── dock_icon_close.svg │ ├── dock_icon_maximize.svg │ ├── dock_icon_pin.svg │ ├── dock_icon_restore.svg │ ├── dock_icon_screenshot.svg │ ├── dock_icon_unpin.svg │ ├── dock_icon_visibility.svg │ ├── dropper.svg │ ├── error.svg │ ├── error_menu.svg │ ├── exclamination.svg │ ├── exclamination_menu.svg │ ├── folder_open_arrow.svg │ ├── folder_open_arrow_menu.svg │ ├── folder_open_up.svg │ ├── folder_open_up_gray.svg │ ├── folder_open_up_gray_menu.svg │ ├── folder_open_up_menu.svg │ ├── fullscreen.svg │ ├── help.svg │ ├── help_menu.svg │ ├── icon3d.svg │ ├── iconarb.svg │ ├── iconxy.svg │ ├── iconxz.svg │ ├── iconyz.svg │ ├── information.svg │ ├── information_menu.svg │ ├── magnifier.svg │ ├── magnifier_menu.svg │ ├── magnifier_small.svg │ ├── measure_density.svg │ ├── measure_density_menu.svg │ ├── measure_distance.svg │ ├── measure_distance_menu.svg │ ├── models.svg │ ├── models_dock.svg │ ├── normal_slice.svg │ ├── ortho_slices_window.svg │ ├── ortho_slices_window_dock.svg │ ├── ortho_slices_window_menu.svg │ ├── page.svg │ ├── page_menu.svg │ ├── page_multiple.svg │ ├── page_multiple_menu.svg │ ├── page_white.svg │ ├── page_white_menu.svg │ ├── printer.svg │ ├── printer_menu.svg │ ├── regions.svg │ ├── segmentation_window.svg │ ├── segmentation_window_dock.svg │ ├── segmentation_window_menu.svg │ ├── show_bone_model.svg │ ├── show_bone_model_menu.svg │ ├── show_volume_rendering.svg │ ├── show_volume_rendering_menu.svg │ ├── show_xy_slice3.svg │ ├── show_xy_slice3_menu.svg │ ├── show_xz_slice3.svg │ ├── show_xz_slice3_menu.svg │ ├── show_yz_slice3.svg │ ├── show_yz_slice3_menu.svg │ ├── slice_move.svg │ ├── slice_move_menu.svg │ ├── splash.svg │ ├── star.svg │ ├── star_menu.svg │ ├── tick.svg │ ├── tick_gray.svg │ ├── tick_gray_menu.svg │ ├── tick_menu.svg │ ├── trackball.svg │ ├── trackball_menu.svg │ ├── user.svg │ ├── user_menu.svg │ ├── volume_rendering_window2.svg │ ├── volume_rendering_window2_dock.svg │ ├── volume_rendering_window2_menu.svg │ ├── xy_ortho_window2.svg │ ├── xy_ortho_window2_menu.svg │ ├── xz_ortho_window2.svg │ ├── xz_ortho_window2_menu.svg │ ├── yz_ortho_window2.svg │ └── yz_ortho_window2_menu.svg │ ├── tools │ └── activity_logging │ │ └── logProcessing.py │ ├── translations │ └── cs_cz.ts │ └── ui │ ├── CDataInfoDialog.ui │ ├── CDicomTransferDialog.ui │ ├── CFilterDialog.ui │ ├── CPreviewDialog.ui │ ├── cinfodialog.ui │ ├── cpreferencesdialog.ui │ ├── cseriesselectiondialog.ui │ ├── cvolumelimiterdialog.ui │ ├── densitywindowwidget.ui │ ├── mainwindow.ui │ ├── modelswidget.ui │ ├── orthosliceswidget.ui │ ├── segmentationwidget.ui │ └── volumerenderingwidget.ui ├── include └── 3dim │ ├── buildversion.h │ ├── configure.h │ ├── core │ ├── alg │ │ ├── CDecimator.h │ │ ├── CMarchingCubes.h │ │ ├── CMarchingCubesFast.h │ │ ├── CMedianModified.h │ │ ├── CReduceSmallSubmeshes.h │ │ ├── CRegionCounter.h │ │ ├── CSmoothing.h │ │ ├── FixedNum.h │ │ ├── MultiStageProgress.h │ │ ├── SRect.h │ │ ├── TriIterator.h │ │ └── cmarchingsquares.h │ ├── app │ │ ├── CMainThreadCallback.h │ │ ├── CProductInfo.h │ │ ├── CVersionNum.h │ │ └── tinyLog.h │ ├── base │ │ ├── Macros.h │ │ └── stack_allocator.hpp │ ├── data │ │ ├── CAllDrawings.h │ │ ├── CAppSettings.h │ │ ├── CChangedEntries.h │ │ ├── CCircularBuffer.h │ │ ├── CCircularBuffer.hxx │ │ ├── CColorVector.h │ │ ├── CDataStorage.h │ │ ├── CDataStorage.hxx │ │ ├── CDummyStorable.h │ │ ├── CEntryChangeLog.h │ │ ├── CEntryDeps.h │ │ ├── CEntryFlags.h │ │ ├── CEntryObserver.h │ │ ├── CEntryPtr.h │ │ ├── CGeneralObjectObserver.h │ │ ├── CMultiObjectObserver.h │ │ ├── CObjectHolder.h │ │ ├── CObjectObserver.h │ │ ├── CObjectPtr.h │ │ ├── CSavedEntries.h │ │ ├── CSceneManipulatorDummy.h │ │ ├── CSerializableData.h │ │ ├── CSerializationManager.h │ │ ├── CSnapshot.h │ │ ├── CStorableData.h │ │ ├── CStorableFactory.h │ │ ├── CStorageEntry.h │ │ ├── CStorageEntryDefs.h │ │ ├── CStorageIdRemapperBase.h │ │ ├── CStorageInterface.h │ │ ├── CUndoBase.h │ │ ├── CUndoManager.h │ │ └── storage_ids_core.h │ ├── math │ │ └── sha1.h │ └── osg │ │ ├── dbout.h │ │ └── osgcompat.h │ ├── coremedi │ ├── app │ │ └── Signals.h │ └── data │ │ ├── CActiveDataSet.h │ │ ├── CArbitrarySlice.h │ │ ├── CBitOperations.h │ │ ├── CBitVolume.h │ │ ├── CColorTable.h │ │ ├── CColoringFunc.h │ │ ├── CCoordinatesConv.h │ │ ├── CDataStats.h │ │ ├── CDensityData.h │ │ ├── CDensityWindow.h │ │ ├── CDicom.h │ │ ├── CDicomDCTk.h │ │ ├── CDicomGDCM.h │ │ ├── CDicomLoader.h │ │ ├── CDicomSaver.h │ │ ├── CDicomSaverDCTk.h │ │ ├── CDicomSaverGDCM.h │ │ ├── CDrawingOptions.h │ │ ├── CImageLoaderInfo.h │ │ ├── CMeasurementOptions.h │ │ ├── CModel.h │ │ ├── CModelCut.h │ │ ├── CModelManager.h │ │ ├── CMultiClassRegionColoring.h │ │ ├── CMultiClassRegionData.h │ │ ├── CMultiClassRegionsVisualizer.h │ │ ├── COrthoSlice.h │ │ ├── CPivot.h │ │ ├── CPreviewModel.h │ │ ├── CRLECompress.h │ │ ├── CRLECompress.hpp │ │ ├── CRestorePoint.h │ │ ├── CSerializableVE.h │ │ ├── CSeries.h │ │ ├── CSlice.h │ │ ├── CStorageIdRemapper.h │ │ ├── CVolumeOfInterest.h │ │ ├── CVolumeOfInterestData.h │ │ ├── CVolumeTransformation.h │ │ ├── CVolumeUndo.h │ │ ├── CVolumeUndo.hpp │ │ ├── DicomTagUtils.h │ │ ├── DicomTags.h │ │ └── Notes.h │ ├── coremedi_viewer │ └── data │ │ ├── CExamination.h │ │ ├── CRegionColoring.h │ │ ├── CRegionData.h │ │ ├── CRegionDataCalculator.h │ │ ├── CRegionsVisualizer.h │ │ ├── CSceneWidgetParameters.h │ │ ├── CVolumeOfInterestVisualizer.h │ │ └── ESnapshotType.h │ ├── geometry │ ├── alg │ │ └── CPlaneFitting.h │ ├── base │ │ ├── CAction.h │ │ ├── CArmature.h │ │ ├── CBaseMesh.h │ │ ├── CBone.h │ │ ├── CBoneSnapshot.h │ │ ├── CBoundingBox.h │ │ ├── CBoundingRectangle.h │ │ ├── CKeyframe.h │ │ ├── CMesh.h │ │ ├── CPlane.h │ │ ├── CTMReader.h │ │ ├── CTMWriter.h │ │ ├── CTrianglesContainer.h │ │ ├── MTLReader.h │ │ ├── OBJReader.h │ │ ├── OMMesh.h │ │ ├── clipper.hpp │ │ ├── clipperExtension.h │ │ ├── functions.h │ │ ├── kdtree │ │ │ ├── CFlannTree.h │ │ │ ├── CMeshIndexing.h │ │ │ ├── kdtree.h │ │ │ └── kdtree_pc.h │ │ ├── polygonOperations.h │ │ └── types.h │ └── metrics │ │ └── hausdorff.h │ ├── graph │ ├── data │ │ ├── CSerializableOSG.h │ │ └── CSerializableOSG.hxx │ ├── osg │ │ ├── BoundingRectangle.h │ │ ├── CActiveObjectBase.h │ │ ├── CBoundingBoxVisitor.h │ │ ├── CClickDragger.h │ │ ├── CColorGenerator.h │ │ ├── CConvertToGeometry.h │ │ ├── CCylinderDragger.h │ │ ├── CDraggableGeometry.h │ │ ├── CDummyOSG.h │ │ ├── CEventHandlerBase.h │ │ ├── CForceCullCallback.h │ │ ├── CFreeModelVisualizer.h │ │ ├── CGeneralObjectObserverOSG.h │ │ ├── CGeometryGenerator.h │ │ ├── CGetNodePathVisitor.h │ │ ├── CIntersectionProspector.h │ │ ├── CIntersectionProspector.hpp │ │ ├── CModelDragger3D.h │ │ ├── CModelVisualizer.h │ │ ├── CMultiObjectObserverOSG.h │ │ ├── CObjectObserverOSG.h │ │ ├── COnOffNode.h │ │ ├── CPlaneConstraint.h │ │ ├── CPlaneUpdateSelection.h │ │ ├── CPolytopePlaneTester.h │ │ ├── CPseudoMaterial.h │ │ ├── CPseudoMaterialCache.h │ │ ├── CRotate2DDragger.h │ │ ├── CScreenshot.h │ │ ├── CShaderTester.h │ │ ├── CSignalDraggerCallback.h │ │ ├── CSignalEventHandler.h │ │ ├── CSprite.h │ │ ├── CThickLineMaterial.h │ │ ├── CTools.h │ │ ├── CTranslate1DDragger.h │ │ ├── CTranslate2DDragger.h │ │ ├── CTranslateOtherLineDragger.h │ │ ├── CTriMesh.h │ │ ├── CTwoMaterialsNode.h │ │ ├── Constraints.h │ │ ├── DraggerColorDefines.h │ │ ├── IHoverDragger.h │ │ ├── NodeMasks.h │ │ ├── OSGTreeAnalyser.h │ │ ├── SceneDraw.h │ │ └── SimpleShader.h │ ├── render │ │ └── glErrorReporting.h │ └── widgets │ │ ├── CPositionedWindow.h │ │ └── CSizeableWindowManager.h │ ├── graphmedi │ ├── draggers │ │ ├── CDraggerBase.h │ │ ├── CDraggerBaseComposite.h │ │ ├── CDraggerOnSurface.h │ │ ├── CDraggerPlane.h │ │ ├── CDraggerRotate.h │ │ ├── CDraggerScale.h │ │ └── CDraggerTranslate.h │ ├── drawing │ │ ├── CISEventHandler.h │ │ └── CLineOptimizer.h │ ├── osg │ │ ├── CCommandEventHandler.h │ │ ├── CDensityWindowEventHandler.h │ │ ├── CIntersectionHandler.h │ │ ├── CLimiterSceneOSG.h │ │ ├── CMeasurementsEH.h │ │ ├── CModelCutVisualizer.h │ │ ├── CModifiedScaleCommand.h │ │ ├── COrthoSceneOSG.h │ │ ├── CSignalSelection.h │ │ ├── CSliceDragger.h │ │ ├── MouseDraw.h │ │ └── NoteSubtree.h │ ├── render │ │ ├── CGraficCardDesc.h │ │ ├── CLookupTable.h │ │ ├── CSceneVolumeRendering.h │ │ ├── CVolumeRenderer.h │ │ ├── PSVRshaders.h │ │ └── PSVRshaders.hpp │ └── widgets │ │ ├── CSceneWidget.h │ │ └── CWidgetOverlayNode.h │ ├── graphmedi_viewer │ ├── drawing │ │ └── CISEventHandlerEx.h │ ├── osg │ │ ├── CAppMode.h │ │ ├── CArbitrarySliceGeometry.h │ │ ├── CArbitrarySliceVisualizer.h │ │ ├── CArbitrarySliceVisualizer2D.h │ │ ├── CDraggableSlice.h │ │ ├── CDraggerEventHandler.h │ │ ├── COrthoSlicesVisualizer2D.h │ │ ├── CSceneManipulator.h │ │ ├── CSceneOSG.h │ │ └── OrthoManipulator.h │ ├── render │ │ ├── PSVRosg.h │ │ └── PSVRrenderer.h │ ├── shaders2 │ │ ├── Add.h │ │ ├── FBO.h │ │ ├── FSQuadVS.h │ │ ├── Lookup.h │ │ ├── Max.h │ │ ├── Resize2.h │ │ ├── Shade.h │ │ ├── ShaderData.h │ │ ├── Suma.h │ │ ├── Surface.h │ │ └── Vert.h │ └── widgets │ │ └── Widgets.h │ ├── pcheader.h │ ├── qtgui │ ├── actlog │ │ └── ceventfilter.h │ ├── app │ │ └── Signals.h │ ├── base │ │ └── Defs.h │ ├── controls │ │ ├── CClickableLabel.h │ │ ├── CDoubleSlider.h │ │ ├── CIconGroupBox.h │ │ ├── CMenuEx.h │ │ ├── CScaledCursor.h │ │ ├── CSpinSliderConnection.h │ │ ├── QRoundProgressBar.h │ │ └── ccollapsiblegroupbox.h │ ├── data │ │ ├── CCustomData.h │ │ ├── CImageGrid.h │ │ ├── CReportGenerator.h │ │ ├── CReportPage.h │ │ ├── CReportPageContent.h │ │ ├── CReportTable.h │ │ └── storage_ids_qtgui.h │ ├── dialogs │ │ ├── cprogress.h │ │ └── messageWindow.h │ └── osgQt │ │ ├── Export │ │ ├── QFontImplementation.h │ │ ├── QGraphicsViewAdapter.h │ │ ├── QWidgetImage.h │ │ └── QtOsg.h │ ├── qtgui_viewer │ ├── osg │ │ ├── OSGCanvas.h │ │ └── OSGOrtho2DCanvas.h │ └── render │ │ └── cvolumerendererwindow.h │ ├── qtguimedi │ └── controls │ │ └── ccolorcombobox.h │ └── qtplugin │ ├── CPluginInfo.h │ ├── CPluginInfoDialog.h │ ├── CPluginManager.h │ ├── PluginHost.h │ └── PluginInterface.h ├── plugins ├── Demo.cmake ├── Demo │ ├── cdemoplugin.cpp │ ├── cdemoplugin.h │ ├── cdemopluginpanel.cpp │ ├── cdemopluginpanel.h │ ├── cdemopluginpanel.ui │ ├── demoplugin.qrc │ ├── icons │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── demoplugin.png │ │ └── demoplugin_dock.png │ ├── svg │ │ ├── 1.svg │ │ ├── 2.svg │ │ ├── 3.svg │ │ ├── 4.svg │ │ ├── demoplugin.svg │ │ └── demoplugin_dock.svg │ └── translations │ │ └── demoplugin-cs_cz.ts ├── Gauge.cmake ├── Gauge │ ├── cgaugepanel.cpp │ ├── cgaugepanel.h │ ├── cgaugepanel.ui │ ├── gauge.qrc │ ├── gaugeplugin.cpp │ ├── gaugeplugin.h │ ├── icons │ │ ├── delete.png │ │ ├── gaugeplugin.png │ │ ├── gaugeplugin_dock.png │ │ ├── measure_density.png │ │ └── measure_distance.png │ ├── svg │ │ ├── delete.svg │ │ ├── gaugeplugin.svg │ │ ├── gaugeplugin_dock.svg │ │ ├── measure_density.svg │ │ └── measure_distance.svg │ └── translations │ │ └── gaugeplugin-cs_cz.ts ├── Notes.cmake └── Notes │ ├── icons │ ├── arrow.png │ ├── notedeletesmall.png │ ├── notesplugin.png │ ├── notesplugin_dock.png │ ├── tool_brush.png │ ├── tool_eraser.png │ └── visibility.png │ ├── notesplugin.cpp │ ├── notesplugin.h │ ├── notesplugin.qrc │ ├── notespluginpanel.cpp │ ├── notespluginpanel.h │ ├── notespluginpanel.ui │ ├── svg │ ├── arrow.svg │ ├── notedeletesmall.svg │ ├── notesplugin.svg │ ├── notesplugin_dock.svg │ ├── tool_brush.svg │ ├── tool_eraser.svg │ └── visibility.svg │ └── translations │ └── notesplugin-cs_cz.ts └── src ├── cmake ├── oss3DimCore.cmake ├── oss3DimCoreMedi.cmake ├── oss3DimGeometry.cmake ├── oss3DimGraph.cmake ├── oss3DimGraphMedi.cmake ├── oss3DimGuiQt.cmake ├── oss3DimGuiQtMedi.cmake └── oss3DimTest.cmake ├── core ├── alg │ ├── CDecimator.cpp │ ├── CMarchingCubes.cpp │ ├── CReduceSmallSubmeshes.cpp │ ├── CRegionCounter.cpp │ ├── CSmoothing.cpp │ ├── MultiStageProgress.cpp │ └── TriIterator.cpp ├── app │ └── CProductInfo.cpp ├── data │ ├── CAppSettings.cpp │ ├── CChangedEntries.cpp │ ├── CDataStorage.cpp │ ├── CEntryChangeLog.cpp │ ├── CEntryFlags.cpp │ ├── CSerializationManager.cpp │ ├── CStorageEntry.cpp │ ├── CStorageIdRemapperBase.cpp │ ├── CUndoBase.cpp │ └── CUndoManager.cpp ├── math │ └── sha1.cpp └── osg │ └── osgcompat.cpp ├── coremedi └── data │ ├── CArbitrarySlice.cpp │ ├── CColorTable.cpp │ ├── CCoordinatesConv.cpp │ ├── CDataStats.cpp │ ├── CDensityData.cpp │ ├── CDensityWindow.cpp │ ├── CDicom.cpp │ ├── CDicomDCTk.cpp │ ├── CDicomGDCM.cpp │ ├── CDicomLoader.cpp │ ├── CDicomSaverDCTk.cpp │ ├── CDicomSaverGDCM.cpp │ ├── CMeasurementOptions.cpp │ ├── CModel.cpp │ ├── CModelCut.cpp │ ├── CModelManager.cpp │ ├── CMultiClassRegionColoring.cpp │ ├── CMultiClassRegionData.cpp │ ├── CMultiClassRegionsVisualizer.cpp │ ├── COrthoSlice.cpp │ ├── CPivot.cpp │ ├── CPreviewModel.cpp │ ├── CRegionColoring.cpp │ ├── CRegionData.cpp │ ├── CRestorePoint.cpp │ ├── CSeries.cpp │ ├── CSlice.cpp │ ├── CStorageIdRemapper.cpp │ ├── CVolumeOfInterest.cpp │ ├── CVolumeOfInterestData.cpp │ ├── CVolumeTransformation.cpp │ ├── CVolumeUndo.cpp │ └── Notes.cpp ├── coremedi_viewer └── data │ ├── CExamination.cpp │ ├── CRegionDataCalculator.cpp │ ├── CRegionsVisualizer.cpp │ ├── CSceneWidgetParameters.cpp │ └── CVolumeOfInterestVisualizer.cpp ├── geometry ├── alg │ └── CPlaneFitting.cpp ├── base │ ├── CAction.cpp │ ├── CArmature.cpp │ ├── CBaseMesh.cpp │ ├── CBone.cpp │ ├── CBoneSnapshot.cpp │ ├── CKeyframe.cpp │ ├── CMesh.cpp │ ├── CPlane.cpp │ ├── CTMReader.cpp │ ├── CTMWriter.cpp │ ├── CTrianglesContainer.cpp │ ├── MTLReader.cpp │ ├── OBJReader.cpp │ ├── clipper.cpp │ ├── clipperExtension.cpp │ ├── functions.cpp │ ├── kdtree │ │ ├── CFlannTree.cpp │ │ ├── CMeshIndexing.cpp │ │ └── kdtree.cpp │ └── polygonOperations.cpp └── metrics │ └── hausdorff.cpp ├── graph ├── osg │ ├── BoundingRectangle.cpp │ ├── CActiveObjectBase.cpp │ ├── CBoundingBoxVisitor.cpp │ ├── CConvertToGeometry.cpp │ ├── CCylinderDragger.cpp │ ├── CDraggableGeometry.cpp │ ├── CDummyOSG.cpp │ ├── CEventHandlerBase.cpp │ ├── CFreeModelVisualizer.cpp │ ├── CGeometryGenerator.cpp │ ├── CGetNodePathVisitor.cpp │ ├── CMarchingCubesFast.cpp │ ├── CModelDragger3D.cpp │ ├── CModelVisualizer.cpp │ ├── COnOffNode.cpp │ ├── CPlaneConstraint.cpp │ ├── CPlaneUpdateSelection.cpp │ ├── CPolytopePlaneTester.cpp │ ├── CPseudoMaterial.cpp │ ├── CPseudoMaterialCache.cpp │ ├── CRotate2DDragger.cpp │ ├── CScreenshot.cpp │ ├── CShaderTester.cpp │ ├── CSignalEventHandler.cpp │ ├── CSprite.cpp │ ├── CThickLineMaterial.cpp │ ├── CTools.cpp │ ├── CTranslate1DDragger.cpp │ ├── CTranslate2DDragger.cpp │ ├── CTranslateOtherLineDragger.cpp │ ├── CTriMesh.cpp │ ├── Constraints.cpp │ ├── MouseDraw.cpp │ ├── OSGTreeAnalyser.cpp │ └── OSGTreeAnalyserTranslations.cpp ├── render │ └── glErrorReporting.cpp └── widgets │ ├── CPositionedWindow.cpp │ └── CSizeableWindowManager.cpp ├── graphmedi ├── draggers │ ├── CDraggerBaseComposite.cpp │ ├── CDraggerOnSurface.cpp │ ├── CDraggerPlane.cpp │ ├── CDraggerRotate.cpp │ ├── CDraggerScale.cpp │ └── CDraggerTranslate.cpp ├── drawing │ ├── CISEventHandler.cpp │ └── CLineOptimizer.cpp ├── osg │ ├── CCommandEventHandler.cpp │ ├── CDensityWindowEventHandler.cpp │ ├── CIntersectionHandler.cpp │ ├── CLimiterSceneOSG.cpp │ ├── CMeasurementsEH.cpp │ ├── CModelCutVisualizer.cpp │ ├── CModifiedScaleCommand.cpp │ ├── COrthoSceneOSG.cpp │ ├── CSliceDragger.cpp │ ├── NoteSubtree.cpp │ └── SceneDraw.cpp ├── render │ ├── CGraficCardDesc.cpp │ ├── CLookupTable.cpp │ └── CSceneVolumeRendering.cpp └── widgets │ ├── CSceneWidget.cpp │ └── CWidgetOverlayNode.cpp ├── graphmedi_viewer ├── drawing │ └── CISEventHandlerEx.cpp ├── osg │ ├── CArbitrarySliceGeometry.cpp │ ├── CArbitrarySliceVisualizer.cpp │ ├── CArbitrarySliceVisualizer2D.cpp │ ├── CDraggableSlice.cpp │ ├── CDraggerEventHandler.cpp │ ├── COrthoSlicesVisualizer2D.cpp │ ├── CSceneManipulator.cpp │ ├── CSceneOSG.cpp │ └── OrthoManipulator.cpp ├── render │ ├── PSVRosg.cpp │ └── PSVRrenderer.cpp └── widgets │ └── Widgets.cpp ├── pcheader.cpp ├── qtgui ├── actlog │ └── ceventfilter.cpp ├── controls │ ├── CDoubleSlider.cpp │ ├── CIconGroupBox.cpp │ ├── CScaledCursor.cpp │ ├── QRoundProgressBar.cpp │ └── ccollapsiblegroupbox.cpp ├── data │ ├── CCustomData.cpp │ ├── CImageGrid.cpp │ ├── CReportGenerator.cpp │ ├── CReportPage.cpp │ ├── CReportPageContent.cpp │ └── CReportTable.cpp └── osgQt │ ├── QFontImplementation.cpp │ ├── QGraphicsViewAdapter.cpp │ ├── QWidgetImage.cpp │ └── QtOsg.cpp ├── qtgui_viewer ├── osg │ ├── OSGCanvas.cpp │ └── OSGOrtho2DCanvas.cpp └── render │ └── cvolumerendererwindow.cpp ├── qtguimedi └── controls │ └── ccolorcombobox.cpp └── qtplugin ├── CPluginInfoDialog.cpp └── CPluginManager.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | # OS junk files 2 | [Tt]humbs.db 3 | *.DS_Store 4 | 5 | # Compiled Object files 6 | #*.slo 7 | #*.lo 8 | #*.o 9 | #*.[Oo]bj 10 | 11 | # Compiled Dynamic libraries 12 | #*.so 13 | #*.dylib 14 | #*.dll 15 | 16 | # Compiled Static libraries 17 | #*.lai 18 | #*.la 19 | #*.a 20 | #*.lib 21 | 22 | # Executables 23 | #*.exe 24 | #*.out 25 | #*.app 26 | 27 | # We output binaries to bin/ directories 28 | /applications/*/bin/ 29 | /applications/*/bin32/ 30 | /applications/*/bin64/ 31 | 32 | # Common build directories 33 | /[Bb]uild*/ 34 | 35 | # Project files generated by CMake 36 | *.sln 37 | *.vcxproj 38 | *.vcxproj.filters 39 | *.rule 40 | 41 | # Visual Studio files 42 | *.stamp 43 | *.map 44 | *.pdb 45 | *.user 46 | *.aps 47 | *.pch 48 | *.vspscc 49 | *.vssscc 50 | *.ncb 51 | *.suo 52 | *.tlb 53 | *.tlh 54 | *.bak 55 | *.[Cc]ache 56 | *.ilk 57 | *.log 58 | *.tlog 59 | *.sbr 60 | *.sdf 61 | *.opensdf 62 | *.unsuccessfulbuild 63 | ipch/ 64 | [Oo]bj/ 65 | [Dd]ebug*/ 66 | [Rr]elease*/ 67 | -------------------------------------------------------------------------------- /3rdParty.txt: -------------------------------------------------------------------------------- 1 | Used 3rd Party Libraries 2 | ------------------------ 3 | 4 | Here is a list of all external 3rd party libraries used by 3DimViewer: 5 | 6 | - Qt Toolkit (http://qt.nokia.com/products/) 7 | - OpenSceneGraph library (http://www.openscenegraph.org) 8 | - VPL (https://bitbucket.org/3dimlab/vpl) 9 | - The OpenGL Extension Wrangler Library (http://glew.sourceforge.net/) 10 | - DCMTk toolkit (http://dicom.offis.de/dcmtk) 11 | - cURL library (http://curl.haxx.se/) 12 | - OpenSSL Toolkit (http://www.openssl.org/) 13 | - zlib library (http://www.zlib.net/) 14 | - openCTM library (http://openctm.sourceforge.net) 15 | 16 | Some of these libraries might be distributed under a more restrictive license 17 | then the 3DimViewer one. Please see licenses of individual 3rd party libraries 18 | for more details. 19 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | TESCAN 3DIM's Development Team 2 | ---------------------------------- 3 | 4 | Michal Spanel, spanel(at)t3d.team 5 | Vit Stancl, stancl(at)t3d.team 6 | Vojtech Tryhuk, tryhuk(at)t3d.team 7 | Martin Wilczak, wilczak(at)t3d.team 8 | Jiri Stanek, stanek(at)t3d.team 9 | 10 | Other contributors 11 | ------------------ 12 | 13 | tbd 14 | 15 | If you noticed that some contributors are missing, please mail the authors. 16 | -------------------------------------------------------------------------------- /CMakeModules/FindGLEW.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find GLEW 2 | # Once done this will define 3 | # 4 | # GLEW_FOUND - system has GLEW 5 | # GLEW_INCLUDE_DIR - the GLEW include directory 6 | # GLEW_LIBRARY_DIR - where the libraries are 7 | # GLEW_LIBRARY - Link these to use GLEW 8 | # 9 | # Modified for 3DimViewer by Michal Spanel 10 | # 11 | 12 | if (GLEW_INCLUDE_DIRS) 13 | # Already in cache, be silent 14 | set(GLEW_FIND_QUIETLY TRUE) 15 | endif () 16 | 17 | if( NOT WIN32 ) 18 | 19 | find_path( GLEW_INCLUDE_DIRS glew.h wglew.h 20 | PATHS 21 | /usr/local/include 22 | /usr/include 23 | /opt/local/include 24 | /opt/include 25 | PATH_SUFFIXES gl/ GL/ 26 | ) 27 | 28 | set( GLEW_NAMES glew GLEW ) 29 | 30 | find_library( GLEW_LIBRARIES 31 | NAMES ${GLEW_NAMES} 32 | PATHS 33 | /usr/lib 34 | /usr/local/lib 35 | /opt/lib 36 | /opt/local/lib 37 | ) 38 | endif() 39 | 40 | get_filename_component( GLEW_LIBRARY_DIRS ${GLEW_LIBRARIES} PATH ) 41 | get_filename_component( GLEW_LIBRARIES ${GLEW_LIBRARIES} NAME ) 42 | 43 | if (GLEW_INCLUDE_DIRS AND GLEW_LIBRARIES) 44 | set(GLEW_LIBRARIES general ${GLEW_LIBRARIES}) 45 | set(GLEW_FOUND TRUE) 46 | else () 47 | set( GLEW_FOUND FALSE ) 48 | set( GLEW_LIBRARY_DIRS "") 49 | endif () 50 | 51 | MARK_AS_ADVANCED( 52 | GLEW_LIBRARIES 53 | GLEW_INCLUDE_DIRS 54 | ) 55 | -------------------------------------------------------------------------------- /CMakeModules/FindGridCut.cmake: -------------------------------------------------------------------------------- 1 | # CMake module that tries to find GRIDCUT includes and libraries. 2 | # 3 | # The following variables are set if GRIDCUT is found: 4 | # GRIDCUT_FOUND - True when the GRIDCUT include directory is found. 5 | # GRIDCUT_INCLUDE_DIRS - The directory where GRIDCUT include files are. 6 | # Usage: 7 | # In your CMakeLists.txt file do something like this: 8 | # ... 9 | # FIND_PACKAGE(GRIDCUT) 10 | # ... 11 | # INCLUDE_DIRECTORIES(${GRIDCUT_INCLUDE_DIRS}) 12 | # ... 13 | # 14 | # Written for Tescan 3Dim by Vojtech Tryhuk 15 | # 16 | 17 | 18 | # Initialize the search path 19 | set( GRIDCUT_DIR_SEARCH "" ) 20 | 21 | # Others predefined search directories 22 | set( GRIDCUT_DIR_SEARCH 23 | ${GRIDCUT_DIR_SEARCH} 24 | ${GRIDCUT_ROOT_DIR} 25 | /usr/include/GridCut 26 | /usr/local/include/GridCut ) 27 | 28 | 29 | # Try to find GRIDCUT include directory 30 | FIND_PATH( GRIDCUT_INCLUDE_DIRS NAMES GridGraph_2D_4C.h PATHS ${GRIDCUT_DIR_SEARCH} ) 31 | 32 | #message(${GRIDCUT_INCLUDE_DIRS}) 33 | 34 | # Assume we didn't find it 35 | if (GRIDCUT_INCLUDE_DIRS) 36 | set( GRIDCUT_FOUND TRUE ) 37 | set( GridCut_FOUND TRUE ) 38 | else() 39 | set( GRIDCUT_FOUND FALSE ) 40 | set( GridCut_FOUND FALSE ) 41 | endif() 42 | 43 | 44 | MARK_AS_ADVANCED( GRIDCUT_INCLUDE_DIRS ) 45 | 46 | -------------------------------------------------------------------------------- /CMakeModules/FindOurCURL.cmake: -------------------------------------------------------------------------------- 1 | # - Find curl 2 | # Find the native CURL headers and libraries. 3 | # 4 | # CURL_INCLUDE_DIRS - where to find curl/curl.h, etc. 5 | # CURL_LIBRARIES - List of libraries when using curl. 6 | # CURL_FOUND - True if curl found. 7 | 8 | #============================================================================= 9 | # Copyright 2006-2009 Kitware, Inc. 10 | # 11 | # Distributed under the OSI-approved BSD License (the "License"); 12 | # see accompanying file Copyright.txt for details. 13 | # 14 | # This software is distributed WITHOUT ANY WARRANTY; without even the 15 | # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the License for more information. 17 | #============================================================================= 18 | # (To distributed this file outside of CMake, substitute the full 19 | # License text for the above reference.) 20 | # 21 | # Modified for 3DimViewer by Michal Spanel 22 | # 23 | 24 | # Look for the header file. 25 | FIND_PATH( CURL_INCLUDE_DIR 26 | NAMES curl/curl.h 27 | PATHS 28 | "${TRIDIM_3RDPARTY_DIR}/include" 29 | /usr/local/include 30 | /usr/include 31 | ) 32 | MARK_AS_ADVANCED(CURL_INCLUDE_DIR) 33 | 34 | # Look for the library. 35 | FIND_LIBRARY( CURL_LIBRARY 36 | NAMES 37 | curl 38 | # Windows MSVC prebuilts: 39 | libcurl 40 | curllib 41 | libcurl_imp 42 | curllib_static 43 | PATHS 44 | "${TRIDIM_3RDPARTY_DIR}/lib" 45 | /usr/local/lib 46 | /usr/lib 47 | ) 48 | MARK_AS_ADVANCED(CURL_LIBRARY) 49 | 50 | # handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if 51 | # all listed variables are TRUE 52 | INCLUDE(FindPackageHandleStandardArgs) 53 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR) 54 | 55 | IF(CURL_FOUND) 56 | SET(CURL_LIBRARIES ${CURL_LIBRARY}) 57 | SET(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) 58 | ENDIF(CURL_FOUND) 59 | 60 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright and License Notice for 3DimViewer from TESCAN 3DIM s.r.o. 2 | ----------------------------------------------------------------------- 3 | 4 | Copyright 2008-2019 TESCAN 3DIM s.r.o. 5 | All rights reserved. 6 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); 8 | you may not use this file except in compliance with the License. 9 | You may obtain a copy of the License at 10 | 11 | http://www.apache.org/licenses/LICENSE-2.0 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | See the License for the specific language governing permissions and 17 | limitations under the License. 18 | 19 | Used 3rd Party Libraries 20 | ------------------------ 21 | 22 | A complete list of all external 3rd party libraries used by 3DimViewer 23 | can be found in the 3rdParty.txt file. 24 | -------------------------------------------------------------------------------- /applications/3DimViewer/bin/dummy.txt: -------------------------------------------------------------------------------- 1 | Dummy file used to fill an empty directory. 2 | -------------------------------------------------------------------------------- /applications/3DimViewer/dependency_manifest.txt: -------------------------------------------------------------------------------- 1 | Qt 5.9.5 2 | OSG 3.6.2 3 | VPL 181206 4 | TinyXML2 7.0.0 5 | glad 0.1.18a0 gl46 6 | Zlib 1.2.11 7 | Flann 1.8.4 fixed namespace 8 | DCMTK 3.6.1_20121102 9 | Iconv 1.14 10 | Eigen 3.3.3 11 | OpenSSL 1.0.2j 12 | OpenCTM 1.0.3 13 | OpenMesh 7.1 14 | -------------------------------------------------------------------------------- /applications/3DimViewer/doc/gaugeplugin.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/doc/gaugeplugin.pdf -------------------------------------------------------------------------------- /applications/3DimViewer/doc/help.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/doc/help.pdf -------------------------------------------------------------------------------- /applications/3DimViewer/doc/help_cs_cz.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/doc/help_cs_cz.pdf -------------------------------------------------------------------------------- /applications/3DimViewer/doxygen/3DimViewer.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/doxygen/3DimViewer.chm -------------------------------------------------------------------------------- /applications/3DimViewer/doxygen/T3DLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/doxygen/T3DLogo.png -------------------------------------------------------------------------------- /applications/3DimViewer/fonts/Vera.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/fonts/Vera.ttf -------------------------------------------------------------------------------- /applications/3DimViewer/fonts/arial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/fonts/arial.ttf -------------------------------------------------------------------------------- /applications/3DimViewer/icons/3dim.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/icons/3dim.ico -------------------------------------------------------------------------------- /applications/3DimViewer/include/AppConfigure.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef AppConfigure_H 24 | #define AppConfigure_H 25 | 26 | #include 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/AppVersion.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef _3DIMAPPVERSION_H 24 | #define _3DIMAPPVERSION_H 25 | 26 | #define VER_MAJOR 4 27 | #define VER_MINOR 1 28 | #define VER_BUILD 3 29 | 30 | #define STR_HELPER(x) #x 31 | #define STR(x) STR_HELPER(x) 32 | 33 | #define VER_FILEVERSION VER_MAJOR,VER_MINOR,0,VER_BUILD 34 | #define VER_FILEVERSION_STR STR(VER_MAJOR) "." STR(VER_MINOR) ".0." STR(VER_BUILD) "\0" 35 | 36 | #define VER_PRODUCTVERSION VER_MAJOR,VER_MINOR 37 | #define VER_PRODUCTVERSION_STR STR(VER_MAJOR) "." STR(VER_MINOR) "\0" 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/CAppExamination.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CAppExamination_H 24 | #define CAppExamination_H 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | // include files 28 | 29 | #include 30 | 31 | #include "Signals.h" 32 | 33 | namespace data 34 | { 35 | 36 | /////////////////////////////////////////////////////////////////////////////// 37 | //! Manages extended data 38 | 39 | class CAppExamination : public data::CExamination 40 | { 41 | public: 42 | //! Smart pointer type. 43 | //! - Declares type tSmartPtr. 44 | VPL_SHAREDPTR(CAppExamination); 45 | 46 | protected: 47 | //! Set saved entries 48 | void setSaved(); 49 | 50 | public: 51 | //! Constructor 52 | CAppExamination(); 53 | 54 | //! Destructor 55 | virtual ~CAppExamination(); 56 | 57 | //! Initializes the storage. 58 | //! - Registers creation functions of all storage entries. 59 | void init(); 60 | }; 61 | 62 | } // namespace data 63 | 64 | #endif // CAppExamination_H 65 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/CDataInfoDialog.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CDATAINFODIALOG_H 24 | #define CDATAINFODIALOG_H 25 | 26 | #include 27 | 28 | namespace Ui { 29 | class CDataInfoDialog; 30 | } 31 | 32 | class CDataInfoDialog : public QDialog 33 | { 34 | Q_OBJECT 35 | public: 36 | explicit CDataInfoDialog(QWidget *parent = NULL); 37 | ~CDataInfoDialog(); 38 | // reformats dicom formated date and time to locale based format 39 | static QString formatDicomDateAndTime(const QString& wsDate, const QString& wsTime); 40 | public: 41 | void AddRowIfNotEmpty(const QString& param, const QString& value, const QColor& color = QColor(QColor::Invalid)); 42 | void AddRow(const QString ¶m, const QString &value, const QColor& color = QColor(QColor::Invalid), int alignment = Qt::AlignCenter); 43 | private: 44 | Ui::CDataInfoDialog *ui; 45 | protected slots: 46 | void tableContextMenu(const QPoint &pos); 47 | }; 48 | 49 | #endif // CDATAINFODIALOG_H 50 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/CFilterDialog.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef CFILTERDIALOG_H 23 | #define CFILTERDIALOG_H 24 | 25 | #include 26 | 27 | namespace Ui { 28 | class CFilterDialog; 29 | } 30 | 31 | typedef void (*fnProcessSlice)(int z, int strength, QImage& result); 32 | 33 | //! Volume filtering dialog with preview on single slice 34 | class CFilterDialog : public QDialog 35 | { 36 | Q_OBJECT 37 | protected: 38 | //! UI object 39 | Ui::CFilterDialog *ui; 40 | //! Current xy slice 41 | int m_curSlice; 42 | //! Filter strength (0-100) 43 | int m_strength; 44 | //! Slice filtering method 45 | fnProcessSlice m_pSliceFilter; 46 | public: 47 | //! Constructor 48 | explicit CFilterDialog(QWidget *parent, const QString& title); 49 | //! Destructor 50 | ~CFilterDialog(); 51 | //! Set method for slice filter 52 | void setFilter(fnProcessSlice pSliceFilter) { m_pSliceFilter = pSliceFilter; } // mandatory 53 | //! Filter strength getter 54 | int getStrength() const { return m_strength; } 55 | protected: 56 | void loadCurrentSlice(); 57 | virtual void resizeEvent(QResizeEvent *); 58 | protected slots: 59 | void sliceChanged(int); 60 | void sliderStrengthChanged(int); 61 | }; 62 | 63 | #endif // CFILTERDIALOG_H 64 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/CModelVisualizerEx.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | 24 | #ifndef _CMODELVISUALIZER_H 25 | #define _CMODELVISUALIZER_H 26 | 27 | #include "osg/CModelVisualizer.h" 28 | 29 | namespace osg 30 | { 31 | class CModelVisualizerEx : public osg::CModelVisualizer 32 | { 33 | public: 34 | enum EModelVisualization 35 | { 36 | EMV_FLAT = 0, 37 | EMV_SMOOTH, 38 | EMV_WIRE, 39 | EMV_COUNT, 40 | }; 41 | 42 | CModelVisualizerEx(int id) : osg::CModelVisualizer(id) , m_modelVisualization(EMV_SMOOTH) 43 | { 44 | } 45 | 46 | //! Sets type of visualization 47 | void setModelVisualization(EModelVisualization modelVisualization); 48 | 49 | protected: 50 | //! Current visualization mode 51 | EModelVisualization m_modelVisualization; 52 | }; 53 | } 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/cinfodialog.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CINFODIIALOG_H 24 | #define CINFODIIALOG_H 25 | 26 | #include 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | 33 | #if defined(__APPLE__) && !defined(_LIBCPP_VERSION) 34 | #include 35 | #else 36 | #include 37 | #endif 38 | #include 39 | 40 | namespace Ui { 41 | class CInfoDialog; 42 | } 43 | 44 | class CInfoDialog : public QDialog 45 | { 46 | Q_OBJECT 47 | 48 | public: 49 | CInfoDialog(QWidget *parent, const QString& title); 50 | 51 | ~CInfoDialog(); 52 | 53 | void addRow(const QString ¶m, const QString &value, const QColor& color = QColor(QColor::Invalid), int alignment = Qt::AlignCenter); 54 | 55 | private: 56 | Ui::CInfoDialog *ui; 57 | }; 58 | 59 | 60 | #endif // CINFODIIALOG_H 61 | -------------------------------------------------------------------------------- /applications/3DimViewer/include/zip/iowin32.h: -------------------------------------------------------------------------------- 1 | /* iowin32.h -- IO base function header for compress/uncompress .zip 2 | Version 1.1, February 14h, 2010 3 | part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html ) 4 | 5 | Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) 6 | 7 | Modifications for Zip64 support 8 | Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) 9 | 10 | For more info read MiniZip_info.txt 11 | 12 | */ 13 | 14 | #ifdef _WIN32 15 | 16 | #include 17 | 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | void fill_win32_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); 24 | void fill_win32_filefunc64 OF((zlib_filefunc64_def* pzlib_filefunc_def)); 25 | void fill_win32_filefunc64A OF((zlib_filefunc64_def* pzlib_filefunc_def)); 26 | void fill_win32_filefunc64W OF((zlib_filefunc64_def* pzlib_filefunc_def)); 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | 32 | #endif -------------------------------------------------------------------------------- /applications/3DimViewer/include/zip/mztools.h: -------------------------------------------------------------------------------- 1 | /* 2 | Additional tools for Minizip 3 | Code: Xavier Roche '2004 4 | License: Same as ZLIB (www.gzip.org) 5 | */ 6 | 7 | #ifndef _zip_tools_H 8 | #define _zip_tools_H 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | #ifndef _ZLIB_H 15 | #include "zlib.h" 16 | #endif 17 | 18 | #include "unzip.h" 19 | 20 | /* Repair a ZIP file (missing central directory) 21 | file: file to recover 22 | fileOut: output file after recovery 23 | fileOutTmp: temporary file name used for recovery 24 | */ 25 | extern int ZEXPORT unzRepair(const char* file, 26 | const char* fileOut, 27 | const char* fileOutTmp, 28 | uLong* nRecovered, 29 | uLong* bytesRecovered); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /applications/3DimViewer/locale/autosegandfilteringplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/autosegandfilteringplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/dataexpressplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/dataexpressplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/datashiftplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/datashiftplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/demoplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/demoplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/dummy.txt: -------------------------------------------------------------------------------- 1 | Dummy file used to fill an empty directory. 2 | -------------------------------------------------------------------------------- /applications/3DimViewer/locale/experimentalsegplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/experimentalsegplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/gaugeplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/gaugeplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/loadpythonplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/loadpythonplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/lookuptableeditorplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/lookuptableeditorplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/machinesegmentation-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/machinesegmentation-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/manualseg3dplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/manualseg3dplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/manualsegplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/manualsegplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/modelcreateplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/modelcreateplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/notesplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/notesplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/pythonplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/pythonplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/regionandmodelcontrol-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/regionandmodelcontrol-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/regionandmodelcontrolplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/regionandmodelcontrolplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/scriptvolume-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/scriptvolume-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/scriptvolumeplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/scriptvolumeplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/segtosmallregionsplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/segtosmallregionsplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/locale/volumepythonscriptingplugin-cs_cz.qm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/locale/volumepythonscriptingplugin-cs_cz.qm -------------------------------------------------------------------------------- /applications/3DimViewer/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | true 6 | 7 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /applications/3DimViewer/models/assistant_axis_x.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/models/assistant_axis_x.stl -------------------------------------------------------------------------------- /applications/3DimViewer/models/assistant_axis_y.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/models/assistant_axis_y.stl -------------------------------------------------------------------------------- /applications/3DimViewer/models/assistant_axis_z.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/models/assistant_axis_z.stl -------------------------------------------------------------------------------- /applications/3DimViewer/models/assistant_body.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/models/assistant_body.stl -------------------------------------------------------------------------------- /applications/3DimViewer/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | *.dll 2 | -------------------------------------------------------------------------------- /applications/3DimViewer/plugins/dummy.txt: -------------------------------------------------------------------------------- 1 | Dummy file used to fill an empty directory. 2 | -------------------------------------------------------------------------------- /applications/3DimViewer/pluginsd/.gitignore: -------------------------------------------------------------------------------- 1 | *.dll 2 | -------------------------------------------------------------------------------- /applications/3DimViewer/pluginsd/dummy.txt: -------------------------------------------------------------------------------- 1 | Dummy file used to fill an empty directory. 2 | -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Core/_Channel.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Core/_Channel.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Core/_Core.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Core/_Core.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Core/_Geometry.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Core/_Geometry.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Core/__init__.py -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Image/_IO.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Image/_IO.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Image/_Image.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Image/_Image.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Image/_ImageFilters.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Image/_ImageFilters.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Image/_ImageFunctions.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Image/_ImageFunctions.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Image/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Image/__init__.py -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Volume/_Volume.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Volume/_Volume.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Volume/_VolumeFilters.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Volume/_VolumeFilters.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Volume/_VolumeFunctions.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Volume/_VolumeFunctions.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/Volume/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/Volume/__init__.py -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/_VPLPython.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/_VPLPython.pyd -------------------------------------------------------------------------------- /applications/3DimViewer/python/VPLSwig/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/VPLSwig/__init__.py -------------------------------------------------------------------------------- /applications/3DimViewer/python/interpret/.gitignore: -------------------------------------------------------------------------------- 1 | /LICENSE.txt 2 | /NEWS.txt 3 | /python.exe 4 | /python3.dll 5 | /python36.dll 6 | /pythonw.exe 7 | /vcruntime140.dll 8 | /DLLs 9 | /Lib 10 | /Scripts 11 | /Tools 12 | -------------------------------------------------------------------------------- /applications/3DimViewer/python/interpret/dump.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/python/interpret/dump.txt -------------------------------------------------------------------------------- /applications/3DimViewer/resources/3d_window2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/3d_window2.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/arrow_redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/arrow_redo.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/arrow_redo_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/arrow_redo_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/arrow_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/arrow_undo.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/arrow_undo_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/arrow_undo_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/autoseg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/autoseg.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/autosegicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/autosegicon.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/cog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/cog.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/cog_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/cog_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/delete.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/delete_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/delete_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/density_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/density_window.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/density_window2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/density_window2.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/density_window_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/density_window_dock.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/disk.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/disk_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/disk_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_close.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_maximize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_maximize.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_pin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_pin.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_restore.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_screenshot.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_unpin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_unpin.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dock_icon_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dock_icon_visibility.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/dropper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/dropper.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/error.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/error_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/error_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/exclamination.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/exclamination.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/exclamination_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/exclamination_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/folder_open_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/folder_open_arrow.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/folder_open_arrow_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/folder_open_arrow_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/folder_open_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/folder_open_up.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/folder_open_up_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/folder_open_up_gray.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/folder_open_up_gray_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/folder_open_up_gray_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/folder_open_up_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/folder_open_up_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/fullscreen.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/help.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/help_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/help_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/icon3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/icon3d.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/iconxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/iconxy.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/iconxz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/iconxz.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/iconyz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/iconyz.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/information.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/information_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/information_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/magnifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/magnifier.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/magnifier_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/magnifier_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/measure_density.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/measure_density.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/measure_density_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/measure_density_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/measure_distance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/measure_distance.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/measure_distance_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/measure_distance_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/models.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/models.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/models_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/models_dock.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/normal_slice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/normal_slice.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/ortho_slices_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/ortho_slices_window.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/ortho_slices_window_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/ortho_slices_window_dock.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/ortho_slices_window_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/ortho_slices_window_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/page.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/page_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/page_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/page_multiple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/page_multiple.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/page_multiple_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/page_multiple_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/page_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/page_white.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/page_white_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/page_white_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/printer.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/printer_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/printer_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/regions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/regions.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/segmentation_window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/segmentation_window.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/segmentation_window_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/segmentation_window_dock.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/segmentation_window_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/segmentation_window_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_bone_model.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_bone_model.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_bone_model_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_bone_model_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_volume_rendering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_volume_rendering.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_volume_rendering_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_volume_rendering_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_xy_slice3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_xy_slice3.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_xy_slice3_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_xy_slice3_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_xz_slice3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_xz_slice3.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_xz_slice3_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_xz_slice3_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_yz_slice3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_yz_slice3.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/show_yz_slice3_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/show_yz_slice3_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/slice_move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/slice_move.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/slice_move_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/slice_move_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/star.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/star_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/star_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/tick.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/tick_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/tick_gray.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/tick_gray_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/tick_gray_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/tick_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/tick_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/trackball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/trackball.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/trackball_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/trackball_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/user.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/user_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/user_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/volume_rendering_window2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/volume_rendering_window2.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/volume_rendering_window2_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/volume_rendering_window2_dock.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/volume_rendering_window2_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/volume_rendering_window2_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/xy_ortho_window2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/xy_ortho_window2.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/xy_ortho_window2_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/xy_ortho_window2_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/xz_ortho_window2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/xz_ortho_window2.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/xz_ortho_window2_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/xz_ortho_window2_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/yz_ortho_window2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/yz_ortho_window2.png -------------------------------------------------------------------------------- /applications/3DimViewer/resources/yz_ortho_window2_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/resources/yz_ortho_window2_menu.png -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/fbo.frag: -------------------------------------------------------------------------------- 1 | varying vec4 fragWorldPosition; 2 | 3 | void main() 4 | { 5 | vec4 wPos = fragWorldPosition; 6 | vec4 vPos = gl_ModelViewMatrix * wPos; 7 | vec4 pPos = gl_ProjectionMatrix * vPos; 8 | pPos /= pPos.w; 9 | 10 | gl_FragData[0] = vec4(pPos.xyz, 0.0); 11 | } 12 | -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/fsquad.vert: -------------------------------------------------------------------------------- 1 | void main() 2 | { 3 | // Transforming The Vertex 4 | gl_Position = gl_Vertex; 5 | gl_TexCoord[0] = gl_Vertex * 0.5 + 0.5; 6 | } 7 | -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup01.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup01.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup02.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup02.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup03.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup03.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup04.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup04.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup05.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup05.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup06.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup06.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup07.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup07.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/lookup08.rgba: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/lookup08.rgba -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/noise.gray: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/shaders2/noise.gray -------------------------------------------------------------------------------- /applications/3DimViewer/shaders2/simple.vert: -------------------------------------------------------------------------------- 1 | varying vec4 fragWorldPosition; 2 | 3 | void main() 4 | { 5 | // Transforming The Vertex 6 | gl_Position = ftransform(); 7 | fragWorldPosition = vec4(gl_Vertex.xyz, 1.0); 8 | } 9 | -------------------------------------------------------------------------------- /applications/3DimViewer/src/cpreferencesdialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/applications/3DimViewer/src/cpreferencesdialog.cpp -------------------------------------------------------------------------------- /applications/3DimViewer/svg/density_window_dock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 40 | 42 | 43 | 45 | image/svg+xml 46 | 48 | 49 | 50 | 51 | 52 | 57 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /applications/3DimViewer/ui/CDataInfoDialog.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | CDataInfoDialog 4 | 5 | 6 | 7 | 0 8 | 0 9 | 560 10 | 349 11 | 12 | 13 | 14 | 15 | 400 16 | 300 17 | 18 | 19 | 20 | Data Information 21 | 22 | 23 | true 24 | 25 | 26 | 27 | 28 | 29 | QAbstractItemView::NoSelection 30 | 31 | 32 | QAbstractItemView::SelectRows 33 | 34 | 35 | 2 36 | 37 | 38 | 200 39 | 40 | 41 | true 42 | 43 | 44 | false 45 | 46 | 47 | 24 48 | 49 | 50 | 51 | Parameter 52 | 53 | 54 | 55 | 56 | Value 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /applications/3DimViewer/ui/cinfodialog.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | CInfoDialog 4 | 5 | 6 | 7 | 0 8 | 0 9 | 560 10 | 364 11 | 12 | 13 | 14 | 15 | 400 16 | 300 17 | 18 | 19 | 20 | Information 21 | 22 | 23 | true 24 | 25 | 26 | 27 | 28 | 29 | QAbstractItemView::NoSelection 30 | 31 | 32 | QAbstractItemView::SelectRows 33 | 34 | 35 | 2 36 | 37 | 38 | 200 39 | 40 | 41 | true 42 | 43 | 44 | false 45 | 46 | 47 | 24 48 | 49 | 50 | 51 | Parameter 52 | 53 | 54 | 55 | 56 | Value 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /include/3dim/buildversion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define VER_BUILD_PRIV 1 3 | -------------------------------------------------------------------------------- /include/3dim/configure.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | //////////////////////////////////////////////////////////// 22 | 23 | #ifndef ConfigureLibrary_H 24 | #define ConfigureLibrary_H 25 | 26 | // Type of the volume rendering algorithm 27 | #define USE_PSVR 28 | 29 | // Should shaders be loaded from text files 30 | //#define LOAD_SHADERS 31 | 32 | // Type of the 3D orientation assistant 33 | #define USE_BODY 34 | 35 | #endif // ConfigureLibrary_H 36 | 37 | //////////////////////////////////////////////////////////// 38 | //////////////////////////////////////////////////////////// 39 | -------------------------------------------------------------------------------- /include/3dim/core/alg/CReduceSmallSubmeshes.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CReduceSmallSubmeshes_H 24 | #define CReduceSmallSubmeshes_H 25 | 26 | #include 27 | 28 | // STL 29 | 30 | 31 | /////////////////////////////////////////////////////////////////////////////// 32 | //! CSmallSubmeshReducer 33 | //! - Reduces small connected submeshes of a vector entity mesh. 34 | 35 | class CSmallSubmeshReducer 36 | { 37 | public: 38 | //! Method performs removal of all submeshes which have less than specified number of triangles. 39 | bool reduce(geometry::CMesh &mesh, int triangle_threshold); 40 | 41 | //! Method keeps only the largest submesh, all others are removed. 42 | bool reduceNonMax(geometry::CMesh &mesh); 43 | }; 44 | 45 | 46 | #endif // CReduceSmallSubmeshes_H 47 | -------------------------------------------------------------------------------- /include/3dim/core/alg/CRegionCounter.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CRegionCounter_H_included 24 | #define CRegionCounter_H_included 25 | 26 | #include 27 | 28 | // STL 29 | 30 | class CRegionCounter 31 | { 32 | public: 33 | //! Count regions 34 | static size_t count(geometry::CMesh &mesh); 35 | }; 36 | 37 | // CRegionCounter_H_included 38 | #endif -------------------------------------------------------------------------------- /include/3dim/core/app/CMainThreadCallback.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef MainThreadCallback_H 24 | #define MainThreadCallback_H 25 | 26 | class CMainThreadCallback 27 | { 28 | public: 29 | CMainThreadCallback() 30 | { } 31 | 32 | virtual ~CMainThreadCallback() 33 | { } 34 | 35 | CMainThreadCallback(const CMainThreadCallback &other) 36 | { } 37 | 38 | CMainThreadCallback &operator=(const CMainThreadCallback &other) 39 | { 40 | if (this == &other) 41 | { 42 | return *this; 43 | } 44 | 45 | return *this; 46 | } 47 | 48 | virtual void operator()() const 49 | { } 50 | }; 51 | 52 | #endif // MainThreadCallback_H 53 | 54 | -------------------------------------------------------------------------------- /include/3dim/core/app/tinyLog.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Copyright 2018 TESCAN 3DIM, s.r.o. 4 | // All rights reserved 5 | // 6 | /////////////////////////////////////////////////////////////////////////////// 7 | 8 | #pragma once 9 | 10 | #include 11 | 12 | namespace app { 13 | 14 | class Log { 15 | 16 | public: 17 | 18 | /* 19 | Opens file for appending. 20 | */ 21 | Log(std::string filename) { 22 | m_name = filename; 23 | 24 | m_logFile.open(m_name, std::ios::app); 25 | 26 | } 27 | 28 | /* 29 | Just closes file if it's open. 30 | */ 31 | ~Log() { 32 | 33 | if (m_logFile.is_open()) 34 | m_logFile.close(); 35 | 36 | } 37 | 38 | /* 39 | If file is closed it is opened and message is appended. 40 | */ 41 | void append(std::string msg, bool print = false) { 42 | 43 | if (not m_logFile.is_open()) 44 | m_logFile.open(m_name, std::ios::app); 45 | 46 | 47 | if (m_logFile.is_open()) 48 | m_logFile << msg; 49 | 50 | if (m_autoNewline) 51 | m_logFile << std::endl; 52 | 53 | if (print) 54 | std::cout << msg; 55 | 56 | } 57 | 58 | /* 59 | Closes file. for when you won't be needing the file for a while. 60 | */ 61 | void done() { 62 | 63 | m_logFile.close(); 64 | } 65 | 66 | void setAutoNewline(bool value) { 67 | m_autoNewline = value; 68 | } 69 | 70 | private: 71 | std::ofstream m_logFile; 72 | std::string m_name; 73 | bool m_autoNewline = false; 74 | 75 | }; 76 | } 77 | -------------------------------------------------------------------------------- /include/3dim/core/data/CDummyStorable.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CDummyStorable_H 24 | #define CDummyStorable_H 25 | 26 | #include "CStorableData.h" 27 | 28 | 29 | namespace data 30 | { 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | //! Dummy data stored in the data storage. 34 | 35 | class CDummyStorable : public CStorableData 36 | { 37 | public: 38 | //! Object creation function. 39 | static CStorableData *create() { return new CDummyStorable(); } 40 | 41 | //! Constructor 42 | CDummyStorable() {} 43 | 44 | //! Destructor. 45 | virtual ~CDummyStorable() {} 46 | 47 | //! Regenerates the object state according to any changes in the data storage. 48 | virtual void update(const CChangedEntries& VPL_UNUSED(Changes)) {} 49 | 50 | //! Initializes the object to its default state. 51 | virtual void init() {} 52 | 53 | //! Returns true if changes of a given parent entry may affect this object. 54 | bool checkDependency(CStorageEntry * VPL_UNUSED(pParent)) { return true; } 55 | }; 56 | 57 | 58 | } // namespace data 59 | 60 | #endif // CDummyStorable_H 61 | 62 | -------------------------------------------------------------------------------- /include/3dim/core/data/CStorageIdRemapperBase.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef CStorageIdRemapperBase_H 3 | #define CStorageIdRemapperBase_H 4 | 5 | #include 6 | 7 | namespace data 8 | { 9 | class CStorageIdRemapperBase 10 | { 11 | public: 12 | CStorageIdRemapperBase(); 13 | virtual ~CStorageIdRemapperBase() = default; 14 | 15 | int getId(int oldId) const; 16 | 17 | protected: 18 | std::vector m_idMap; 19 | }; 20 | } 21 | 22 | #endif -------------------------------------------------------------------------------- /include/3dim/core/data/CUndoBase.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id: CUndoBase.h 3908 2013-08-13 05:34:45Z wilczak $ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CUndoBase_H 24 | #define CUndoBase_H 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | #include 31 | 32 | namespace data 33 | { 34 | 35 | } // namespace data 36 | 37 | #endif // CUndoBase_H 38 | -------------------------------------------------------------------------------- /include/3dim/core/math/sha1.h: -------------------------------------------------------------------------------- 1 | /* ================ sha1.h ================ */ 2 | /* 3 | SHA-1 in C 4 | By Steve Reid 5 | 100% Public Domain 6 | */ 7 | 8 | #ifndef __SHA1__ 9 | #define __SHA1__ 10 | 11 | #include 12 | #include 13 | #include /* for u_int*_t */ 14 | 15 | typedef unsigned u_int32_t; 16 | 17 | typedef struct { 18 | u_int32_t state[5]; 19 | u_int32_t count[2]; 20 | unsigned char buffer[64]; 21 | } SHA1_CTX; 22 | 23 | void SHA1Transform(u_int32_t state[5], const unsigned char buffer[64]); 24 | void SHA1Init(SHA1_CTX* context); 25 | void SHA1Update(SHA1_CTX* context, const unsigned char* data, u_int32_t len); 26 | void SHA1Final(unsigned char digest[20], SHA1_CTX* context); 27 | /* ================ end of sha1.h ================ */ 28 | //#include 29 | 30 | #define rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) 31 | 32 | /* blk0() and blk() perform the initial expand. */ 33 | /* I got the idea of expanding during the round function from SSLeay */ 34 | #if BYTE_ORDER == LITTLE_ENDIAN 35 | #define blk0(i) (block->l[i] = (rol(block->l[i],24)&0xFF00FF00) \ 36 | |(rol(block->l[i],8)&0x00FF00FF)) 37 | #elif BYTE_ORDER == BIG_ENDIAN 38 | #define blk0(i) block->l[i] 39 | #else 40 | #error "Endianness not defined!" 41 | #endif 42 | #define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \ 43 | ^block->l[(i+2)&15]^block->l[i&15],1)) 44 | 45 | /* (R0+R1), R2, R3, R4 are the different operations used in SHA1 */ 46 | #define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30); 47 | #define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30); 48 | #define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30); 49 | #define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30); 50 | #define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); 51 | 52 | #endif -------------------------------------------------------------------------------- /include/3dim/core/osg/dbout.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef DBOUT_H_INCLUDED 23 | #define DBOUT_H_INCLUDED 24 | 25 | #ifdef _MSC_VER 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | //! Trace macro used to output debug information to the visual studio output window. 32 | #define DBOUT( s ) \ 33 | { \ 34 | std::wostringstream os_; \ 35 | os_ << s << std::endl; \ 36 | OutputDebugString( os_.str().c_str() ); \ 37 | } 38 | 39 | #define DBOUT_VEC(msg, v) DBOUT((msg) << (v)[0] << ", " << (v)[1] << ", " << (v)[2]) 40 | #define DBOUT_MTX(msg, m) \ 41 | { \ 42 | DBOUT(msg); \ 43 | DBOUT(m(0, 0) << "\t" << m(0, 1) << "\t" << m(0, 2) << "\t" << m(0, 3)); \ 44 | DBOUT(m(1, 0) << "\t" << m(1, 1) << "\t" << m(1, 2) << "\t" << m(1, 3)); \ 45 | DBOUT(m(2, 0) << "\t" << m(2, 1) << "\t" << m(2, 2) << "\t" << m(2, 3)); \ 46 | DBOUT(m(3, 0) << "\t" << m(3, 1) << "\t" << m(3, 2) << "\t" << m(3, 3)); \ 47 | } 48 | #else 49 | 50 | #define DBOUT( s ) 51 | #define DBOUT_VEC( msg, v ) 52 | #define DBOUT_MTX( msg, m ) 53 | 54 | #endif 55 | 56 | //DBOUT_H_INCLUDED 57 | #endif 58 | 59 | -------------------------------------------------------------------------------- /include/3dim/core/osg/osgcompat.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // OpenSceneGraph compatibility header 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef OSGCOMPAT_H_INCLUDED 24 | #define OSGCOMPAT_H_INCLUDED 25 | 26 | #pragma once 27 | 28 | #include 29 | #include 30 | #include 31 | #include 32 | #include 33 | 34 | #if OSG_VERSION_GREATER_OR_EQUAL(3,2,0) 35 | typedef std::vector< osg::ref_ptr > UniDrawableList; 36 | UniDrawableList getGeodeDrawableList(osg::Geode *pGeode); 37 | #define OSGGETBOUND(x) x->getBoundingBox() 38 | #define OSGCOMPUTEBOUND(x) x->computeBoundingBox() 39 | #else 40 | typedef osg::Geode::DrawableList UniDrawableList; 41 | UniDrawableList getGeodeDrawableList(osg::Geode *pGeode); 42 | #define OSGGETBOUND(x) x->getBound() 43 | #define OSGCOMPUTEBOUND(x) x->computeBound() 44 | #endif 45 | 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /include/3dim/coremedi/data/CBitOperations.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CBitOperations_H 24 | #define CBitOperations_H 25 | 26 | namespace data 27 | { 28 | 29 | //#define BITINDEXTEST 1 30 | 31 | #ifdef BITINDEXTEST 32 | 33 | #define INDEXTEST { assert(bitIndex >= 0 && sizeof(tPixel) > bitIndex);}; 34 | 35 | #else 36 | 37 | #define INDEXTEST 38 | 39 | #endif 40 | 41 | template 42 | int getBitFromValue(const tPixel& value, tPixel bitIndex) 43 | { 44 | INDEXTEST; 45 | 46 | tPixel mask = tPixel(1) << bitIndex; 47 | tPixel maskedValue = value & mask; 48 | return maskedValue >> bitIndex; 49 | } 50 | 51 | template 52 | void setBitInValue(tPixel& value, tPixel bitIndex) 53 | { 54 | INDEXTEST; 55 | 56 | value |= tPixel(1) << bitIndex; 57 | } 58 | 59 | template 60 | void clearBitInValue(tPixel& value, tPixel bitIndex) 61 | { 62 | INDEXTEST; 63 | 64 | value &= ~(tPixel(1) << bitIndex); 65 | } 66 | 67 | } 68 | 69 | #endif // CBitOperations_H 70 | 71 | /////////////////////////////////////////////////////////////////////////////// 72 | /////////////////////////////////////////////////////////////////////////////// 73 | -------------------------------------------------------------------------------- /include/3dim/coremedi/data/CColorTable.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef CColorTable_H 23 | #define CColorTable_H 24 | 25 | #include 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | namespace data 32 | { 33 | class CColorTable 34 | { 35 | public: 36 | CColorTable(); 37 | 38 | osg::Vec3 randomNext(); 39 | 40 | static const osg::Vec3& get(int index); 41 | static int size(); 42 | 43 | private: 44 | double m_lastHue; 45 | 46 | std::mt19937 m_mt; 47 | std::uniform_real_distribution m_saturationRange; 48 | std::uniform_real_distribution m_valueRange; 49 | 50 | static std::array m_colorTable; 51 | }; 52 | } 53 | #endif 54 | -------------------------------------------------------------------------------- /include/3dim/coremedi/data/CDicomSaverDCTk.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CDicomSaverDCTK_H 24 | #define CDicomSaverDCTK_H 25 | 26 | #if !defined( TRIDIM_USE_GDCM ) 27 | 28 | #include 29 | #include 30 | 31 | //forward declaration 32 | namespace Ui 33 | { 34 | class MainWindow; 35 | 36 | } 37 | namespace data 38 | { 39 | 40 | ////////////////////////////////////////////////////////////////////////// 41 | //! Dicom dataset saver (using DCTk). 42 | class CDicomSaverDCTk : public data::CDicomSaver 43 | { 44 | public: 45 | //! Default constructor. 46 | CDicomSaverDCTk(); 47 | 48 | //! Destructor. 49 | ~CDicomSaverDCTk(); 50 | 51 | //! Saves current DICOM serie 52 | virtual bool saveSerie(std::string dirName, bool bSaveSegmented, bool bSaveCompressed, 53 | bool bSaveActive, bool bSaveVOI, bool bAnonymize, 54 | std::string anonymString, std::string anonymID, vpl::mod::CProgress::tProgressFunc & progress) override; 55 | 56 | }; 57 | 58 | } // namespace data 59 | 60 | #endif // TRIDIM_USE_GDCM 61 | #endif // CDicomSaverDCTK_H 62 | -------------------------------------------------------------------------------- /include/3dim/coremedi/data/CRestorePoint.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CRestorePoint_H 24 | #define CRestorePoint_H 25 | 26 | #include 27 | #include 28 | 29 | namespace data 30 | { 31 | class CRestorePoint 32 | { 33 | protected: 34 | data::CSnapshot *m_snapshot; 35 | std::set m_storageIds; 36 | bool m_stored; 37 | 38 | public: 39 | CRestorePoint(); 40 | CRestorePoint(const CRestorePoint &other); 41 | ~CRestorePoint(); 42 | CRestorePoint &operator=(const CRestorePoint &other); 43 | 44 | public: 45 | bool addSnapshot(data::CSnapshot *snapshot, int storageId); 46 | bool store(); 47 | }; 48 | } // namespace data 49 | 50 | #endif // CRestorePoint_H 51 | -------------------------------------------------------------------------------- /include/3dim/coremedi/data/CStorageIdRemapper.h: -------------------------------------------------------------------------------- 1 | #ifndef CStorageIdRemapper_H 2 | #define CStorageIdRemapper_H 3 | 4 | #include "data/CStorageIdRemapperBase.h" 5 | 6 | namespace data 7 | { 8 | class CStorageIdRemapper : public CStorageIdRemapperBase 9 | { 10 | public: 11 | CStorageIdRemapper(); 12 | 13 | protected: 14 | const int oldMaxImportedModels; 15 | const int oldMaxModels; 16 | }; 17 | } 18 | 19 | #endif -------------------------------------------------------------------------------- /include/3dim/coremedi_viewer/data/ESnapshotType.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef ESnapshotType_H 24 | #define ESnapshotType_H 25 | 26 | #include 27 | 28 | namespace data 29 | { 30 | 31 | //! Types of the undo objects 32 | enum EType 33 | { 34 | // UNDO_ALL = 0, Already defined in the CSnapshot 35 | UNDO_SEGMENTATION = 1, 36 | //UNDO_IMPLANTS = 2, 37 | UNDO_MODELS = 4, 38 | //UNDO_NERVES = 8, 39 | //UNDO_TEETH = 16, 40 | UNDO_NOTES = 64, 41 | UNDO_MANSEG3D = 128 42 | }; 43 | 44 | } // namespace data 45 | 46 | #endif // ESnapshotType_H 47 | -------------------------------------------------------------------------------- /include/3dim/geometry/base/CAction.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2015 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef CACTION_H 23 | #define CACTION_H 24 | 25 | //////////////////////////////////////////////////////////// 26 | // include 27 | #include 28 | #include 29 | 30 | namespace geometry 31 | { 32 | class CAction 33 | { 34 | protected: 35 | std::map m_keyframes; 36 | 37 | public: 38 | CAction(); 39 | CAction(const CAction &other); 40 | ~CAction(); 41 | 42 | public: 43 | CKeyframe sample(int frame); 44 | 45 | std::map &getKeyframes(); 46 | const std::map &getKeyframes() const; 47 | 48 | private: 49 | Matrix matrixLerp(const Matrix &from, const Matrix &to, double weight); 50 | 51 | public: 52 | friend class CModel; 53 | }; 54 | } // namespace geometry 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /include/3dim/geometry/base/CArmature.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2015 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef CARMATURE_H 23 | #define CARMATURE_H 24 | 25 | //////////////////////////////////////////////////////////// 26 | // include 27 | #include 28 | #include 29 | 30 | namespace geometry 31 | { 32 | class CArmature : public CBone 33 | { 34 | protected: 35 | std::map m_actions; 36 | 37 | public: 38 | CArmature(const geometry::Matrix &matrix = geometry::Matrix::identity()); 39 | ~CArmature(); 40 | 41 | CArmature *clone() const; 42 | CArmature *clone(std::map& boneMapping) const; 43 | 44 | std::map &getActions(); 45 | const std::map &getActions() const; 46 | 47 | protected: 48 | static void deepCopy(const CArmature *src, CArmature *dst, std::map &boneMapping); 49 | 50 | }; 51 | } // namespace data 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /include/3dim/geometry/base/CBoneSnapshot.h: -------------------------------------------------------------------------------- 1 | #ifndef CBONESNAPSHOT_H 2 | #define CBONESNAPSHOT_H 3 | 4 | #include 5 | #include 6 | 7 | 8 | namespace data 9 | { 10 | class CBoneSnapshot : public data::CSnapshot 11 | { 12 | public: 13 | geometry::Matrix m_defaultBoneMatrix; 14 | geometry::Matrix m_boneTransformationMatrix; 15 | 16 | public: 17 | CBoneSnapshot(data::CUndoProvider* provider = nullptr); 18 | virtual long getDataSize(); 19 | }; 20 | } 21 | 22 | #endif -------------------------------------------------------------------------------- /include/3dim/geometry/base/CKeyframe.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2015 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef CKEYFRAME_H 23 | #define CKEYFRAME_H 24 | 25 | //////////////////////////////////////////////////////////// 26 | // include 27 | #include 28 | #include 29 | 30 | namespace geometry 31 | { 32 | class CKeyframe 33 | { 34 | protected: 35 | std::map m_matrices; 36 | 37 | public: 38 | CKeyframe(); 39 | CKeyframe(const CKeyframe &other); 40 | CKeyframe(CBone *bone); 41 | ~CKeyframe(); 42 | 43 | CKeyframe operator+(const CKeyframe &other); 44 | CKeyframe &operator=(const CKeyframe &other); 45 | 46 | void apply(); 47 | 48 | std::map &getMatrices(); 49 | const std::map &getMatrices() const; 50 | 51 | protected: 52 | void addMatricesFromBone(CBone *bone); 53 | 54 | friend class CAction; 55 | friend class CModel; 56 | }; 57 | } // namespace geometry 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /include/3dim/geometry/base/MTLReader.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2015 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef MTLREADER_H 23 | #define MTLREADER_H 24 | 25 | #include 26 | #include 27 | 28 | namespace geometry 29 | { 30 | struct Material 31 | { 32 | public: 33 | std::string name; 34 | std::string map_Kd; 35 | 36 | public: 37 | Material(); 38 | ~Material(); 39 | }; 40 | 41 | class MTLReader 42 | { 43 | private: 44 | static std::string getLine(std::istream &stream); 45 | static std::vector getItems(std::string source); 46 | 47 | public: 48 | MTLReader(); 49 | ~MTLReader(); 50 | bool read(const std::string &filename, std::vector &materials); 51 | 52 | private: 53 | bool read(std::ifstream &input, std::vector &materials); 54 | }; 55 | } 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /include/3dim/geometry/base/OBJReader.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2015 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef OBJREADER_H 23 | #define OBJREADER_H 24 | 25 | #include 26 | #include 27 | 28 | namespace geometry 29 | { 30 | class OBJReader 31 | { 32 | private: 33 | static std::string getLine(std::istream &stream); 34 | static std::vector getItems(std::string source); 35 | 36 | public: 37 | OBJReader(); 38 | ~OBJReader(); 39 | bool read(const std::string &filename, geometry::CMesh &mesh, std::vector &materialFiles); 40 | 41 | private: 42 | bool read(std::ifstream &input, geometry::CMesh &mesh, std::vector &materialFiles); 43 | }; 44 | } 45 | #endif 46 | -------------------------------------------------------------------------------- /include/3dim/geometry/base/OMMesh.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | 23 | #ifndef OMMESH_H 24 | #define OMMESH_H 25 | 26 | #ifndef OM_STATIC_BUILD 27 | #define OM_STATIC_BUILD 28 | #endif 29 | 30 | #include 31 | #include 32 | #include 33 | 34 | namespace geometry 35 | { 36 | 37 | // define our OM mesh 38 | struct OMTraits : public OpenMesh::DefaultTraits 39 | { 40 | VertexAttributes(OpenMesh::Attributes::Status | OpenMesh::Attributes::Normal | OpenMesh::Attributes::Color | OpenMesh::Attributes::TexCoord2D); 41 | FaceAttributes(OpenMesh::Attributes::Status | OpenMesh::Attributes::Normal); 42 | EdgeAttributes(OpenMesh::Attributes::Status | OpenMesh::Attributes::Normal); 43 | HalfedgeAttributes(OpenMesh::Attributes::Status); 44 | }; 45 | 46 | typedef OpenMesh::TriMesh_ArrayKernelT OMMesh; 47 | 48 | }; // namespace data 49 | 50 | #endif // OMMESH_H -------------------------------------------------------------------------------- /include/3dim/graph/data/CSerializableOSG.hxx: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | //! Serialize matrix 24 | template < class tpMatrix > 25 | template< class tpSerializer, int size > 26 | void COSGMatrixSerializer< tpMatrix >::serialize( const tpMatrix & m, vpl::mod::CChannelSerializer & s ) 27 | { 28 | // serialize matrix size 29 | s.write( (vpl::sys::tInt32)size ); 30 | 31 | // serialize elements 32 | for( int r = 0; r < size; ++r ) 33 | for( int c = 0; c < size; ++c ) 34 | s.write( m( r, c ) ); 35 | } 36 | 37 | //! Deserialize matrix 38 | template < class tpMatrix > 39 | template< class tpSerializer, int size > 40 | void COSGMatrixSerializer< tpMatrix >::deserialize( tpMatrix & m, vpl::mod::CChannelSerializer & s ) 41 | { 42 | // serialize matrix size 43 | vpl::sys::tInt32 n = 0; 44 | s.read( n ); 45 | size = n; 46 | 47 | // serialize elements 48 | for( int r = 0; r < size; ++r ) 49 | for( int c = 0; c < size; ++c ) 50 | s.read( m( r, c ) ); 51 | } 52 | -------------------------------------------------------------------------------- /include/3dim/graph/osg/BoundingRectangle.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef BoundingRectangle_H 24 | #define BoundingRectangle_H 25 | 26 | #include 27 | 28 | namespace osg 29 | { 30 | class BoundingRectangle 31 | { 32 | private: 33 | bool m_valid; 34 | osg::Vec2d m_min; 35 | osg::Vec2d m_max; 36 | 37 | public: 38 | BoundingRectangle(); 39 | BoundingRectangle(const BoundingRectangle &other); 40 | BoundingRectangle(const osg::Vec2d min, const osg::Vec2d max); 41 | ~BoundingRectangle(); 42 | BoundingRectangle &operator=(const BoundingRectangle &other); 43 | void expandBy(const osg::Vec2d &point); 44 | bool intersects(const BoundingRectangle &other) const; 45 | bool contains(const osg::Vec2d &point) const; 46 | bool contains(const BoundingRectangle &rectangle) const; 47 | bool isValid() const; 48 | void invalidate(); 49 | osg::Vec2d getMin() const; 50 | osg::Vec2d getMax() const; 51 | }; 52 | } 53 | 54 | #endif // BoundingRectangle_H 55 | -------------------------------------------------------------------------------- /include/3dim/graph/osg/CEventHandlerBase.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef EVENTHANDLERBASE_H_INCLUDED 24 | #define EVENTHANDLERBASE_H_INCLUDED 25 | 26 | #include 27 | class OSGCanvas; 28 | 29 | namespace scene 30 | { 31 | class CEventHandlerBase : public osgGA::GUIEventHandler 32 | { 33 | public: 34 | //! Constructor 35 | CEventHandlerBase( OSGCanvas * canvas = NULL); 36 | 37 | //! Set canvas pointer 38 | void setCanvas( OSGCanvas * canvas ); 39 | 40 | //! Refresh scene 41 | virtual void refresh( bool eraseBackground = true ); 42 | 43 | protected: 44 | //! Canvas pointer 45 | OSGCanvas * m_canvas; 46 | 47 | }; // class CEventHandlerBase 48 | } // namespace scene 49 | 50 | //EVENTHANDLERBASE_H_INCLUDED 51 | #endif 52 | 53 | -------------------------------------------------------------------------------- /include/3dim/graph/osg/COnOffNode.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef COnOffNode_H 24 | #define COnOffNode_H 25 | 26 | #include 27 | 28 | namespace osg 29 | { 30 | class COnOffNode : public Switch 31 | { 32 | public: 33 | COnOffNode(bool isOn = true); 34 | 35 | void hide(); 36 | void show(); 37 | 38 | bool isVisible() const; 39 | 40 | void setOnOffState(bool newState); 41 | 42 | virtual void traverse(NodeVisitor& nv) override; 43 | virtual BoundingSphere computeBound() const override; 44 | 45 | protected: 46 | using Switch::setAllChildrenOn; 47 | using Switch::setAllChildrenOff; 48 | 49 | protected: 50 | bool m_isOn; 51 | }; 52 | } 53 | 54 | #endif 55 | 56 | /////////////////////////////////////////////////////////////////////////////// 57 | /////////////////////////////////////////////////////////////////////////////// 58 | -------------------------------------------------------------------------------- /include/3dim/graph/osg/CShaderTester.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CShaderTester_H_included 24 | #define CShaderTester_H_included 25 | 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | // #define SHADERLOG 32 | 33 | namespace osg 34 | { 35 | class CShaderTester : public osg::Geometry 36 | { 37 | protected: 38 | bool m_initialized; 39 | bool m_compiled; 40 | GLenum m_shaderType; 41 | std::string m_vertSource; 42 | std::string m_geomSource; 43 | std::string m_fragSource; 44 | std::string m_programName; 45 | 46 | public: 47 | CShaderTester(std::string programName, std::string vertSource, std::string geomSource, std::string fragSource); 48 | ~CShaderTester(); 49 | GLuint createAndCompileShader(GLenum shaderType, const char *shaderSource) const; 50 | virtual void drawImplementation(osg::RenderInfo &renderInfo) const; 51 | }; 52 | } 53 | 54 | #endif // CShaderTester_H_included 55 | -------------------------------------------------------------------------------- /include/3dim/graph/osg/CTools.h: -------------------------------------------------------------------------------- 1 | #include "osg/Node" 2 | /////////////////////////////////////////////////////////////////////////////// 3 | // $Id$ 4 | // 5 | // 3DimViewer 6 | // Lightweight 3D DICOM viewer. 7 | // 8 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 9 | // 10 | // Licensed under the Apache License, Version 2.0 (the "License"); 11 | // you may not use this file except in compliance with the License. 12 | // You may obtain a copy of the License at 13 | // 14 | // http://www.apache.org/licenses/LICENSE-2.0 15 | // 16 | // Unless required by applicable law or agreed to in writing, software 17 | // distributed under the License is distributed on an "AS IS" BASIS, 18 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 | // See the License for the specific language governing permissions and 20 | // limitations under the License. 21 | // 22 | /////////////////////////////////////////////////////////////////////////////// 23 | 24 | #ifndef CTools_H_included 25 | #define CTools_H_included 26 | 27 | namespace osg 28 | { 29 | 30 | // Compute node path to the root 31 | //void computeNodePathToRoot(osg::Node& node, osg::NodePath& np); 32 | 33 | // Compute world to local matrix 34 | osg::Matrix getWorldToLocalMatrix( osg::Node & node ); 35 | 36 | // Compute local to world matrix 37 | osg::Matrix getLocalToWorldMatrix( osg::Node & node ); 38 | } // namespace osg 39 | 40 | // CTools_H_included 41 | #endif -------------------------------------------------------------------------------- /include/3dim/graph/osg/DraggerColorDefines.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef DraggerColorDefines_H 24 | #define DraggerColorDefines_H 25 | 26 | #define COLOR_X_TRANSLATE osg::Vec3( 1.0f, 0.0f, 0.0f ) 27 | #define COLOR_Y_TRANSLATE osg::Vec3( 0.0f, 1.0f, 0.0f ) 28 | #define COLOR_Z_TRANSLATE osg::Vec3( 0.0f, 0.0f, 1.0f ) 29 | #define COLOR_ABUTMENT osg::Vec3( 0.0f, 1.0f, 1.0f ) 30 | #define COLOR_X_ROTATE osg::Vec3( 1.0f, 0.0f, 0.0f ) 31 | #define COLOR_Y_ROTATE osg::Vec3( 0.0f, 1.0f, 0.0f ) 32 | #define COLOR_Z_ROTATE osg::Vec3( 0.0f, 0.0f, 1.0f ) 33 | #define COLOR_ALIGNED_TRANSLATE osg::Vec3( 1.0f, 0.55f, 0.0f ) 34 | #define COLOR_NORMAL_PLANE_TRANSLATE osg::Vec3( 1.0f, 0.0f, 1.0f ) 35 | #define COLOR_NORMAL_PLANE_ROTATE osg::Vec3( 1.0f, 0.0f, 1.0f ) 36 | #define COLOR_PICKED osg::Vec3( 1.0f, 1.0f, 0.0f ) 37 | #define COLOR_DRILL_STOP osg::Vec3( 1.0, 0.7, 0.0 ) 38 | 39 | #endif // DraggerColorDefines_H -------------------------------------------------------------------------------- /include/3dim/graph/osg/IHoverDragger.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace osgManipulator 4 | { 5 | //////////////////////////////////////////////////////////// 6 | //! Dragger interface used mostly for highlighting actual dragger 7 | // 8 | class IHoverDragger 9 | { 10 | public: 11 | virtual void onMouseEnter() = 0; 12 | virtual void onMouseLeave() = 0; 13 | }; 14 | } -------------------------------------------------------------------------------- /include/3dim/graph/osg/NodeMasks.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | #ifndef NodeMasks_H_included 23 | #define NodeMasks_H_included 24 | 25 | // Used masks for nodes 26 | #define MASK_VISIBLE_OBJECT 1 << 0 27 | #define MASK_GIZMO 1 << 1 28 | 29 | #define MASK_DRAGGABLE_SLICE_DRAGGER 1 << 2 30 | #define MASK_OVERLAY_ITEM_DRAGGER 1 << 3 31 | #define MASK_DRAGGER_GEOMETRY 1 << 4 32 | #define IMPLANT_DRAGGER_EH_MASK 1 << 5 33 | #define TOOTH_DRAGGER_EH_MASK 1 << 6 34 | #define SCANBODY_DRAGGER_EH_MASK 1 << 7 35 | #define OVERLAY_ITEM_EH_MASK 1 << 8 36 | #define MASK_NERVE_DRAGGER 1 << 9 37 | #define MASK_CURVE_DRAGGER 1 << 10 38 | #define MASK_MODEL_DRAGGER 1 << 11 39 | #define MASK_CEPHALO_SHAPE_DRAGGER 1 << 12 40 | #define MASK_CEPHALO_LANDMARK_DRAGGER 1 << 13 41 | 42 | #define MASK_REGION_PREVIEW 1 << 14 43 | 44 | #define MASK_LANDMARK_ANNOTATION 1 << 15 45 | 46 | #define MASK_ORTHO_2D_DRAGGER 1 << 15 47 | 48 | // NodeMasks_H_included 49 | #endif 50 | 51 | -------------------------------------------------------------------------------- /include/3dim/graph/render/glErrorReporting.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // This file comes from proprietary 3Dim Laboratory s.r.o. software 5 | // and was modified for 6 | // 7 | // BlueSkyPlan version 3.x 8 | // Diagnostic and implant planning software for dentistry. 9 | // 10 | // The original license can be found below. 11 | // 12 | // Changes are Copyright 2012 Blue Sky Bio, LLC 13 | // All rights reserved 14 | // 15 | // Changelog: 16 | // [2012/mm/dd] - ... 17 | // 18 | /////////////////////////////////////////////////////////////////////////////// 19 | 20 | /////////////////////////////////////////////////////////////////////////////// 21 | // 22 | // Copyright 2008-2012 3Dim Laboratory s.r.o. 23 | // All rights reserved 24 | // 25 | /////////////////////////////////////////////////////////////////////////////// 26 | 27 | #ifndef GlErrorReporting_H 28 | #define GlErrorReporting_H 29 | 30 | #include 31 | 32 | #include 33 | 34 | //! Converts glGetError's value to string 35 | std::string glErrorEnumString(GLenum value); 36 | 37 | //! Converts glCheckFramebufferStatus's return value to string 38 | std::string glFramebufferStatusString(GLenum value); 39 | 40 | //! Creates sensible error message to put to log 41 | std::string glGetErrors(std::string functionName); 42 | 43 | bool isDebugContextEnabled(); 44 | bool isDebugMessageCallbackAvailable(); 45 | 46 | bool glGetErrorEnabled(); 47 | 48 | #define tridimGlR(name, glExp) glExp; { if(glGetErrorEnabled()){std::string errorString = glGetErrors(name); if (!errorString.empty()) VPL_LOG_ERROR(errorString);} } 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/draggers/CDraggerBaseComposite.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CDRAGGERBASECOMPOSITE_H_included 24 | #define CDRAGGERBASECOMPOSITE_H_included 25 | 26 | #include 27 | 28 | 29 | namespace osgManipulator 30 | { 31 | 32 | class CDraggerBaseComposite: public CompositeDragger 33 | { 34 | public: 35 | CDraggerBaseComposite(); 36 | 37 | bool addDragger(Dragger* dragger) override; 38 | 39 | void lock(bool lockUnlock); 40 | void setChildValue(const Node* child, bool value); 41 | 42 | bool handle(const osgManipulator::PointerInfo& pi, const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) override; 43 | 44 | private: 45 | bool m_locked; 46 | osg::ref_ptr m_draggersSwitch; 47 | }; 48 | 49 | 50 | } //namespace osgManipulator 51 | 52 | #endif // CDRAGGERBASECOMPOSITE_H_included -------------------------------------------------------------------------------- /include/3dim/graphmedi/draggers/CDraggerOnSurface.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // BlueSkyPlan version 3.x 5 | // Diagnostic and implant planning software for dentistry. 6 | // 7 | // Copyright 2013 Blue Sky Bio, LLC 8 | // All rights reserved 9 | // 10 | /////////////////////////////////////////////////////////////////////////////// 11 | 12 | #ifndef COnSurfaceDragger_H 13 | #define COnSurfaceDragger_H 14 | 15 | #include "draggers/CDraggerPlane.h" 16 | #include 17 | #include 18 | #include 19 | 20 | 21 | namespace osg 22 | { 23 | class CDraggableGeometry; 24 | 25 | class CDraggerOnSurface : public osgManipulator::CDraggerPlane 26 | { 27 | public: 28 | CDraggerOnSurface(CDraggableGeometry* parent, osg::Node* geometry = new osg::CSphereGeometry()); 29 | 30 | virtual bool handle(const osgManipulator::PointerInfo& pi, const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) override; 31 | 32 | void setModelId(int id); 33 | 34 | const osgUtil::LineSegmentIntersector::Intersection& getIntersection(); 35 | 36 | protected: 37 | virtual void updateCommand(osgManipulator::MotionCommand& command) override; 38 | 39 | bool calculateIntersection(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa, osgUtil::LineSegmentIntersector::Intersection& intersect); 40 | 41 | protected: 42 | osg::observer_ptr m_parent; 43 | 44 | int m_modelId; 45 | 46 | osg::Vec3 m_startPoint; 47 | 48 | bool m_wasIntersection; 49 | 50 | osgUtil::LineSegmentIntersector::Intersection m_intersection; 51 | }; 52 | } 53 | 54 | #endif 55 | 56 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/draggers/CDraggerPlane.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CDRAGGERPLANE_H_included 24 | #define CDRAGGERPLANE_H_included 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | 31 | namespace osgManipulator 32 | { 33 | class CDraggerPlane : public CDraggerBase < Dragger > 34 | { 35 | public: 36 | CDraggerPlane(osg::Node* geometry); 37 | CDraggerPlane(osg::Node* geometry, const osg::Plane& plane); 38 | 39 | void setPlane(const osg::Plane & plane) { _projector = new PlaneProjector(plane); } 40 | 41 | virtual bool handle(const PointerInfo& pi, const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa); 42 | 43 | virtual void accept(osg::NodeVisitor& nv); 44 | 45 | osg::Node* getGeometry(); 46 | 47 | protected: 48 | //! Revert plane rotation given by matrix transformations 49 | virtual void revertTransformsOnPlane(); 50 | 51 | protected: 52 | 53 | osg::ref_ptr< PlaneProjector > _projector; 54 | 55 | osg::Vec3d _startProjectedPoint; 56 | 57 | osg::Plane m_initialPlane; 58 | 59 | //! View matrix 60 | osg::Matrix m_view_matrix; 61 | 62 | osg::ref_ptr m_geometry; 63 | }; 64 | 65 | } 66 | 67 | #endif -------------------------------------------------------------------------------- /include/3dim/graphmedi/drawing/CLineOptimizer.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CLineOptimizer_H 24 | #define CLineOptimizer_H 25 | 26 | #include 27 | 28 | namespace draw 29 | { 30 | 31 | /////////////////////////////////////////////////////////////////////////////// 32 | //! CLASS CLineOptimizer - removes duplicities and not needed points 33 | 34 | class CLineOptimizer 35 | { 36 | public: 37 | //! Optimize 2D line 38 | void Optimize( const osg::Vec2Array * input, osg::Vec2Array * output ); 39 | 40 | //! Optimize 2D line 41 | void Optimize( const osg::Vec3Array * input, osg::Vec3Array * output ); 42 | 43 | protected: 44 | //! Remove duplicities in 2D array 45 | void RemoveDuplicities( const osg::Vec2Array * input, osg::Vec2Array * output ); 46 | 47 | //! Remove collinear segments in 2D 48 | void RemoveCollinear( const osg::Vec2Array * input, osg::Vec2Array * output ); 49 | 50 | //! Remove duplicities in 3D array 51 | void RemoveDuplicities( const osg::Vec3Array * input, osg::Vec3Array * output ); 52 | 53 | //! Remove collinear segments in 3D 54 | void RemoveCollinear( const osg::Vec3Array * input, osg::Vec3Array * output ); 55 | 56 | }; // class CLineOptimizer 57 | 58 | 59 | } // namespace draw 60 | 61 | #endif // CLineOptimizer_H 62 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/osg/CIntersectionHandler.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // BlueSkyPlan version 3.x 5 | // Diagnostic and implant planning software for dentistry. 6 | // 7 | // Copyright 2013 Blue Sky Bio, LLC 8 | // All rights reserved 9 | // 10 | /////////////////////////////////////////////////////////////////////////////// 11 | 12 | #ifndef CIntersectionHandler_H 13 | #define CIntersectionHandler_H 14 | 15 | #include 16 | #include 17 | #include 18 | 19 | 20 | namespace osgGA 21 | { 22 | class CIntersectionHandler : public GUIEventHandler 23 | { 24 | public: 25 | typedef vpl::mod::CSignal IntersectSignal; 26 | 27 | CIntersectionHandler(); 28 | CIntersectionHandler(std::function checkNodeFunc, std::function shouldCalcIntersectFunc); 29 | 30 | IntersectSignal& getIntersectSignal(); 31 | 32 | void setCheckNodeFunc(std::function checkNodeFunc); 33 | void setShouldCalcIntersectFunc(std::function shouldCalcIntersectFunc); 34 | 35 | virtual bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa, osg::Object* o, osg::NodeVisitor* nv) final; 36 | 37 | private: 38 | bool calculateIntersection(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa); 39 | 40 | protected: 41 | std::function m_checkNodeFunc; 42 | std::function m_shouldCalcIntersectFunc; 43 | 44 | private: 45 | IntersectSignal m_intersectSignal; 46 | }; 47 | } 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/osg/CSliceDragger.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CSLICEDRAGGER_H 24 | #define CSLICEDRAGGER_H 25 | 26 | #include 27 | #include 28 | 29 | namespace osgManipulator 30 | { 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | // 34 | 35 | class CSliceDragger : public Translate1DDragger 36 | { 37 | public: 38 | //! Dragger constructor 39 | CSliceDragger( const osg::Vec3 & s, const osg::Vec3 & e ); 40 | 41 | //! Dragger handle method 42 | virtual bool handle( const osgManipulator::PointerInfo & pi, const osgGA::GUIEventAdapter & ea, osgGA::GUIActionAdapter & us ); 43 | }; 44 | 45 | } // namespace osgManipulator 46 | 47 | #endif // CSLICEDRAGGER_H 48 | 49 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/render/PSVRshaders.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef PSVRshaders_H 24 | #define PSVRshaders_H 25 | 26 | #include 27 | 28 | // Check predefined type of volume rendering algorithm 29 | #ifdef USE_PSVR 30 | 31 | namespace PSVR 32 | { 33 | 34 | #include "shaders2/ShaderData.h" 35 | 36 | } // namespace PSVR 37 | 38 | #endif // USE_PSVR 39 | #endif // PSVRshaders_H 40 | 41 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/render/PSVRshaders.hpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id: PSVRshaders.hpp 1266 2011-04-17 23:00:36Z spanel $ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | namespace PSVR 24 | { 25 | 26 | #include "../shaders2/ShaderData.h" 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /include/3dim/graphmedi/widgets/CSceneWidget.h: -------------------------------------------------------------------------------- 1 | // 3DimViewer 2 | // Lightweight 3D DICOM viewer. 3 | // 4 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 5 | // 6 | // Licensed under the Apache License, Version 2.0 (the "License"); 7 | // you may not use this file except in compliance with the License. 8 | // You may obtain a copy of the License at 9 | // 10 | // http://www.apache.org/licenses/LICENSE-2.0 11 | // 12 | // Unless required by applicable law or agreed to in writing, software 13 | // distributed under the License is distributed on an "AS IS" BASIS, 14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | // See the License for the specific language governing permissions and 16 | // limitations under the License. 17 | // 18 | -------------------------------------------------------------------------------- /include/3dim/graphmedi_viewer/drawing/CISEventHandlerEx.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id: CISEventHandler.h 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef CISEventHandlerEx_H 24 | #define CISEventHandlerEx_H 25 | 26 | #include 27 | 28 | namespace osgGA 29 | { 30 | 31 | /////////////////////////////////////////////////////////////////////////////// 32 | //! CLASS CISSceneARBEH - event handler for ARB scene 33 | 34 | class CISSceneARBEH 35 | : public CISEventHandler 36 | { 37 | public: 38 | //! Constructor 39 | CISSceneARBEH(OSGCanvas * canvas, scene::CArbitrarySliceScene * scene); 40 | 41 | protected: 42 | //! Recompute coordinates to the volume 43 | virtual osg::Vec3 RecomputeToVolume(const osg::Vec3 & point) override; 44 | }; 45 | 46 | } // namespace osg 47 | 48 | #endif // // CISEventHandlerEx_H 49 | -------------------------------------------------------------------------------- /include/3dim/graphmedi_viewer/shaders2/FBO.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef FBO_H 24 | #define FBO_H 25 | 26 | namespace shader 27 | { 28 | const char OSRT[] = 29 | "#version 330 core \n" 30 | " \n" 31 | "uniform mat4 osg_ModelViewMatrix; \n" 32 | "uniform mat4 osg_ProjectionMatrix; \n" 33 | " \n" 34 | "in vec4 fragWorldPosition; \n" 35 | " \n" 36 | "out vec4 outPosition; \n" 37 | " \n" 38 | "void main() \n" 39 | "{ \n" 40 | " vec4 wPos = fragWorldPosition; \n" 41 | " vec4 vPos = osg_ModelViewMatrix * wPos; \n" 42 | " vec4 pPos = osg_ProjectionMatrix * vPos; \n" 43 | " pPos /= pPos.w; \n" 44 | " \n" 45 | " outPosition = vec4(pPos.xyz, 0.0); \n" 46 | "} \n"; 47 | 48 | } // namespace shader 49 | 50 | #endif // FBO_H 51 | 52 | -------------------------------------------------------------------------------- /include/3dim/graphmedi_viewer/shaders2/FSQuadVS.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef FSQuadVS_H 24 | #define FSQuadVS_H 25 | 26 | namespace shader 27 | { 28 | const char FSQuadVS[] = 29 | "#version 330 core \n" 30 | " \n" 31 | "in vec4 osg_Vertex; \n" 32 | "out vec2 texCoords; \n" 33 | " \n" 34 | "void main() \n" 35 | "{ \n" 36 | " gl_Position = osg_Vertex; \n" 37 | " texCoords = osg_Vertex.xy * 0.5 + 0.5; \n" 38 | "} \n"; 39 | 40 | } // namespace shader 41 | 42 | #endif // FSQuadVS_H 43 | -------------------------------------------------------------------------------- /include/3dim/graphmedi_viewer/shaders2/ShaderData.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef ShaderData_H 24 | #define ShaderData_H 25 | 26 | #include "AppConfigure.h" 27 | 28 | // Predefined lookup tables 29 | #include "shaders2/Lookup.h" 30 | 31 | // Predefined shaders 32 | #include "shaders2/Add.h" 33 | #include "shaders2/FBO.h" 34 | #include "shaders2/Max.h" 35 | #include "shaders2/Resize2.h" 36 | #include "shaders2/Shade.h" 37 | #include "shaders2/Suma.h" 38 | #include "shaders2/Surface.h" 39 | #include "shaders2/Vert.h" 40 | #include "shaders2/FSQuadVS.h" 41 | 42 | #endif // ShaderData_H 43 | 44 | -------------------------------------------------------------------------------- /include/3dim/graphmedi_viewer/shaders2/Vert.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef Vert_H 24 | #define Vert_H 25 | 26 | namespace shader 27 | { 28 | const char Vert[] = 29 | "#version 330 core \n" 30 | " \n" 31 | "uniform mat4 osg_ModelViewProjectionMatrix; \n" 32 | " \n" 33 | "in vec4 osg_Vertex; \n" 34 | " \n" 35 | "void main() \n" 36 | "{ \n" 37 | " gl_Position = osg_ModelViewProjectionMatrix * osg_Vertex; \n" 38 | "} \n"; 39 | 40 | const char Vert2[] = 41 | "#version 330 core \n" 42 | " \n" 43 | "uniform mat4 osg_ModelViewProjectionMatrix; \n" 44 | " \n" 45 | "in vec4 osg_Vertex; \n" 46 | " \n" 47 | "out vec4 fragWorldPosition; \n" 48 | " \n" 49 | "void main() \n" 50 | "{ \n" 51 | " gl_Position = osg_ModelViewProjectionMatrix * osg_Vertex; \n" 52 | " fragWorldPosition = vec4(osg_Vertex.xyz, 1.0); \n" 53 | "} \n"; 54 | 55 | } // namespace shader 56 | 57 | #endif // Vert_H 58 | -------------------------------------------------------------------------------- /include/3dim/qtgui/app/Signals.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef QtGuiSignals_H 24 | #define QtGuiSignals_H 25 | 26 | /////////////////////////////////////////////////////////////////////////////// 27 | // include files 28 | 29 | #include 30 | 31 | #include 32 | 33 | 34 | /////////////////////////////////////////////////////////////////////////////// 35 | // definition of global signals 36 | 37 | VPL_DECLARE_SIGNAL_4(21, void, const QString&, const QString&, const QString&, const QString&, SigLogCustomEvent); 38 | 39 | 40 | #endif // QtGuiSignals_H 41 | 42 | /////////////////////////////////////////////////////////////////////////////// 43 | -------------------------------------------------------------------------------- /include/3dim/qtgui/base/Defs.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | //////////////////////////////////////////////////////////// 22 | 23 | #ifndef qtBase_H 24 | #define qtBase_H 25 | 26 | #include 27 | 28 | #define UIK_UP GUIEventAdapter::KEY_Up 29 | #define UIK_DOWN GUIEventAdapter::KEY_Down 30 | #define UIK_LEFT GUIEventAdapter::KEY_Left 31 | #define UIK_RIGHT GUIEventAdapter::KEY_Right 32 | 33 | #endif // qtBase_H 34 | -------------------------------------------------------------------------------- /include/3dim/qtgui/controls/CIconGroupBox.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id:$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | /////////////////////////////////////////////////////////////////////////////// 24 | //! Group box with icon in title 25 | 26 | #ifndef CIconGroupBox_H 27 | #define CIconGroupBox_H 28 | 29 | #include 30 | #include 31 | 32 | class CIconGroupBox : public QGroupBox 33 | { 34 | Q_OBJECT 35 | 36 | protected: 37 | QIcon m_icon; 38 | QSize m_iconSize; 39 | 40 | public: 41 | CIconGroupBox(const QIcon &icon, const QSize &iconSize, QWidget *parent = NULL); 42 | virtual ~CIconGroupBox(); 43 | 44 | public: 45 | void setIcon(const QIcon &icon); 46 | QIcon icon() const; 47 | 48 | void setIconSize(const QSize &size); 49 | QSize iconSize() const; 50 | 51 | protected slots: 52 | virtual void paintEvent(QPaintEvent *e); 53 | }; 54 | 55 | #endif // CIconGroupBox_H 56 | -------------------------------------------------------------------------------- /include/3dim/qtgui/data/storage_ids_qtgui.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef StorageIdsQtGui_H_included 24 | #define StorageIdsQtGui_H_included 25 | 26 | //! Custom data 27 | #define QTGUI_STORAGE_CUSTOM_DATA_ID 2003 28 | 29 | #endif // StorageIdsQtGui_H_included 30 | 31 | -------------------------------------------------------------------------------- /include/3dim/qtgui/dialogs/messageWindow.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // 3DimViewer 4 | // Lightweight 3D DICOM viewer. 5 | // 6 | // Copyright 2018 TESCAN 3DIM, s.r.o. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | // 20 | /////////////////////////////////////////////////////////////////////////////// 21 | 22 | //! \brief Displaying QT information window. 23 | 24 | #pragma once 25 | #include 26 | 27 | class MessageWindow 28 | { 29 | public: 30 | //! \brief Constructor - Open error window 31 | MessageWindow(const QString& message) 32 | { 33 | m_icon = QMessageBox::Critical; 34 | m_message = message; 35 | } 36 | 37 | //! \brief Constructor 38 | //! \param icon Icon type (warning, error, information ...) 39 | //! \param message strings 40 | MessageWindow(const QMessageBox::Icon icon, const QString& message) 41 | { 42 | m_icon = icon; 43 | m_message = message; 44 | } 45 | 46 | virtual ~MessageWindow() = default; 47 | 48 | //! \brief Enable message box and display it. 49 | void show() const 50 | { 51 | QMessageBox msgBox; 52 | msgBox.setIcon(m_icon); 53 | msgBox.setText(m_message); 54 | msgBox.exec(); 55 | } 56 | 57 | private: 58 | QMessageBox::Icon m_icon; 59 | QString m_message; 60 | }; 61 | -------------------------------------------------------------------------------- /include/3dim/qtgui/osgQt/Export: -------------------------------------------------------------------------------- 1 | #define OSGQT_EXPORT -------------------------------------------------------------------------------- /include/3dim/qtgui/osgQt/QFontImplementation.h: -------------------------------------------------------------------------------- 1 | /* -*-c++-*- OpenSceneGraph - Copyright (C) 2009-2010 Mathias Froehlich 2 | * 3 | * This library is open source and may be redistributed and/or modified under 4 | * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or 5 | * (at your option) any later version. The full license is in LICENSE file 6 | * included with this distribution, and on the openscenegraph.org website. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * OpenSceneGraph Public License for more details. 12 | */ 13 | #ifndef QFontImplementation_H 14 | #define QFontImplementation_H 15 | 16 | #include 17 | #include 18 | 19 | #include 20 | 21 | #include 22 | 23 | namespace osgQt { 24 | 25 | class OSGQT_EXPORT QFontImplementation : public osgText::Font::FontImplementation 26 | { 27 | public: 28 | QFontImplementation(const QFont& font); 29 | virtual ~QFontImplementation(); 30 | 31 | virtual std::string getFileName() const; 32 | 33 | virtual bool supportsMultipleFontResolutions() const { return true; } 34 | 35 | virtual osgText::Glyph* getGlyph(const osgText::FontResolution& fontRes, unsigned int charcode); 36 | 37 | virtual osgText::Glyph3D* getGlyph3D(unsigned int /*charcode*/) { return 0; } 38 | 39 | virtual osg::Vec2 getKerning(unsigned int leftcharcode, unsigned int rightcharcode, osgText::KerningType kerningType); 40 | 41 | virtual bool hasVertical() const; 42 | 43 | protected: 44 | 45 | std::string _filename; 46 | QFont _font; 47 | }; 48 | 49 | } 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /include/3dim/qtgui/osgQt/QWidgetImage.h: -------------------------------------------------------------------------------- 1 | /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield 2 | * 3 | * This library is open source and may be redistributed and/or modified under 4 | * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or 5 | * (at your option) any later version. The full license is in LICENSE file 6 | * included with this distribution, and on the openscenegraph.org website. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * OpenSceneGraph Public License for more details. 12 | */ 13 | 14 | #ifndef QWIDGETIMAGE 15 | #define QWIDGETIMAGE 16 | 17 | #include 18 | #include 19 | 20 | namespace osgQt 21 | { 22 | 23 | class OSGQT_EXPORT QWidgetImage : public osg::Image 24 | { 25 | public: 26 | 27 | QWidgetImage( QWidget* widget=0 ); 28 | 29 | QWidget* getQWidget() { return _widget; } 30 | QGraphicsViewAdapter* getQGraphicsViewAdapter() { return _adapter; } 31 | 32 | 33 | void clearWriteBuffer(); 34 | 35 | void render(); 36 | 37 | /// Overridden scaleImage used to catch cases where the image is 38 | /// fullscreen and the window is resized. 39 | virtual void scaleImage(int s,int t,int r, GLenum newDataType); 40 | 41 | virtual bool sendFocusHint(bool focus); 42 | 43 | virtual bool sendPointerEvent(int x, int y, int buttonMask); 44 | 45 | virtual bool sendKeyEvent(int key, bool keyDown); 46 | 47 | virtual void setFrameLastRendered(const osg::FrameStamp* frameStamp); 48 | 49 | protected: 50 | 51 | QPointer _adapter; 52 | QPointer _widget; 53 | }; 54 | 55 | } 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /include/3dim/qtplugin/CPluginInfoDialog.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef PLUGININFODIALOG_H 24 | #define PLUGININFODIALOG_H 25 | 26 | #include 27 | #include 28 | 29 | class QLabel; 30 | class QPushButton; 31 | class QStringList; 32 | class QTreeWidget; 33 | class QTreeWidgetItem; 34 | 35 | #include 36 | 37 | //! Dialog with basic information about loaded plugins 38 | class CPluginInfoDialog : public QDialog 39 | { 40 | Q_OBJECT 41 | 42 | public: 43 | CPluginInfoDialog(CPluginManager* pPluginManager, QWidget *parent = 0); 44 | virtual ~CPluginInfoDialog(); 45 | 46 | private: 47 | void findPlugins(const QString &path, const QStringList &fileNames); 48 | void populateTreeWidget(QObject *plugin, const QString &text); 49 | void addItems(QTreeWidgetItem *pluginItem, const char *interfaceName, 50 | const QStringList &features); 51 | 52 | QLabel *label; 53 | QTreeWidget *treeWidget; 54 | QPushButton *okButton; 55 | QIcon interfaceIcon; 56 | QIcon featureIcon; 57 | }; 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /include/3dim/qtplugin/PluginHost.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | //////////////////////////////////////////////////////////// 22 | 23 | #ifndef PluginHost_H 24 | #define PluginHost_H 25 | 26 | 27 | /////////////////////////////////////////////////////////////////////////////// 28 | // Global definitions 29 | 30 | //! Macro declares name of the host application. 31 | #if defined(PLUGIN_EASYDENT_3DIM) 32 | # define PLUGIN_HOST_3DIM "EasyDent" 33 | #elif defined(PLUGIN_VIEWER_3DIM) 34 | # define PLUGIN_HOST_3DIM "3DimViewer" 35 | #elif defined(PLUGIN_DENTALVIEWER_3DIM) 36 | # define PLUGIN_HOST_3DIM "DentalViewer" 37 | #else 38 | # error Cannot compile the plugin, host application is not declared! 39 | #endif 40 | 41 | 42 | #endif // PluginHost_H 43 | -------------------------------------------------------------------------------- /plugins/Demo/demoplugin.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/demoplugin.png 4 | icons/1.png 5 | icons/2.png 6 | icons/3.png 7 | icons/4.png 8 | icons/demoplugin_dock.png 9 | 10 | 11 | svg/demoplugin.svg 12 | svg/1.svg 13 | svg/2.svg 14 | svg/3.svg 15 | svg/4.svg 16 | svg/demoplugin_dock.svg 17 | 18 | 19 | -------------------------------------------------------------------------------- /plugins/Demo/icons/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Demo/icons/1.png -------------------------------------------------------------------------------- /plugins/Demo/icons/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Demo/icons/2.png -------------------------------------------------------------------------------- /plugins/Demo/icons/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Demo/icons/3.png -------------------------------------------------------------------------------- /plugins/Demo/icons/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Demo/icons/4.png -------------------------------------------------------------------------------- /plugins/Demo/icons/demoplugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Demo/icons/demoplugin.png -------------------------------------------------------------------------------- /plugins/Demo/icons/demoplugin_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Demo/icons/demoplugin_dock.png -------------------------------------------------------------------------------- /plugins/Gauge/cgaugepanel.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 4 | // 5 | 6 | #ifndef CGAUGEPANEL_H 7 | #define CGAUGEPANEL_H 8 | 9 | #include 10 | 11 | #include 12 | 13 | #include 14 | 15 | namespace Ui { 16 | class CGaugePanel; 17 | } 18 | 19 | class CGaugePanel : public QWidget, public CAppBindings 20 | { 21 | Q_OBJECT 22 | 23 | public: 24 | explicit CGaugePanel(CAppBindings* pBindings, QWidget *parent = 0); 25 | ~CGaugePanel(); 26 | 27 | //! set last read density to panel 28 | void setDensity(int nValue); 29 | 30 | //! set last read distance to panel 31 | void setDistance(double fValue); 32 | 33 | //! Called on volume data change. 34 | void onNewDensityData(data::CStorageEntry *pEntry); 35 | 36 | void updateButtons(scene::CAppMode::tMode mode); 37 | 38 | private slots: 39 | void on_comboBoxMeasuringMode_currentIndexChanged(int index); 40 | void on_pushButtonDensity_toggled(bool checked); 41 | void on_pushButtonDistance_toggled(bool checked); 42 | void on_pushButtonClear_clicked(); 43 | 44 | void packGroupBox(bool checked); 45 | void packGroupBox(QGroupBox* pWidget, bool checked); 46 | 47 | private: 48 | Ui::CGaugePanel *ui; 49 | 50 | //! Signal connection for volume data change 51 | vpl::mod::tSignalConnection m_Connection; 52 | }; 53 | 54 | #endif // CGAUGEPANEL_H 55 | -------------------------------------------------------------------------------- /plugins/Gauge/gauge.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/gaugeplugin.png 4 | icons/measure_density.png 5 | icons/measure_distance.png 6 | icons/delete.png 7 | icons/gaugeplugin_dock.png 8 | 9 | 10 | svg/gaugeplugin.svg 11 | svg/measure_density.svg 12 | svg/measure_distance.svg 13 | svg/delete.svg 14 | svg/gaugeplugin_dock.svg 15 | 16 | 17 | -------------------------------------------------------------------------------- /plugins/Gauge/gaugeplugin.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 4 | // 5 | 6 | #ifndef GAUGEPLUGIN_H 7 | #define GAUGEPLUGIN_H 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | #include 17 | 18 | class CGaugePanel; 19 | 20 | class GaugePlugin : public QObject, 21 | public PluginInterface 22 | { 23 | Q_OBJECT 24 | //#if QT_VERSION >= 0x050000 25 | Q_PLUGIN_METADATA(IID "com.3dim-laboratory.Qt.GaugePlugin") 26 | //#endif 27 | Q_INTERFACES(PluginInterface) 28 | public: 29 | GaugePlugin(); 30 | protected: 31 | QMenu* m_pMenu; 32 | QToolBar* m_pToolBar; 33 | CGaugePanel* m_pPanel; 34 | 35 | QAction* m_actionMeasureDensity; 36 | QAction* m_actionMeasureDistance; 37 | QAction* m_actionClearMeasurements; 38 | void createActions(); 39 | private slots: 40 | void measureDensity(bool); 41 | void measureDistance(bool); 42 | void clearMeasurements(); 43 | protected: 44 | //! Signal connection for mouse mode change monitoring 45 | vpl::mod::tSignalConnection m_ConnectionModeChanged, 46 | m_ConnectionDensityMeasure, 47 | m_ConnectionDistanceMeasure; 48 | public: 49 | //! Methods from PluginInterface 50 | QMenu* getOrCreateMenu(); 51 | QToolBar* getOrCreateToolBar(); 52 | QWidget* getOrCreatePanel(); 53 | QAction* getAction(const QString &actionName); 54 | QString pluginName(); 55 | QString pluginID(); 56 | void connectPlugin(); 57 | void disconnectPlugin(); 58 | protected: 59 | //! Signal handlers 60 | void sigDensityMeasured(int nValue); 61 | void sigDistanceMeasured(double fValue); 62 | void sigModeChanged( scene::CAppMode::tMode mode ); 63 | }; 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /plugins/Gauge/icons/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Gauge/icons/delete.png -------------------------------------------------------------------------------- /plugins/Gauge/icons/gaugeplugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Gauge/icons/gaugeplugin.png -------------------------------------------------------------------------------- /plugins/Gauge/icons/gaugeplugin_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Gauge/icons/gaugeplugin_dock.png -------------------------------------------------------------------------------- /plugins/Gauge/icons/measure_density.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Gauge/icons/measure_density.png -------------------------------------------------------------------------------- /plugins/Gauge/icons/measure_distance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Gauge/icons/measure_distance.png -------------------------------------------------------------------------------- /plugins/Notes/icons/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/arrow.png -------------------------------------------------------------------------------- /plugins/Notes/icons/notedeletesmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/notedeletesmall.png -------------------------------------------------------------------------------- /plugins/Notes/icons/notesplugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/notesplugin.png -------------------------------------------------------------------------------- /plugins/Notes/icons/notesplugin_dock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/notesplugin_dock.png -------------------------------------------------------------------------------- /plugins/Notes/icons/tool_brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/tool_brush.png -------------------------------------------------------------------------------- /plugins/Notes/icons/tool_eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/tool_eraser.png -------------------------------------------------------------------------------- /plugins/Notes/icons/visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/plugins/Notes/icons/visibility.png -------------------------------------------------------------------------------- /plugins/Notes/notesplugin.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 4 | // 5 | 6 | #include 7 | #include 8 | #include 9 | #include "notesplugin.h" 10 | #include "notespluginpanel.h" 11 | 12 | 13 | CNotesPlugin::CNotesPlugin() : QObject(), PluginInterface() 14 | { 15 | 16 | m_pMenu = nullptr; 17 | m_pToolBar = nullptr; 18 | m_pPanel = nullptr; 19 | setProperty("Icon", ":/svg/svg/notesplugin.svg"); 20 | setProperty("PanelIcon", ":/svg/svg/notesplugin_dock.svg"); 21 | } 22 | 23 | CNotesPlugin::~CNotesPlugin() 24 | { 25 | 26 | } 27 | 28 | 29 | //vyvori polozku v drop down menu pluginu 30 | QMenu* CNotesPlugin::getOrCreateMenu() { 31 | 32 | if (m_pMenu) 33 | return m_pMenu; 34 | 35 | m_pMenu = new QMenu(tr("Notes Plugin")); 36 | 37 | return m_pMenu; 38 | } 39 | 40 | 41 | //nikde mi nechybi 42 | QToolBar* CNotesPlugin::getOrCreateToolBar(){ 43 | 44 | return nullptr; 45 | } 46 | 47 | 48 | QWidget* CNotesPlugin::getOrCreatePanel() 49 | { 50 | // NOTE: seems like there's a bug in QT https://bugreports.qt.nokia.com/browse/QTBUG-13237 51 | // uncheck acceptdrops in lineEdits to avoid it 52 | if (!m_pPanel) 53 | m_pPanel = new CNotesPluginPanel(this); 54 | return m_pPanel; 55 | } 56 | 57 | QString CNotesPlugin::pluginName() 58 | { 59 | return tr("Notes Plugin"); 60 | } 61 | 62 | QString CNotesPlugin::pluginID() 63 | { 64 | return ("NotesPlugin"); 65 | } 66 | 67 | void CNotesPlugin::connectPlugin() { } 68 | 69 | 70 | void CNotesPlugin::disconnectPlugin() { } 71 | 72 | //! No effect. Always returns nullptr 73 | QAction* CNotesPlugin::getAction(const QString &actionName) 74 | { 75 | return nullptr; 76 | } 77 | 78 | #if QT_VERSION < 0x050000 79 | Q_EXPORT_PLUGIN2(pnp_notesplugin, CNotesPlugin) 80 | #endif -------------------------------------------------------------------------------- /plugins/Notes/notesplugin.h: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 4 | // 5 | 6 | #ifndef NOTESPLUGIN_H 7 | #define NOTESPLUGIN_H 8 | 9 | 10 | #include 11 | 12 | #include 13 | #include 14 | 15 | 16 | class CNotesPluginPanel; 17 | 18 | //! Plugin has to inherit QObject and PluginInterface 19 | class CNotesPlugin : public QObject, 20 | public PluginInterface 21 | { 22 | Q_OBJECT 23 | //#if QT_VERSION >= 0x050000 24 | Q_PLUGIN_METADATA(IID "com.3dim-laboratory.Qt.NotesPlugin") 25 | //#endif 26 | Q_INTERFACES(PluginInterface) 27 | 28 | public: 29 | //! Constructor 30 | CNotesPlugin(); 31 | //! Destructor 32 | ~CNotesPlugin(); 33 | protected: 34 | //these are needed from PluginInterface 35 | 36 | //! Plugin menu 37 | QMenu* m_pMenu; 38 | //! Plugin toolbar 39 | QToolBar* m_pToolBar; 40 | //! Plugin panel 41 | CNotesPluginPanel* m_pPanel; 42 | 43 | 44 | 45 | public: 46 | //! Methods from PluginInterface 47 | QMenu* getOrCreateMenu(); 48 | QToolBar* getOrCreateToolBar(); 49 | QWidget* getOrCreatePanel(); 50 | QAction* getAction(const QString &actionName); 51 | QString pluginName(); 52 | QString pluginID(); 53 | void connectPlugin(); 54 | void disconnectPlugin(); 55 | }; 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /plugins/Notes/notesplugin.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | icons/visibility.png 4 | icons/tool_brush.png 5 | icons/arrow.png 6 | icons/tool_eraser.png 7 | icons/notedeletesmall.png 8 | icons/notesplugin.png 9 | icons/notesplugin_dock.png 10 | 11 | 12 | svg/visibility.svg 13 | svg/tool_brush.svg 14 | svg/arrow.svg 15 | svg/tool_eraser.svg 16 | svg/notedeletesmall.svg 17 | svg/notesplugin.svg 18 | svg/notesplugin_dock.svg 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/core/data/CStorageIdRemapperBase.cpp: -------------------------------------------------------------------------------- 1 | #include "data/CStorageIdRemapperBase.h" 2 | #include "data/CDataStorage.h" 3 | #include 4 | 5 | data::CStorageIdRemapperBase::CStorageIdRemapperBase() : m_idMap(Storage::MAX_ID) 6 | { 7 | std::iota(std::begin(m_idMap), std::end(m_idMap), 0); 8 | } 9 | 10 | int data::CStorageIdRemapperBase::getId(int oldId) const 11 | { 12 | if (oldId < 0 || oldId >= m_idMap.size()) 13 | { 14 | VPL_LOG_INFO("Trying to remap id out of range: " << oldId); 15 | #ifdef _WIN32 16 | if (IsDebuggerPresent()) 17 | { 18 | __debugbreak(); 19 | } 20 | else 21 | { 22 | assert(false); 23 | } 24 | #else 25 | assert(false); 26 | #endif 27 | } 28 | return m_idMap[oldId]; 29 | } 30 | -------------------------------------------------------------------------------- /src/core/data/CUndoBase.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id: CUndoBase.cpp 3908 2013-08-13 05:34:45Z wilczak $ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | -------------------------------------------------------------------------------- /src/core/osg/osgcompat.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | 25 | #if OSG_VERSION_GREATER_OR_EQUAL(3,1,10) 26 | UniDrawableList getGeodeDrawableList(osg::Geode *pGeode) 27 | { 28 | UniDrawableList list; 29 | if (NULL!=pGeode) 30 | { 31 | unsigned int nDrawables = pGeode->getNumDrawables(); 32 | for(unsigned int i = 0; i < nDrawables; i++) 33 | list.push_back(pGeode->getDrawable(i)); 34 | } 35 | return list; 36 | } 37 | #else 38 | UniDrawableList getGeodeDrawableList(osg::Geode *pGeode) 39 | { 40 | if (NULL==pGeode) 41 | { 42 | UniDrawableList list; 43 | return list; 44 | } 45 | return pGeode->getDrawableList(); 46 | } 47 | #endif -------------------------------------------------------------------------------- /src/coremedi/data/CMeasurementOptions.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | #include 25 | 26 | void data::CMeasurementOptions::init() 27 | { 28 | data::CObjectPtr< data::CAppSettings > ptrSettings( APP_STORAGE.getEntry(data::Storage::AppSettings::Id) ); 29 | 30 | // Ruler settings 31 | m_rulerLineColor = osg::Vec4( 0.8f,0.8f,0.0f,1.0f ); 32 | m_rulerFontColor = osg::Vec4( 0.95f,0.95f,0.0f,1.0f ); 33 | m_rulerFontShadowColor = osg::Vec4( 0.2f,0.2f,0.0f,1.0f ); 34 | 35 | m_rulerFontSize = 30; 36 | 37 | m_rulerFontName = ptrSettings->getArialFontPath(); 38 | 39 | // Density dropper settings 40 | m_dropperLineColor = osg::Vec4( 0.8f,0.8f,0.0f,1.0f ); 41 | m_dropperFontColor = osg::Vec4( 1.0f,0.85f,0.0f,1.0f ); 42 | m_dropperFontShadowColor = osg::Vec4( 0.0f,0.0f,0.0f,1.0f ); 43 | 44 | m_dropperFontSize = 30; 45 | 46 | m_dropperFontName = ptrSettings->getArialFontPath(); 47 | } -------------------------------------------------------------------------------- /src/coremedi/data/CRegionColoring.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | 25 | //////////////////////////////////////////////////////////////////////////////////////////////////// 26 | //\fn data::CRegionColoring::CRegionColoring(void) 27 | // 28 | //\brief ! Default constructor. 29 | //////////////////////////////////////////////////////////////////////////////////////////////////// 30 | 31 | data::CRegionColoring::CRegionColoring(void) 32 | : CUndoProvider( data::Storage::RegionColoring::Id, true ) 33 | , m_Colors(NUM_OF_REGIONS) 34 | , m_Regions(tRegions::size_type(NUM_OF_REGIONS)) 35 | , m_DummyRegion("Dummy Region") 36 | , m_Active(0) 37 | , m_DummyColor(0, 0, 0, 0) 38 | { 39 | // Initialize the storage 40 | CRegionColoring::init(); 41 | } 42 | 43 | -------------------------------------------------------------------------------- /src/coremedi/data/CStorageIdRemapper.cpp: -------------------------------------------------------------------------------- 1 | #include "data/CStorageIdRemapper.h" 2 | 3 | #include 4 | #include "data/CModelCut.h" 5 | 6 | data::CStorageIdRemapper::CStorageIdRemapper() : CStorageIdRemapperBase(), oldMaxImportedModels(20), oldMaxModels(24) 7 | { 8 | const int oldBonesModel = 801; 9 | const int oldImportedModelCutSliceXY = 1520; 10 | const int oldImportedModelCutSliceXZ = 1540; 11 | const int oldImportedModelCutSliceYZ = 1560; 12 | 13 | for (int i = 0; i < oldMaxModels; i++) 14 | { 15 | m_idMap[oldBonesModel + i] = Storage::BonesModel::Id + i; 16 | } 17 | 18 | for (int i = 0; i < oldMaxImportedModels; i++) 19 | { 20 | m_idMap[oldImportedModelCutSliceXY + i] = Storage::ImportedModelCutSliceXY::Id + i; 21 | m_idMap[oldImportedModelCutSliceXZ + i] = Storage::ImportedModelCutSliceXZ::Id + i; 22 | m_idMap[oldImportedModelCutSliceYZ + i] = Storage::ImportedModelCutSliceYZ::Id + i; 23 | } 24 | } -------------------------------------------------------------------------------- /src/coremedi/data/CVolumeOfInterest.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | 29 | namespace data 30 | { 31 | 32 | /////////////////////////////////////////////////////////////////////////////// 33 | 34 | void CVolumeOfInterest::update(const CChangedEntries& Changes) 35 | { 36 | // if( !Changes.isParentValid() ) 37 | // { 38 | // return; 39 | // } 40 | 41 | typedef CObjectHolder tObjectHolder; 42 | int id = APP_STORAGE.findEntryId(Changes); 43 | if (id != Storage::UNKNOWN) 44 | { 45 | CObjectPtr spVolume( APP_STORAGE.getEntry(id) /* APP_STORAGE.findObject(Changes) */ ); 46 | m_Limits.m_MinX = m_Limits.m_MinY = m_Limits.m_MinZ = 0; 47 | m_Limits.m_MaxX = spVolume->getXSize() - 1; 48 | m_Limits.m_MaxY = spVolume->getYSize() - 1; 49 | m_Limits.m_MaxZ = spVolume->getZSize() - 1; 50 | } 51 | } 52 | 53 | 54 | /////////////////////////////////////////////////////////////////////////////// 55 | 56 | void CVolumeOfInterest::init() 57 | { 58 | m_Limits.m_MinX = m_Limits.m_MinY = m_Limits.m_MinZ = 0; 59 | m_Limits.m_MaxX = CSlice::INIT_SIZE; 60 | m_Limits.m_MaxY = CSlice::INIT_SIZE; 61 | m_Limits.m_MaxZ = CSlice::INIT_SIZE; 62 | } 63 | 64 | 65 | } // namespace data 66 | -------------------------------------------------------------------------------- /src/coremedi/data/CVolumeUndo.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | 25 | -------------------------------------------------------------------------------- /src/geometry/base/CBoneSnapshot.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | data::CBoneSnapshot::CBoneSnapshot(data::CUndoProvider* provider) 5 | : data::CSnapshot(data::UNDO_ALL, provider) 6 | , m_defaultBoneMatrix(geometry::Matrix::identity()) 7 | , m_boneTransformationMatrix(geometry::Matrix::identity()) 8 | { 9 | } 10 | 11 | long data::CBoneSnapshot::getDataSize() 12 | { 13 | return sizeof(CBoneSnapshot); 14 | } 15 | -------------------------------------------------------------------------------- /src/geometry/base/CTrianglesContainer.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | #include 25 | 26 | geometry::CTrianglesContainer::CTrianglesContainer() 27 | { 28 | init(); 29 | } 30 | 31 | geometry::CTrianglesContainer::~CTrianglesContainer() 32 | { 33 | } 34 | 35 | void geometry::CTrianglesContainer::init() 36 | { 37 | m_vertices.clear(); 38 | m_indicies.clear(); 39 | m_vertices.resize(0); 40 | m_indicies.resize(0); 41 | } 42 | 43 | void geometry::CTrianglesContainer::addVertex(double x, double y, double z) 44 | { 45 | m_vertices.push_back(geometry::Vec3(x, y, z)); 46 | } 47 | 48 | void geometry::CTrianglesContainer::addIndex(int index) 49 | { 50 | assert(index >= 0); 51 | m_indicies.push_back(index); 52 | } 53 | 54 | const std::vector& geometry::CTrianglesContainer::getVertices() 55 | { 56 | return m_vertices; 57 | } 58 | 59 | const std::vector& geometry::CTrianglesContainer::getIndicies() 60 | { 61 | return m_indicies; 62 | } -------------------------------------------------------------------------------- /src/geometry/base/clipper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SindenDev/3dimviewer/e23a3147edc35034ef4b75eae9ccdcbc7192b1a1/src/geometry/base/clipper.cpp -------------------------------------------------------------------------------- /src/geometry/base/clipperExtension.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | namespace ClipperLib 5 | { 6 | ClipperConvert::ClipperConvert(const double scaling_factor) 7 | : scale(scaling_factor) 8 | { 9 | if (NEAR_ZERO(scale)) throw "Invalid scaling factor"; 10 | } 11 | 12 | IntPoint ClipperConvert::operator()(const DoublePoint &v) 13 | { 14 | return IntPoint(cInt(v.X * scale), cInt(v.Y * scale)); 15 | } 16 | 17 | inline cInt Round(double val) 18 | { 19 | if ((val < 0)) return static_cast(val - 0.5); 20 | else return static_cast(val + 0.5); 21 | } 22 | 23 | void ClipperConvert::ToIntPoints(const std::vector &dps, std::vector &ips) 24 | { 25 | ips.resize(dps.size()); 26 | for (size_t i = 0; i < dps.size(); ++i) 27 | { 28 | ips[i].X = Round(dps[i].X * scale); 29 | ips[i].Y = Round(dps[i].Y * scale); 30 | } 31 | } 32 | 33 | DoublePoint ClipperConvert::operator()(const IntPoint &v) 34 | { 35 | return DoublePoint((double)v.X / scale, (double)v.Y / scale); 36 | } 37 | 38 | void ClipperConvert::ToDoublePoints(const std::vector &ips, std::vector &dps) 39 | { 40 | dps.resize(ips.size()); 41 | for (size_t i = 0; i < ips.size(); ++i) 42 | { 43 | dps[i].X = double(ips[i].X) / scale; 44 | dps[i].Y = double(ips[i].Y) / scale; 45 | } 46 | } 47 | 48 | void OffsetPolygons(const Paths &in_polys, Paths &out_polys, double delta, JoinType jointype, double limit /*= 0*/) 49 | { 50 | ClipperOffset co(limit, limit); 51 | co.AddPaths(in_polys, jointype, ClipperLib::etClosedPolygon); 52 | co.Execute(out_polys, delta); 53 | } 54 | 55 | void OffsetPolyLines(const Paths &in_lines, Paths &out_lines, double delta, JoinType jointype, EndType endtype, double limit, bool autoFix) 56 | { 57 | ClipperOffset co(limit, limit); 58 | co.AddPaths(in_lines, jointype, (EndType)endtype); 59 | co.Execute(out_lines, delta); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/graph/osg/CBoundingBoxVisitor.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | #include 25 | 26 | using namespace osg; 27 | 28 | 29 | CBoundingBoxVisitor::CBoundingBoxVisitor() 30 | : m_bSkipCameraNode(true) 31 | { 32 | } 33 | 34 | 35 | CBoundingBoxVisitor::~CBoundingBoxVisitor() 36 | { 37 | } 38 | 39 | 40 | 41 | void osg::CBoundingBoxVisitor::apply(osg::Camera &camera) 42 | { 43 | if (!m_bSkipCameraNode) 44 | traverse(camera); 45 | } 46 | 47 | -------------------------------------------------------------------------------- /src/graph/osg/CFreeModelVisualizer.cpp: -------------------------------------------------------------------------------- 1 | #include "osg/CFreeModelVisualizer.h" 2 | #include 3 | #include 4 | #include 5 | #include "geometry/base/CMesh.h" 6 | #include 7 | #include 8 | 9 | 10 | /////////////////////////////////////////////////////////////////////////////// 11 | // Model visualizer 12 | 13 | osg::CFreeModelVisualizer::CFreeModelVisualizer(geometry::CMesh* pMesh, const std::map &textures, const osg::Vec4 &diffuse, const osg::Vec3 &emission) 14 | : COnOffNode() 15 | { 16 | m_color = diffuse; 17 | m_emission = emission; 18 | 19 | // Create a new surface mesh 20 | m_pTriMesh = new CTriMesh(); 21 | addChild(m_pTriMesh); 22 | 23 | // Enable depth test so that an opaque polygon will occlude a transparent one behind it. 24 | m_pTriMesh->getMeshGeode()->getOrCreateStateSet()->setMode(GL_DEPTH_TEST, osg::StateAttribute::ON | osg::StateAttribute::PROTECTED); 25 | m_pTriMesh->getMeshGeode()->getOrCreateStateSet()->setMode(GL_CULL_FACE, osg::StateAttribute::OFF | osg::StateAttribute::PROTECTED); 26 | 27 | // Set model color 28 | m_pTriMesh->setColor(m_color); 29 | for (auto material : m_pTriMesh->getMaterials()) 30 | { 31 | material.second->uniform("Emission")->set(m_emission); 32 | } 33 | 34 | m_pTriMesh->setNodeMask(1); 35 | 36 | setMesh(pMesh, textures); 37 | } 38 | 39 | void osg::CFreeModelVisualizer::show(bool bShow) 40 | { 41 | setOnOffState(bShow); 42 | } 43 | 44 | geometry::CMesh* osg::CFreeModelVisualizer::getMesh() 45 | { 46 | return m_pMesh.get(); 47 | } 48 | 49 | osg::observer_ptr osg::CFreeModelVisualizer::getTriMesh() 50 | { 51 | return m_pTriMesh; 52 | } 53 | 54 | void osg::CFreeModelVisualizer::setMesh(geometry::CMesh* pMesh, const std::map &textures) 55 | { 56 | if (!pMesh) 57 | { 58 | return; 59 | } 60 | 61 | m_pMesh = std::make_unique(*pMesh); 62 | 63 | m_pTriMesh->createMesh(*pMesh, textures, true); 64 | } 65 | -------------------------------------------------------------------------------- /src/graph/osg/COnOffNode.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | 25 | osg::COnOffNode::COnOffNode(bool isOn/* = true*/) : m_isOn(isOn) 26 | { 27 | setName("COnOffNode"); 28 | } 29 | 30 | void osg::COnOffNode::traverse(NodeVisitor& nv) 31 | { 32 | if (m_isOn) 33 | { 34 | Switch::traverse(nv); 35 | } 36 | } 37 | 38 | osg::BoundingSphere osg::COnOffNode::computeBound() const 39 | { 40 | if(m_isOn) 41 | { 42 | return Switch::computeBound(); 43 | } 44 | else 45 | { 46 | return BoundingSphere(); 47 | } 48 | } 49 | 50 | void osg::COnOffNode::setOnOffState(bool newState) 51 | { 52 | if (m_isOn != newState) 53 | { 54 | m_isOn = newState; 55 | 56 | dirtyBound(); 57 | } 58 | } 59 | 60 | bool osg::COnOffNode::isVisible() const 61 | { 62 | return m_isOn; 63 | } 64 | 65 | void osg::COnOffNode::hide() 66 | { 67 | setOnOffState(false); 68 | } 69 | 70 | void osg::COnOffNode::show() 71 | { 72 | setOnOffState(true); 73 | } 74 | 75 | -------------------------------------------------------------------------------- /src/graphmedi/draggers/CDraggerBaseComposite.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // $Id$ 3 | // 4 | // 3DimViewer 5 | // Lightweight 3D DICOM viewer. 6 | // 7 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 8 | // 9 | // Licensed under the Apache License, Version 2.0 (the "License"); 10 | // you may not use this file except in compliance with the License. 11 | // You may obtain a copy of the License at 12 | // 13 | // http://www.apache.org/licenses/LICENSE-2.0 14 | // 15 | // Unless required by applicable law or agreed to in writing, software 16 | // distributed under the License is distributed on an "AS IS" BASIS, 17 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | // See the License for the specific language governing permissions and 19 | // limitations under the License. 20 | // 21 | /////////////////////////////////////////////////////////////////////////////// 22 | 23 | #include 24 | #include 25 | 26 | osgManipulator::CDraggerBaseComposite::CDraggerBaseComposite() 27 | : m_draggersSwitch(new osg::Switch()) 28 | , m_locked(false) 29 | { 30 | addChild(m_draggersSwitch); 31 | } 32 | 33 | bool osgManipulator::CDraggerBaseComposite::addDragger(Dragger * dragger) 34 | { 35 | bool rv = CompositeDragger::addDragger(dragger); 36 | return rv && m_draggersSwitch->addChild(dragger); 37 | } 38 | 39 | void osgManipulator::CDraggerBaseComposite::lock(bool lockUnlock) 40 | { 41 | m_locked = lockUnlock; 42 | } 43 | 44 | void osgManipulator::CDraggerBaseComposite::setChildValue(const Node * child, bool value) 45 | { 46 | m_draggersSwitch->setChildValue(child, value); 47 | } 48 | 49 | bool osgManipulator::CDraggerBaseComposite::handle(const osgManipulator::PointerInfo& pi, const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) 50 | { 51 | if (!m_locked) 52 | { 53 | return CompositeDragger::handle(pi, ea, aa); 54 | } 55 | else 56 | { 57 | return false; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/graphmedi/widgets/CSceneWidget.cpp: -------------------------------------------------------------------------------- 1 | // 3DimViewer 2 | // Lightweight 3D DICOM viewer. 3 | // 4 | // Copyright 2008-2016 3Dim Laboratory s.r.o. 5 | // 6 | // Licensed under the Apache License, Version 2.0 (the "License"); 7 | // you may not use this file except in compliance with the License. 8 | // You may obtain a copy of the License at 9 | // 10 | // http://www.apache.org/licenses/LICENSE-2.0 11 | // 12 | // Unless required by applicable law or agreed to in writing, software 13 | // distributed under the License is distributed on an "AS IS" BASIS, 14 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | // See the License for the specific language governing permissions and 16 | // limitations under the License. 17 | // 18 | -------------------------------------------------------------------------------- /src/pcheader.cpp: -------------------------------------------------------------------------------- 1 | #include -------------------------------------------------------------------------------- /src/qtgui/osgQt/QWidgetImage.cpp: -------------------------------------------------------------------------------- 1 | /* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2009 Robert Osfield 2 | * 3 | * This library is open source and may be redistributed and/or modified under 4 | * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or 5 | * (at your option) any later version. The full license is in LICENSE file 6 | * included with this distribution, and on the openscenegraph.org website. 7 | * 8 | * This library is distributed in the hope that it will be useful, 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | * OpenSceneGraph Public License for more details. 12 | */ 13 | 14 | #include 15 | #include 16 | 17 | namespace osgQt 18 | { 19 | 20 | QWidgetImage::QWidgetImage( QWidget* widget ) 21 | { 22 | // make sure we have a valid QApplication before we start creating widgets. 23 | getOrCreateQApplication(); 24 | 25 | _widget = widget; 26 | _adapter = new QGraphicsViewAdapter(this, _widget.data()); 27 | } 28 | 29 | bool QWidgetImage::sendFocusHint(bool focus) 30 | { 31 | QFocusEvent event(focus ? QEvent::FocusIn : QEvent::FocusOut, Qt::OtherFocusReason); 32 | QCoreApplication::sendEvent(_widget, &event); 33 | return true; 34 | } 35 | 36 | void QWidgetImage::clearWriteBuffer() 37 | { 38 | _adapter->clearWriteBuffer(); 39 | } 40 | 41 | void QWidgetImage::render() 42 | { 43 | _adapter->render(); 44 | } 45 | 46 | void QWidgetImage::scaleImage(int s,int t,int /*r*/, GLenum /*newDataType*/) 47 | { 48 | _adapter->resize(s, t); 49 | } 50 | 51 | void QWidgetImage::setFrameLastRendered(const osg::FrameStamp* frameStamp) 52 | { 53 | _adapter->setFrameLastRendered(frameStamp); 54 | } 55 | 56 | bool QWidgetImage::sendPointerEvent(int x, int y, int buttonMask) 57 | { 58 | return _adapter->sendPointerEvent(x,y,buttonMask); 59 | } 60 | 61 | bool QWidgetImage::sendKeyEvent(int key, bool keyDown) 62 | { 63 | return _adapter->sendKeyEvent(key, keyDown); 64 | } 65 | 66 | } 67 | --------------------------------------------------------------------------------