#ifndef ODELIB_IBODY_H
#define ODELIB_IBODY_H

#include <k3dsdk/iunknown.h>
#include <ode/ode.h>

namespace libk3dode
{

class ibody :
	public virtual k3d::iunknown
{
public:
	virtual const dBodyID create(const dWorldID World) = 0;
	virtual void reset() = 0;
	virtual void pre_step() = 0;
	virtual void post_step() = 0;
	virtual void destroy() = 0;
	
protected:
	ibody() {}
	ibody(const ibody&) {}
	ibody& operator=(const ibody&) { return *this; }
	virtual ~ibody() {}
};

} // namespace libk3dode

#endif // !ODELIB_IBODY_H

