Classes | |
class | DefaultMotionPolicy |
Functions | |
template<typename transform_type , typename object_type1 , typename object_type2 , typename motion_policy > | |
bool | conservative_advancement (transform_type const &T_a, typename transform_type::vector3_type const &v_a, typename transform_type::vector3_type const &omega_a, object_type1 &A, typename transform_type::value_type const &r_max_a, transform_type const &T_b, typename transform_type::vector3_type const &v_b, typename transform_type::vector3_type const &omega_b, object_type2 &B, typename transform_type::value_type const &r_max_b, typename transform_type::vector3_type &p_a, typename transform_type::vector3_type &p_b, typename transform_type::value_type &time_of_impact, size_t &iterations, typename transform_type::value_type const &epsilon, typename transform_type::value_type const &max_tau, size_t const &max_iterations, motion_policy const &) |
template<typename transform_type , typename object_type1 , typename object_type2 , typename motion_policy > | |
bool | motion_interpolation (transform_type const &A_from, transform_type const &A_to, object_type1 &A, typename transform_type::value_type const &r_max_a, transform_type const &B_from, transform_type const &B_to, object_type2 &B, typename transform_type::value_type const &r_max_b, typename transform_type::vector3_type &p_a, typename transform_type::vector3_type &p_b, typename transform_type::value_type &time_of_impact, size_t &iterations, typename transform_type::value_type const &epsilon, size_t const &max_iterations, motion_policy const &policy) |
bool OpenTissue::collision::continuous::conservative_advancement | ( | transform_type const & | T_a, | |
typename transform_type::vector3_type const & | v_a, | |||
typename transform_type::vector3_type const & | omega_a, | |||
object_type1 & | A, | |||
typename transform_type::value_type const & | r_max_a, | |||
transform_type const & | T_b, | |||
typename transform_type::vector3_type const & | v_b, | |||
typename transform_type::vector3_type const & | omega_b, | |||
object_type2 & | B, | |||
typename transform_type::value_type const & | r_max_b, | |||
typename transform_type::vector3_type & | p_a, | |||
typename transform_type::vector3_type & | p_b, | |||
typename transform_type::value_type & | time_of_impact, | |||
size_t & | iterations, | |||
typename transform_type::value_type const & | epsilon, | |||
typename transform_type::value_type const & | max_tau, | |||
size_t const & | max_iterations, | |||
motion_policy const & | ||||
) | [inline] |
Conservative Advancement. This function tries to determine whether two objects have impacted during their motion. The function assumes that the objects will move continuously in the future with contact linear and angular velocities.
T_a | The initial placement of object A. | |
v_a | The contact linear velocity of object A. | |
w_a | The contact angular velocity of object A. | |
A | The shape/geometry of object A. | |
r_max_a | Maximum radius of the shape of object A. | |
T_b | The initial placement of object B. | |
v_b | The contact linear velocity of object B. | |
w_b | The contact angular velocity of object B. | |
B | The shape/geometry of object B. | |
r_max_b | Maximum radius of the shape of object B. | |
p_a | Upon return this argument holds the cloest point on object A in case of an impact. | |
p_b | Upon return this argument holds the cloest point on object B in case of an impact. | |
time_of_impact | Upon return if an impact is found then this argument holds the estimated value of the time of impact. | |
iterations | Upon return this argument holds the number of used iterations by the function. If the value is equal to the max_iterations argument then the function did not converge to an answer. | |
epsilon | The size of the collision envelope. That is the smallest separation distance between A and B where we consider A and B to be in touching contact. | |
max_tau | The maximum time into the future that the function will look for a time of impact. | |
max_iterations | The maximum number of allowed iterations that the function can take. | |
policy | A motion policy that provides the details of any sub-algorithms/routines needed by the function. |
bool OpenTissue::collision::continuous::motion_interpolation | ( | transform_type const & | A_from, | |
transform_type const & | A_to, | |||
object_type1 & | A, | |||
typename transform_type::value_type const & | r_max_a, | |||
transform_type const & | B_from, | |||
transform_type const & | B_to, | |||
object_type2 & | B, | |||
typename transform_type::value_type const & | r_max_b, | |||
typename transform_type::vector3_type & | p_a, | |||
typename transform_type::vector3_type & | p_b, | |||
typename transform_type::value_type & | time_of_impact, | |||
size_t & | iterations, | |||
typename transform_type::value_type const & | epsilon, | |||
size_t const & | max_iterations, | |||
motion_policy const & | policy | |||
) | [inline] |
Motion Interpolation. This function tries to determine whether two objects have impacted during their motion. The motion of the objects is specified by giving initial and final positions of the objects. From these discrete poses the function will reconstruct the continuous inbetween motion under the assumption that the objects moved at contact linear and angular velocities between their starting and finial positions.
A_from | The initial placement of object A. | |
A_to | The final placement of object A. | |
A | The shape/geometry of object A. | |
r_max_a | Maximum radius of the shape of object A. | |
B_from | The initial placement of object B. | |
B_to | The final placement of object B. | |
B | The shape/geometry of object B. | |
r_max_b | Maximum radius of the shape of object B. | |
p_a | Upon return this argument holds the cloest point on object A in case of an impact. | |
p_b | Upon return this argument holds the cloest point on object B in case of an impact. | |
time_of_impact | Upon return if an impact is found then this argument holds the estimated value of the time of impact. | |
iterations | Upon return this argument holds the number of used iterations by the function. If the value is equal to the max_iterations argument then the function did not converge to an answer. | |
epsilon | The size of the collision envelope. That is the smallest separation distance between A and B where we consider A and B to be in touching contact. | |
max_iterations | The maximum number of allowed iterations that the function can take. | |
policy | A motion policy that provides the details of any sub-algorithms/routines needed by the function. |