25 #ifndef WTHREADEDTRACKINGFUNCTION_H
26 #define WTHREADEDTRACKINGFUNCTION_H
31 #include <boost/array.hpp>
33 #include "../common/math/linearAlgebra/WLinearAlgebra.h"
34 #include "../common/WSharedObject.h"
35 #include "../common/WThreadedJobs.h"
37 #include "WDataSetSingle.h"
48 #define TRACKING_EPS 0.0000001
59 typedef std::pair< WVector3d, WVector3d >
JobType;
65 typedef boost::shared_ptr< DataSetType const >
DataSetPtr;
68 typedef boost::function< WVector3d ( DataSetPtr, JobType const& ) >
DirFunc;
72 typedef boost::shared_ptr< WGridRegular3D >
Grid3DPtr;
144 friend class ::WThreadedTrackingFunctionTest;
159 typedef boost::shared_ptr< GridType >
GridPtr;
195 std::size_t seedPositions = 1, std::size_t seedsPerPos = 1,
196 std::vector< int > v0 = std::vector< int >(),
197 std::vector< int > v1 = std::vector< int >() );
229 friend class ::WThreadedTrackingFunctionTest;
246 std::vector< int >
const& v1, std::size_t seedPositions,
247 std::size_t seedsPerPosition );
278 boost::array< std::size_t, 4 >
m_pos;
281 boost::array< std::size_t, 4 >
m_min;
284 boost::array< std::size_t, 4 >
m_max;
314 #endif // WTHREADEDTRACKINGFUNCTION_H