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