Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyScene.cpp @ 475:3c28542229a3 am-touch-events
added a mask layer in the RadiographyWidget (to be cleaned)
author | am@osimis.io |
---|---|
date | Tue, 12 Feb 2019 12:22:13 +0100 |
parents | a750f11892ec |
children | 159a465e27bd |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyScene.cpp Tue Feb 12 10:01:49 2019 +0100 +++ b/Framework/Radiography/RadiographyScene.cpp Tue Feb 12 12:22:13 2019 +0100 @@ -24,6 +24,7 @@ #include "RadiographyAlphaLayer.h" #include "RadiographyDicomLayer.h" #include "RadiographyTextLayer.h" +#include "RadiographyMaskLayer.h" #include "../Toolbox/DicomFrameConverter.h" #include <Core/Images/Image.h> @@ -292,6 +293,22 @@ return LoadAlphaBitmap(block.release(), geometry); } + RadiographyLayer& RadiographyScene::LoadMask(const std::vector<MaskPoint>& corners, + const RadiographyDicomLayer& dicomLayer, + float foreground, + RadiographyLayer::Geometry* geometry) + { + std::auto_ptr<RadiographyMaskLayer> mask(new RadiographyMaskLayer(*this, dicomLayer, foreground)); + mask->SetCorners(corners); + if (geometry != NULL) + { + mask->SetGeometry(*geometry); + } + + return RegisterLayer(mask.release()); + } + + RadiographyLayer& RadiographyScene::LoadAlphaBitmap(Orthanc::ImageAccessor* bitmap, RadiographyLayer::Geometry *geometry) { std::auto_ptr<RadiographyAlphaLayer> alpha(new RadiographyAlphaLayer(*this));