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"
36 #include "WExportDataHandler.h"
37 #include "WDataSetSingle.h"
48 #define TRACKING_EPS 0.0000001
60 typedef std::pair< WVector3d, WVector3d >
JobType;
66 typedef boost::shared_ptr< DataSetType const >
DataSetPtr;
69 typedef boost::function< WVector3d ( DataSetPtr, JobType const& ) >
DirFunc;
73 typedef boost::shared_ptr< WGridRegular3D >
Grid3DPtr;
145 friend class ::WThreadedTrackingFunctionTest;
160 typedef boost::shared_ptr< GridType >
GridPtr;
196 std::size_t seedPositions = 1, std::size_t seedsPerPos = 1,
197 std::vector< int > v0 = std::vector< int >(),
198 std::vector< int > v1 = std::vector< int >() );
212 virtual bool getJob(
JobType& job );
230 friend class ::WThreadedTrackingFunctionTest;
247 std::vector< int >
const& v1, std::size_t seedPositions,
248 std::size_t seedsPerPosition );
279 boost::array< std::size_t, 4 >
m_pos;
282 boost::array< std::size_t, 4 >
m_min;
285 boost::array< std::size_t, 4 >
m_max;
315 #endif // WTHREADEDTRACKINGFUNCTION_H