1 /** 2 * Copyright (c) 2006-2012 LOVE Development Team 3 * 4 * This software is provided 'as-is', without any express or implied 5 * warranty. In no event will the authors be held liable for any damages 6 * arising from the use of this software. 7 * 8 * Permission is granted to anyone to use this software for any purpose, 9 * including commercial applications, and to alter it and redistribute it 10 * freely, subject to the following restrictions: 11 * 12 * 1. The origin of this software must not be misrepresented; you must not 13 * claim that you wrote the original software. If you use this software 14 * in a product, an acknowledgment in the product documentation would be 15 * appreciated but is not required. 16 * 2. Altered source versions must be plainly marked as such, and must not be 17 * misrepresented as being the original software. 18 * 3. This notice may not be removed or altered from any source distribution. 19 **/ 20 21 #ifndef LOVE_PHYSICS_BOX2D_CIRCLE_SHAPE_H 22 #define LOVE_PHYSICS_BOX2D_CIRCLE_SHAPE_H 23 24 // Module 25 #include "Shape.h" 26 27 #include <vector> 28 29 namespace love 30 { 31 namespace physics 32 { 33 namespace box2d 34 { 35 /** 36 * A CircleShape represent a Circle which can 37 * be used for collision detection and physics. 38 * 39 * The CircleShape is much faster than the PolygonShape, 40 * and should generally be used where possible. 41 **/ 42 class CircleShape : public Shape 43 { 44 public: 45 46 /** 47 * Create a new CircleShape from the parent body and a 48 * Box2D CircleShape definition. 49 * @param body The parent body. 50 * @param def The CircleShape definition. 51 **/ 52 CircleShape(b2CircleShape * c, bool own = true); 53 54 virtual ~CircleShape(); 55 56 /** 57 * Gets the radius for the circle. 58 **/ 59 float getRadius() const; 60 61 /** 62 * Sets the radius for the circle. 63 **/ 64 void setRadius(float r); 65 }; 66 67 } // box2d 68 } // physics 69 } // love 70 71 #endif // LOVE_PHYSICS_BOX2D_CIRCLE_SHAPE_H 72