/* * * (c)2010 Lein-Mathisen Digital * http://lmdig.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ package com.kristianlm.robotanks.box2dbridge; import org.jbox2d.collision.FilterData; import org.jbox2d.common.Vec2; public interface IBody { float getAngle(); public IShape createBox(float halfWidth, float halfHeight, float x, float y, float density, float angle); // public IShape createFromGeometry(Geometry g); // public void deleteBox(); public void setMassFromShapes(); public Vec2 getWorldCenter(); public void applyForce(Vec2 force, Vec2 point); public void setLinearDamping(float d); public void setAngularDamping(float d); public void applyTorque(float t); public float getAngularVelocity(); public Vec2 getLinearVelocity(); public float getInertiaInv(); public boolean isSleeping(); public Vec2 getWorldDirection(Vec2 p); public void getWorldLocationToOut(Vec2 p, Vec2 q); public Object getUserData(); public void refilter(int categoryBits, int maskBits, int groupIndex); public void refilter(); public FilterData getFilterData(); public void destroyShape(IShape shape); public void setPosition(Vec2 pos); }