32 #include <boost/bind.hpp>
45 Data(TrIt first, TrIt last) : trajectories_(first, last)
47 ids_.resize(trajectories_.size());
52 template<
class TrIt,
class IdIt>
53 Data(TrIt first, TrIt last, IdIt first_id) : trajectories_(first, last)
55 IdIt last_id = first_id;
56 std::advance(last_id, std::distance(first, last));
57 ids_.assign(first_id, last_id);
61 template<
class TrIt,
class IdIt>
62 void set(TrIt first, TrIt last, IdIt first_id)
64 trajectories_.assign(first, last);
66 IdIt last_id = first_id;
67 std::advance(last_id, std::distance(first, last));
68 ids_.assign(first_id, last_id);
75 return trajectories_.size();
81 return trajectories_[
k];
85 size_t id(
size_t k)
const
93 std::vector<size_t>::const_iterator sz_p;
94 sz_p = std::find(ids_.begin(), ids_.end(),
id);
95 return sz_p == ids_.end() ?
size() : *sz_p;
99 std::vector<Trajectory>::const_iterator
begin()
const
101 return trajectories_.begin();
105 std::vector<Trajectory>::const_iterator
end()
const
107 return trajectories_.end();
111 std::vector<size_t>::const_iterator
ibegin()
const
117 std::vector<size_t>::const_iterator
iend()
const
125 if(trajectories_.empty())
return 0;
127 return begin()->dimensions();
135 std::vector<Trajectory>::const_iterator tr_p;
137 trajectories_.begin(),
144 return tr_p->start();
150 std::vector<Trajectory>::const_iterator tr_p;
152 trajectories_.begin(),
163 std::vector<Trajectory> trajectories_;
164 std::vector<size_t> ids_;
168 void read(Data& data,
const std::string& fname);
171 void write(
const Data& data,
const std::string& fname);
size_t index(size_t id) const
Get kth trajectory.
Definition: bbb_data.h:91
size_t start_frame() const
Start frame of the data.
Definition: bbb_data.h:131
size_t end() const
Gets the end frame of this person.
Definition: bbb_trajectory.h:115
for k
Definition: APPgetLargeConnectedEdges.m:61
std::vector< Trajectory >::const_iterator begin() const
Iterator to first trajectory.
Definition: bbb_data.h:99
size_t end_frame() const
End frame of the data.
Definition: bbb_data.h:148
std::vector< size_t >::const_iterator iend() const
Iterator to ID at one-past-the end.
Definition: bbb_data.h:117
Generator that increments (++) its state everytime it is called. Useful for creating sequences of con...
Definition: l_functors.h:39
size_t id(size_t k) const
Get kth trajectory.
Definition: bbb_data.h:85
Data(TrIt first, TrIt last)
Data set containing given trajectories.
Definition: bbb_data.h:45
const Trajectory & trajectory(size_t k) const
Get kth trajectory.
Definition: bbb_data.h:79
#define IFT(a, ex, msg)
Definition: l_exception.h:101
std::vector< size_t >::const_iterator ibegin() const
Iterator to first ID.
Definition: bbb_data.h:111
Definition: bbb_trajectory.h:41
std::vector< Trajectory >::const_iterator end() const
Iterator to trajectory at one-past-the end.
Definition: bbb_data.h:105
void write(const Data &data, const std::string &fname)
Write to file.
Definition: bbb_data.cpp:123
Definition: bbb_data.h:37
size_t dimensions() const
Dimensionality of the data.
Definition: bbb_data.h:123
void read(Data &data, const std::string &fname)
Read from file.
Definition: bbb_data.cpp:37
void set(TrIt first, TrIt last, IdIt first_id)
Set trajectories.
Definition: bbb_data.h:62
Data()
Empty data set.
Definition: bbb_data.h:41
size_t start() const
Gets the start frame of this person.
Definition: bbb_trajectory.h:112
size_t size() const
Number of trajectories.
Definition: bbb_data.h:73
Object thrown when computation fails somehow during execution.
Definition: l_exception.h:321
Data(TrIt first, TrIt last, IdIt first_id)
Data set containing given trajectories.
Definition: bbb_data.h:53