Mercurial > hg > orthanc-stone
comparison Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp @ 1614:ad9b425f27ae
new class: ArrowSceneLayer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 30 Oct 2020 16:26:39 +0100 |
parents | 787db80a5a1b |
children | f5d4bd7b5593 |
comparison
equal
deleted
inserted
replaced
1613:5f0660fe06c3 | 1614:ad9b425f27ae |
---|---|
68 #include <Loaders/SeriesMetadataLoader.h> | 68 #include <Loaders/SeriesMetadataLoader.h> |
69 #include <Loaders/SeriesThumbnailsLoader.h> | 69 #include <Loaders/SeriesThumbnailsLoader.h> |
70 #include <Messages/ObserverBase.h> | 70 #include <Messages/ObserverBase.h> |
71 #include <Oracle/ParseDicomFromWadoCommand.h> | 71 #include <Oracle/ParseDicomFromWadoCommand.h> |
72 #include <Oracle/ParseDicomSuccessMessage.h> | 72 #include <Oracle/ParseDicomSuccessMessage.h> |
73 #include <Scene2D/ArrowSceneLayer.h> | |
73 #include <Scene2D/ColorTextureSceneLayer.h> | 74 #include <Scene2D/ColorTextureSceneLayer.h> |
74 #include <Scene2D/FloatTextureSceneLayer.h> | 75 #include <Scene2D/FloatTextureSceneLayer.h> |
75 #include <Scene2D/MacroSceneLayer.h> | 76 #include <Scene2D/MacroSceneLayer.h> |
76 #include <Scene2D/PolylineSceneLayer.h> | 77 #include <Scene2D/PolylineSceneLayer.h> |
77 #include <Scene2D/TextSceneLayer.h> | 78 #include <Scene2D/TextSceneLayer.h> |
1546 const LineAnnotation& line = dynamic_cast<const LineAnnotation&>(annotation); | 1547 const LineAnnotation& line = dynamic_cast<const LineAnnotation&>(annotation); |
1547 double x1, y1, x2, y2; | 1548 double x1, y1, x2, y2; |
1548 if (GetCurrentFrameGeometry().ProjectPoint(x1, y1, line.GetPoint1()) && | 1549 if (GetCurrentFrameGeometry().ProjectPoint(x1, y1, line.GetPoint1()) && |
1549 GetCurrentFrameGeometry().ProjectPoint(x2, y2, line.GetPoint2())) | 1550 GetCurrentFrameGeometry().ProjectPoint(x2, y2, line.GetPoint2())) |
1550 { | 1551 { |
1551 std::unique_ptr<OrthancStone::PolylineSceneLayer> layer(new OrthancStone::PolylineSceneLayer); | 1552 if (line.IsArrow()) |
1552 OrthancStone::PolylineSceneLayer::Chain chain; | 1553 { |
1553 chain.push_back(OrthancStone::ScenePoint2D(x1, y1)); | 1554 std::unique_ptr<OrthancStone::ArrowSceneLayer> layer( |
1554 chain.push_back(OrthancStone::ScenePoint2D(x2, y2)); | 1555 new OrthancStone::ArrowSceneLayer(OrthancStone::ScenePoint2D(x1, y1), |
1555 | 1556 OrthancStone::ScenePoint2D(x2, y2))); |
1556 // TODO - IsArrow | 1557 layer->SetColor(0, 255, 0); |
1557 | 1558 annotationsLayer->AddLayer(layer.release()); |
1558 layer->AddChain(chain, false, 0, 255, 0); | 1559 } |
1559 annotationsLayer->AddLayer(layer.release()); | 1560 else |
1561 { | |
1562 std::unique_ptr<OrthancStone::PolylineSceneLayer> layer(new OrthancStone::PolylineSceneLayer); | |
1563 OrthancStone::PolylineSceneLayer::Chain chain; | |
1564 chain.push_back(OrthancStone::ScenePoint2D(x1, y1)); | |
1565 chain.push_back(OrthancStone::ScenePoint2D(x2, y2)); | |
1566 layer->AddChain(chain, false, 0, 255, 0); | |
1567 annotationsLayer->AddLayer(layer.release()); | |
1568 } | |
1560 } | 1569 } |
1561 break; | 1570 break; |
1562 } | 1571 } |
1563 | 1572 |
1564 case Annotation::Type_Angle: | 1573 case Annotation::Type_Angle: |
2301 static OrthancStone::DicomSource source_; | 2310 static OrthancStone::DicomSource source_; |
2302 static boost::shared_ptr<FramesCache> cache_; | 2311 static boost::shared_ptr<FramesCache> cache_; |
2303 static boost::shared_ptr<OrthancStone::WebAssemblyLoadersContext> context_; | 2312 static boost::shared_ptr<OrthancStone::WebAssemblyLoadersContext> context_; |
2304 static std::string stringBuffer_; | 2313 static std::string stringBuffer_; |
2305 static bool softwareRendering_ = false; | 2314 static bool softwareRendering_ = false; |
2306 static WebViewerAction leftButtonAction_ = WebViewerAction_GrayscaleWindowing; | 2315 static WebViewerAction leftButtonAction_ = WebViewerAction_Rotate; // WebViewerAction_GrayscaleWindowing; |
2307 static WebViewerAction middleButtonAction_ = WebViewerAction_Pan; | 2316 static WebViewerAction middleButtonAction_ = WebViewerAction_Pan; |
2308 static WebViewerAction rightButtonAction_ = WebViewerAction_Zoom; | 2317 static WebViewerAction rightButtonAction_ = WebViewerAction_Zoom; |
2309 | 2318 |
2310 | 2319 |
2311 static void FormatTags(std::string& target, | 2320 static void FormatTags(std::string& target, |