Mercurial > hg > orthanc-stone
comparison Framework/StoneException.h @ 949:32eaf4929b08 toa2019081301
OrthancMultiframeVolumeLoader and OrthancSeriesVolumeProgressiveLoader now implement IGeometryProvider so that the geometry reference can be switched (CT or DOSE, for instance) + VolumeImageGeometry::SetSize renamed to VolumeImageGeometry::SetSizeInVoxels + prevent text layer update if text or properties do not change + a few stream operator<< for debug (Vector, Matrix,...) + fixed memory access aligment issues in ImageBuffer3D::ExtractSagittalSlice + fix for wrong screen Y offset of mpr slices in DicomVolumeImageMPRSlicer.
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Tue, 13 Aug 2019 16:01:05 +0200 |
parents | 1091b2adeb5a |
children | e160159b1905 |
comparison
equal
deleted
inserted
replaced
948:141cc19e6b7d | 949:32eaf4929b08 |
---|---|
20 | 20 |
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include "Core/OrthancException.h" | 24 #include "Core/OrthancException.h" |
25 #include "Toolbox/LinearAlgebra.h" | |
26 | |
27 #include <iostream> | |
25 #include <boost/lexical_cast.hpp> | 28 #include <boost/lexical_cast.hpp> |
26 | 29 |
27 namespace OrthancStone | 30 namespace OrthancStone |
28 { | 31 { |
29 enum ErrorCode | 32 enum ErrorCode |
124 virtual const char* What() const | 127 virtual const char* What() const |
125 { | 128 { |
126 return boost::lexical_cast<std::string>(applicationErrorCode_).c_str(); | 129 return boost::lexical_cast<std::string>(applicationErrorCode_).c_str(); |
127 } | 130 } |
128 }; | 131 }; |
129 | |
130 } | 132 } |
131 | 133 |
132 // See https://isocpp.org/wiki/faq/misc-technical-issues#macros-with-multi-stmts | 134 // See https://isocpp.org/wiki/faq/misc-technical-issues#macros-with-multi-stmts |
133 // (or google "Multiple lines macro C++ faq lite" if link is dead) | 135 // (or google "Multiple lines macro C++ faq lite" if link is dead) |
134 #define ORTHANC_ASSERT2(cond,streamChainMessage) \ | 136 #define ORTHANC_ASSERT2(cond,streamChainMessage) \ |
149 | 151 |
150 # define ORTHANC_EXPAND( x ) x | 152 # define ORTHANC_EXPAND( x ) x |
151 # define GET_ORTHANC_ASSERT(_1,_2,NAME,...) NAME | 153 # define GET_ORTHANC_ASSERT(_1,_2,NAME,...) NAME |
152 # define ORTHANC_ASSERT(...) ORTHANC_EXPAND(GET_ORTHANC_ASSERT(__VA_ARGS__, ORTHANC_ASSERT2, ORTHANC_ASSERT1, UNUSED)(__VA_ARGS__)) | 154 # define ORTHANC_ASSERT(...) ORTHANC_EXPAND(GET_ORTHANC_ASSERT(__VA_ARGS__, ORTHANC_ASSERT2, ORTHANC_ASSERT1, UNUSED)(__VA_ARGS__)) |
153 | 155 |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
154 /* | 168 /* |
155 Explanation: | 169 Explanation: |
156 | 170 |
157 ORTHANC_ASSERT(a) | 171 ORTHANC_ASSERT(a) |
158 ORTHANC_EXPAND(GET_ORTHANC_ASSERT(a, ORTHANC_ASSERT2, ORTHANC_ASSERT1, UNUSED)(a)) | 172 ORTHANC_EXPAND(GET_ORTHANC_ASSERT(a, ORTHANC_ASSERT2, ORTHANC_ASSERT1, UNUSED)(a)) |