comparison Framework/Toolbox/GeometryToolbox.h @ 140:2115530d3703 wasm

OrientedBoundingBox
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 18 Jan 2018 14:42:33 +0100
parents e2fe9352f240
children 9b83f30fc1c0
comparison
equal deleted inserted replaced
139:22628d37ef5c 140:2115530d3703
26 #include <boost/version.hpp> 26 #include <boost/version.hpp>
27 #if BOOST_VERSION >= 106300 // or 64, need to check 27 #if BOOST_VERSION >= 106300 // or 64, need to check
28 # include <boost/serialization/array_wrapper.hpp> 28 # include <boost/serialization/array_wrapper.hpp>
29 #endif 29 #endif
30 30
31 #include <boost/numeric/ublas/matrix.hpp>
31 #include <boost/numeric/ublas/vector.hpp> 32 #include <boost/numeric/ublas/vector.hpp>
32 33
33 #include <Core/DicomFormat/DicomMap.h> 34 #include <Core/DicomFormat/DicomMap.h>
34 35
35 namespace OrthancStone 36 namespace OrthancStone
36 { 37 {
38 typedef boost::numeric::ublas::matrix<double> Matrix;
37 typedef boost::numeric::ublas::vector<double> Vector; 39 typedef boost::numeric::ublas::vector<double> Vector;
38 40
39 namespace GeometryToolbox 41 namespace GeometryToolbox
40 { 42 {
41 void Print(const Vector& v); 43 void Print(const Vector& v);
116 inline double ProjectAlongNormal(const Vector& point, 118 inline double ProjectAlongNormal(const Vector& point,
117 const Vector& normal) 119 const Vector& normal)
118 { 120 {
119 return boost::numeric::ublas::inner_prod(point, normal); 121 return boost::numeric::ublas::inner_prod(point, normal);
120 } 122 }
123
124 Matrix CreateRotationMatrixAlongX(double a);
125
126 Matrix CreateRotationMatrixAlongY(double a);
127
128 Matrix CreateRotationMatrixAlongZ(double a);
121 }; 129 };
122 } 130 }