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))