00001 #ifndef OPENTISSUE_DYNAMICS_MBD_MBD_COLLISION_RESOLVER_INTERFACE_H 00002 #define OPENTISSUE_DYNAMICS_MBD_MBD_COLLISION_RESOLVER_INTERFACE_H 00003 // 00004 // OpenTissue Template Library 00005 // - A generic toolbox for physics-based modeling and simulation. 00006 // Copyright (C) 2008 Department of Computer Science, University of Copenhagen. 00007 // 00008 // OTTL is licensed under zlib: http://opensource.org/licenses/zlib-license.php 00009 // 00010 #include <OpenTissue/configuration.h> 00011 00012 #include <OpenTissue/dynamics/mbd/interfaces/mbd_stepper_interface.h> 00013 00014 namespace OpenTissue 00015 { 00016 namespace mbd 00017 { 00018 00019 template< typename mbd_types > 00020 class CollisionResolverInterface : public StepperInterface<mbd_types> 00021 { 00022 public: 00023 00024 typedef typename mbd_types::math_policy::real_type real_type; 00025 typedef typename mbd_types::group_type group_type; 00026 00027 CollisionResolverInterface(){} 00028 virtual ~CollisionResolverInterface(){} 00029 00030 public: 00031 00032 void error_correction(group_type & group) 00033 { 00034 assert(false || !"CollisionResolverInterface::error_correction(): usually not defined for a collision resolver"); 00035 } 00036 00037 void run(group_type & group,real_type const & time_step) 00038 { 00039 assert(false || !"CollisionResolverInterface::run(): usually not defined for a collision resolver"); 00040 } 00041 00042 }; 00043 00044 } // namespace mbd 00045 } // namespace OpenTissue 00046 // OPENTISSUE_DYNAMICS_MBD_MBD_COLLISION_RESOLVER_INTERFACE_H 00047 #endif