25 #ifndef WTHREADEDTRACKINGFUNCTION_H
26 #define WTHREADEDTRACKINGFUNCTION_H
33 #include <boost/array.hpp>
35 #include "../common/math/linearAlgebra/WVectorFixed.h"
36 #include "../common/WSharedObject.h"
37 #include "../common/WThreadedJobs.h"
39 #include "WDataSetSingle.h"
50 #if INTPTR_MAX == INT32_MAX
51 #define TRACKING_EPS 0.00001
53 #define TRACKING_EPS 0.0000001
65 typedef std::pair< WVector3d, WVector3d >
JobType;
71 typedef boost::shared_ptr< DataSetType const >
DataSetPtr;
74 typedef boost::function< WVector3d ( DataSetPtr, JobType const& ) >
DirFunc;
78 typedef boost::shared_ptr< WGridRegular3D >
Grid3DPtr;
150 friend class ::WThreadedTrackingFunctionTest;
165 typedef boost::shared_ptr< GridType >
GridPtr;
201 std::size_t seedPositions = 1, std::size_t seedsPerPos = 1,
202 std::vector< int > v0 = std::vector< int >(),
203 std::vector< int > v1 = std::vector< int >() );
235 friend class ::WThreadedTrackingFunctionTest;
252 std::vector< int >
const& v1, std::size_t seedPositions,
253 std::size_t seedsPerPosition );
284 boost::array< std::size_t, 4 >
m_pos;
287 boost::array< std::size_t, 4 >
m_min;
290 boost::array< std::size_t, 4 >
m_max;
320 #endif // WTHREADEDTRACKINGFUNCTION_H