1 #ifndef INTERSECTION_SET_HPP 2 #define INTERSECTION_SET_HPP 28 m_have_direction =
false;
29 m_have_velocity_ls =
false;
45 std::pair<T,T> vel_weight;
56 tmp = weight*tmp/abs(tmp);
69 weight_accum.a = m_dir_a;
70 weight_accum.b = m_dir_b;
71 weight_accum.A = m_dir_A;
72 vel_weight = std::accumulate(this->
begin(), this->
end(), std::make_pair(0.0, 0.0),
74 m_direction = vel_weight.first/vel_weight.second;
75 m_have_direction =
true;
76 if(std::isnan(m_direction))
89 std::pair<T,T> top_bottom;
104 if(!std::isnan(tmp1) && !std::isnan(tmp2))
115 top_bottom = std::accumulate(this->
begin(), this->
end(),
116 std::make_pair(0.0,0.0), accum);
117 m_velocity_ls = top_bottom.first/top_bottom.second;
118 m_have_velocity_ls =
true;
120 if(std::isnan(m_velocity_ls ))
169 if(!m_have_direction)
180 if(!m_have_velocity_ls)
182 return m_velocity_ls;
189 bool m_have_direction;
190 bool m_have_velocity_ls;
T getEstimatedDirection()
void setVelocityEstimationCutoff(T lower, T upper)
void estimateVelocityLS()
T sampleWeight(const T A, const T a, const T b) const
void setDirectionEstimationParameters(T A, T lower, T upper)
DoubleBoundingBox3D intersection(DoubleBoundingBox3D a, DoubleBoundingBox3D b)
void correctAliasing(T Vnyq)