00001 #ifndef OPENTISSUE_DYNAMICS_MBD_H 00002 #define OPENTISSUE_DYNAMICS_MBD_H 00003 // 00004 // OpenTissue, A toolbox for physical based simulation and animation. 00005 // Copyright (C) 2007 Department of Computer Science, University of Copenhagen 00006 // 00007 #include <OpenTissue/configuration.h> 00008 00009 00010 //.. refactor this >>>> 00011 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_sweep_and_prune.h> 00012 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_spatial_hashing.h> 00013 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_exhaustive_search.h> 00014 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_geometry_dispatcher.h> 00015 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_setup_default_geometry_dispatcher.h> 00016 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_caching_contact_graph_analysis.h> 00017 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_single_group_analysis.h> 00018 #include <OpenTissue/dynamics/mbd/collision_detection/mbd_collision_detection.h> 00019 // <<<<<< 00020 00021 #include <OpenTissue/dynamics/mbd/joints/mbd_hinge_joint.h> 00022 #include <OpenTissue/dynamics/mbd/joints/mbd_slider_joint.h> 00023 #include <OpenTissue/dynamics/mbd/joints/mbd_ball_joint.h> 00024 #include <OpenTissue/dynamics/mbd/joints/mbd_universal_joint.h> 00025 #include <OpenTissue/dynamics/mbd/joints/mbd_wheel_joint.h> 00026 00027 #include <OpenTissue/dynamics/mbd/limits/mbd_reach_cone.h> 00028 #include <OpenTissue/dynamics/mbd/limits/mbd_linear_joint_limit.h> 00029 #include <OpenTissue/dynamics/mbd/motors/mbd_linear_joint_motor.h> 00030 #include <OpenTissue/dynamics/mbd/limits/mbd_angular_joint_limit.h> 00031 #include <OpenTissue/dynamics/mbd/motors/mbd_angular_joint_motor.h> 00032 00033 #include <OpenTissue/dynamics/mbd/scripted/mbd_oscillation.h> 00034 00035 #include <OpenTissue/dynamics/mbd/forces/mbd_gravity.h> 00036 #include <OpenTissue/dynamics/mbd/forces/mbd_damping.h> 00037 #include <OpenTissue/dynamics/mbd/forces/mbd_driving_force.h> 00038 00039 #include <OpenTissue/dynamics/mbd/solvers/mbd_projected_gauss_seidel.h> 00040 00041 #include <OpenTissue/dynamics/mbd/collision_resolvers/mbd_iterate_once_collision_resolver.h> 00042 #include <OpenTissue/dynamics/mbd/collision_resolvers/mbd_sequential_collision_resolver.h> 00043 #include <OpenTissue/dynamics/mbd/collision_resolvers/mbd_sequential_truncating_collision_resolver.h> 00044 00045 #include <OpenTissue/dynamics/mbd/steppers/mbd_2pass_shock_propagation_stepper.h> 00046 #include <OpenTissue/dynamics/mbd/steppers/mbd_constraint_based_shock_propagation_stepper.h> 00047 #include <OpenTissue/dynamics/mbd/steppers/mbd_dynamics_projection_stepper.h> 00048 #include <OpenTissue/dynamics/mbd/steppers/mbd_dynamics_stepper.h> 00049 #include <OpenTissue/dynamics/mbd/steppers/mbd_first_order_stepper.h> 00050 00051 #include <OpenTissue/dynamics/mbd/simulators/mbd_bisection_step_simulator.h> 00052 #include <OpenTissue/dynamics/mbd/simulators/mbd_explicit_fixed_step_simulator.h> 00053 #include <OpenTissue/dynamics/mbd/simulators/mbd_explicit_separate_error_correction_fixed_step_simulator.h> 00054 #include <OpenTissue/dynamics/mbd/simulators/mbd_fix_point_step_simulator.h> 00055 #include <OpenTissue/dynamics/mbd/simulators/mbd_implicit_fixed_step_simulator.h> 00056 #include <OpenTissue/dynamics/mbd/simulators/mbd_semi_implicit_fixed_step_simulator.h> 00057 #include <OpenTissue/dynamics/mbd/simulators/mbd_separated_collision_contact_fixed_step_simulator.h> 00058 00059 #include <OpenTissue/dynamics/mbd/collision_laws/mbd_newton_collision_law_policy.h> 00060 #include <OpenTissue/dynamics/mbd/collision_laws/mbd_frictional_newton_collision_law_policy.h> 00061 #include <OpenTissue/dynamics/mbd/collision_laws/mbd_chatterjee_ruina_collision_law_policy.h> 00062 00063 00064 #include <OpenTissue/dynamics/mbd/mbd_compute_position_update.h> 00065 #include <OpenTissue/dynamics/mbd/mbd_set_velocity_vector.h> 00066 #include <OpenTissue/dynamics/mbd/mbd_set_position_vector.h> 00067 #include <OpenTissue/dynamics/mbd/mbd_get_ncp_formulation.h> 00068 #include <OpenTissue/dynamics/mbd/mbd_get_inverse_mass_matrix.h> 00069 #include <OpenTissue/dynamics/mbd/mbd_get_mass_matrix.h> 00070 #include <OpenTissue/dynamics/mbd/mbd_get_external_force_vector.h> 00071 #include <OpenTissue/dynamics/mbd/mbd_get_position_vector.h> 00072 #include <OpenTissue/dynamics/mbd/mbd_get_velocity_vector.h> 00073 00074 #include <OpenTissue/dynamics/mbd/mbd_compute_scripted_motions.h> 00075 #include <OpenTissue/dynamics/mbd/mbd_is_all_bodies_sleepy.h> 00076 #include <OpenTissue/dynamics/mbd/mbd_apply_impulse.h> 00077 #include <OpenTissue/dynamics/mbd/mbd_compute_collision_matrix.h> 00078 #include <OpenTissue/dynamics/mbd/mbd_compute_relative_contact_velocity.h> 00079 #include <OpenTissue/dynamics/mbd/mbd_compute_min_max_distance.h> 00080 00081 00082 #include <OpenTissue/dynamics/mbd/mbd_compute_contact_count.h> 00083 #include <OpenTissue/dynamics/mbd/mbd_compute_contact_count_matrix.h> 00084 #include <OpenTissue/dynamics/mbd/mbd_compute_kinetic_energy_vector.h> 00085 00086 #include <OpenTissue/dynamics/mbd/mbd_kinetic_energy_sleepy_policy.h> 00087 #include <OpenTissue/dynamics/mbd/mbd_no_sleepy_policy.h> 00088 00089 #include <OpenTissue/dynamics/mbd/mbd_types.h> 00090 00091 //--- Yrgk this really do not belong in a simulator engine... 00092 #include <OpenTissue/dynamics/mbd/util/mbd_mel_geometry_string.h> 00093 #include <OpenTissue/dynamics/mbd/util/mbd_mel_keyframe_string.h> 00094 #include <OpenTissue/dynamics/mbd/util/mbd_mel_euler_filter_string.h> 00095 00096 #include <OpenTissue/dynamics/mbd/util/mbd_draw_penetrations.h> 00097 #include <OpenTissue/dynamics/mbd/util/mbd_draw_contacts.h> 00098 #include <OpenTissue/dynamics/mbd/util/mbd_draw_joint.h> 00099 #include <OpenTissue/dynamics/mbd/util/mbd_draw_body.h> 00100 //----------------------------- end yrgk! 00101 00102 00103 // OPENTISSUE_DYNAMICS_MBD_H 00104 #endif