A shape for body. More...
#include <CCPhysicsShape.h>
Public Types | |
enum | Type { UNKNOWN, CIRCLE, BOX, POLYGEN, EDGESEGMENT, EDGEBOX, EDGEPOLYGEN, EDGECHAIN } |
Public Member Functions | |
PhysicsBody * | getBody () const |
Get the body that this shape attaches. More... | |
Type | getType () const |
Return this shape's type. More... | |
float | getArea () const |
Return this shape's area. More... | |
float | getMoment () const |
Get this shape's moment. More... | |
void | setMoment (float moment) |
Set this shape's moment. More... | |
void | setTag (int tag) |
Set this shape's tag. More... | |
int | getTag () const |
Get this shape's tag. More... | |
float | getMass () const |
Get the mass of this shape. More... | |
void | setMass (float mass) |
Set this shape's mass. More... | |
float | getDensity () const |
Get this shape's density. More... | |
void | setDensity (float density) |
Set this shape's density. More... | |
float | getRestitution () const |
Get this shape's restitution. More... | |
void | setRestitution (float restitution) |
Set this shape's restitution. More... | |
float | getFriction () const |
Get this shape's friction. More... | |
void | setFriction (float friction) |
Set this shape's friction. More... | |
const PhysicsMaterial & | getMaterial () const |
Get this shape's PhysicsMaterial object. More... | |
local | getMaterial () |
Get this shape's PhysicsMaterial object. More... | |
void | setMaterial (const PhysicsMaterial &material) |
Set this shape's material. More... | |
local | setMaterial ( local material) |
Set this shape's material. More... | |
virtual float | calculateDefaultMoment () |
Calculate the default moment value. More... | |
virtual Vec2 | getOffset () |
Get this shape's position offset. More... | |
virtual Vec2 | getCenter () |
Get this shape's center position. More... | |
local | getCenter () |
Get this shape's center position. More... | |
bool | containsPoint (const Vec2 &point) const |
Test point is inside this shape or not. More... | |
void | setCategoryBitmask (int bitmask) |
Set a mask that defines which categories this physics body belongs to. More... | |
var | setCategoryBitmask ( var bitmask) |
Set a mask that defines which categories this physics body belongs to. More... | |
local | setCategoryBitmask ( local bitmask) |
Set a mask that defines which categories this physics body belongs to. More... | |
int | getCategoryBitmask () const |
Get a mask that defines which categories this physics body belongs to. More... | |
var | getCategoryBitmask () |
Get a mask that defines which categories this physics body belongs to. More... | |
local | getCategoryBitmask () |
Get a mask that defines which categories this physics body belongs to. More... | |
void | setContactTestBitmask (int bitmask) |
A mask that defines which categories of bodies cause intersection notifications with this physics body. More... | |
int | getContactTestBitmask () const |
Get a mask that defines which categories of bodies cause intersection notifications with this physics body. More... | |
void | setCollisionBitmask (int bitmask) |
A mask that defines which categories of physics bodies can collide with this physics body. More... | |
int | getCollisionBitmask () const |
Get a mask that defines which categories of physics bodies can collide with this physics body. More... | |
void | setGroup (int group) |
Set the group of body. More... | |
int | getGroup () |
Get the group of body. More... | |
Public Member Functions inherited from Ref | |
void | retain () |
Retains the ownership. More... | |
void | release () |
Releases the ownership immediately. More... | |
Ref * | autorelease () |
Releases the ownership sometime soon automatically. More... | |
unsigned int | getReferenceCount () const |
Returns the Ref's current reference count. More... | |
virtual | ~Ref () |
Destructor. More... | |
Static Public Member Functions | |
static void | recenterPoints (Vec2 *points, int count, const Vec2 ¢er=Vec2::ZERO) |
Move the points to the center. More... | |
local | recenterPoints ( local points, local count, local ZERO) |
Move the points to the center. More... | |
static Vec2 | getPolyonCenter (const Vec2 *points, int count) |
Get center of the polyon points. More... | |
Protected Member Functions | |
void | setBody (PhysicsBody *body) |
virtual float | calculateArea () |
calculate the area of this shape More... | |
virtual void | setScale (float scaleX, float scaleY) |
local | setScale ( local scaleX, local scaleY) |
virtual void | updateScale () |
void | addShape (cpShape *shape) |
PhysicsShape () | |
virtual | ~PhysicsShape ()=0 |
local | ~PhysicsShape () |
Protected Member Functions inherited from Ref | |
Ref () | |
Constructor. More... | |
Ref () | |
Constructor. More... | |
Protected Attributes | |
PhysicsBody * | _body |
std::vector< cpShape * > | _cpShapes |
Type | _type |
float | _area |
float | _mass |
float | _moment |
float | _scaleX |
float | _scaleY |
float | _newScaleX |
float | _newScaleY |
PhysicsMaterial | _material |
int | _tag |
int | _categoryBitmask |
int | _collisionBitmask |
int | _contactTestBitmask |
int | _group |
Protected Attributes inherited from Ref | |
unsigned int | _referenceCount |
count of references More... | |
local | _referenceCount |
count of references More... | |
Friends | |
class | PhysicsWorld |
class | PhysicsBody |
class | PhysicsJoint |
class | PhysicsDebugDraw |
A shape for body.
You do not create PhysicsWorld objects directly, instead, you can view PhysicsBody to see how to create it.
|
protected |
|
protected |
|
protected |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protected |
|
protected |
|
protected |
|
inlineprotectedvirtual |
calculate the area of this shape
Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.
|
inlineprotectedvirtual |
calculate the area of this shape
Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.
|
inlineprotectedvirtual |
calculate the area of this shape
Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.
|
inlinevirtual |
Calculate the default moment value.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.
|
inlinevirtual |
Calculate the default moment value.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.
|
inlinevirtual |
Calculate the default moment value.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.
bool containsPoint | ( | const Vec2 & | point | ) | const |
var containsPoint | ( | var | point | ) |
local containsPoint | ( | local | point | ) |
|
inline |
Return this shape's area.
|
inline |
Return this shape's area.
|
inline |
Return this shape's area.
|
inline |
Get the body that this shape attaches.
|
inline |
Get the body that this shape attaches.
|
inline |
Get the body that this shape attaches.
|
inline |
Get a mask that defines which categories this physics body belongs to.
|
inline |
Get a mask that defines which categories this physics body belongs to.
|
inline |
Get a mask that defines which categories this physics body belongs to.
|
inlinevirtual |
Get this shape's center position.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.
|
inlinevirtual |
Get this shape's center position.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.
|
inlinevirtual |
Get this shape's center position.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.
|
inline |
Get a mask that defines which categories of physics bodies can collide with this physics body.
|
inline |
Get a mask that defines which categories of physics bodies can collide with this physics body.
|
inline |
Get a mask that defines which categories of physics bodies can collide with this physics body.
|
inline |
Get a mask that defines which categories of bodies cause intersection notifications with this physics body.
|
inline |
Get a mask that defines which categories of bodies cause intersection notifications with this physics body.
|
inline |
Get a mask that defines which categories of bodies cause intersection notifications with this physics body.
|
inline |
Get this shape's density.
|
inline |
Get this shape's density.
|
inline |
Get this shape's density.
|
inline |
Get this shape's friction.
|
inline |
Get this shape's friction.
|
inline |
Get this shape's friction.
|
inline |
Get the group of body.
|
inline |
Get the group of body.
|
inline |
Get the group of body.
|
inline |
Get the mass of this shape.
|
inline |
Get the mass of this shape.
|
inline |
Get the mass of this shape.
|
inline |
Get this shape's PhysicsMaterial object.
|
inline |
Get this shape's PhysicsMaterial object.
|
inline |
Get this shape's PhysicsMaterial object.
|
inline |
Get this shape's moment.
|
inline |
Get this shape's moment.
|
inline |
Get this shape's moment.
|
inlinevirtual |
Get this shape's position offset.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapeEdgeBox, PhysicsShapeBox, and PhysicsShapeCircle.
|
inlinevirtual |
Get this shape's position offset.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapeEdgeBox, PhysicsShapeBox, and PhysicsShapeCircle.
|
inlinevirtual |
Get this shape's position offset.
This function should be overrided in inherit classes.
Reimplemented in PhysicsShapeEdgeBox, PhysicsShapeBox, and PhysicsShapeCircle.
|
static |
|
static |
|
inline |
Get this shape's restitution.
|
inline |
Get this shape's restitution.
|
inline |
Get this shape's restitution.
|
inline |
Get this shape's tag.
|
inline |
Get this shape's tag.
|
inline |
Get this shape's tag.
|
inline |
Return this shape's type.
|
inline |
Return this shape's type.
|
inline |
Return this shape's type.
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
inline |
Set a mask that defines which categories this physics body belongs to.
Every physics body in a scene can be assigned to up to 32 different categories, each corresponding to a bit in the bit mask. You define the mask values used in your game. In conjunction with the collisionBitMask and contactTestBitMask properties, you define which physics bodies interact with each other and when your game is notified of these interactions.
bitmask | An interger number, the default value is 0xFFFFFFFF (all bits set). |
|
inline |
Set a mask that defines which categories this physics body belongs to.
Every physics body in a scene can be assigned to up to 32 different categories, each corresponding to a bit in the bit mask. You define the mask values used in your game. In conjunction with the collisionBitMask and contactTestBitMask properties, you define which physics bodies interact with each other and when your game is notified of these interactions.
bitmask | An interger number, the default value is 0xFFFFFFFF (all bits set). |
|
inline |
Set a mask that defines which categories this physics body belongs to.
Every physics body in a scene can be assigned to up to 32 different categories, each corresponding to a bit in the bit mask. You define the mask values used in your game. In conjunction with the collisionBitMask and contactTestBitMask properties, you define which physics bodies interact with each other and when your game is notified of these interactions.
bitmask | An interger number, the default value is 0xFFFFFFFF (all bits set). |
|
inline |
A mask that defines which categories of physics bodies can collide with this physics body.
When two physics bodies contact each other, a collision may occur. This body’s collision mask is compared to the other body’s category mask by performing a logical AND operation. If the result is a non-zero value, then this body is affected by the collision. Each body independently chooses whether it wants to be affected by the other body. For example, you might use this to avoid collision calculations that would make negligible changes to a body’s velocity.
bitmask | An interger number, the default value is 0xFFFFFFFF (all bits set). |
|
inline |
A mask that defines which categories of physics bodies can collide with this physics body.
When two physics bodies contact each other, a collision may occur. This body’s collision mask is compared to the other body’s category mask by performing a logical AND operation. If the result is a non-zero value, then this body is affected by the collision. Each body independently chooses whether it wants to be affected by the other body. For example, you might use this to avoid collision calculations that would make negligible changes to a body’s velocity.
bitmask | An interger number, the default value is 0xFFFFFFFF (all bits set). |
|
inline |
A mask that defines which categories of physics bodies can collide with this physics body.
When two physics bodies contact each other, a collision may occur. This body’s collision mask is compared to the other body’s category mask by performing a logical AND operation. If the result is a non-zero value, then this body is affected by the collision. Each body independently chooses whether it wants to be affected by the other body. For example, you might use this to avoid collision calculations that would make negligible changes to a body’s velocity.
bitmask | An interger number, the default value is 0xFFFFFFFF (all bits set). |
|
inline |
A mask that defines which categories of bodies cause intersection notifications with this physics body.
When two bodies share the same space, each body’s category mask is tested against the other body’s contact mask by performing a logical AND operation. If either comparison results in a non-zero value, an PhysicsContact object is created and passed to the physics world’s delegate. For best performance, only set bits in the contacts mask for interactions you are interested in.
bitmask | An interger number, the default value is 0x00000000 (all bits cleared). |
|
inline |
A mask that defines which categories of bodies cause intersection notifications with this physics body.
When two bodies share the same space, each body’s category mask is tested against the other body’s contact mask by performing a logical AND operation. If either comparison results in a non-zero value, an PhysicsContact object is created and passed to the physics world’s delegate. For best performance, only set bits in the contacts mask for interactions you are interested in.
bitmask | An interger number, the default value is 0x00000000 (all bits cleared). |
|
inline |
A mask that defines which categories of bodies cause intersection notifications with this physics body.
When two bodies share the same space, each body’s category mask is tested against the other body’s contact mask by performing a logical AND operation. If either comparison results in a non-zero value, an PhysicsContact object is created and passed to the physics world’s delegate. For best performance, only set bits in the contacts mask for interactions you are interested in.
bitmask | An interger number, the default value is 0x00000000 (all bits cleared). |
void setDensity | ( | float | density | ) |
Set this shape's density.
It will change the body's mass this shape attaches.
density | A float number. |
var setDensity | ( | var | density | ) |
Set this shape's density.
It will change the body's mass this shape attaches.
density | A float number. |
local setDensity | ( | local | density | ) |
Set this shape's density.
It will change the body's mass this shape attaches.
density | A float number. |
void setFriction | ( | float | friction | ) |
Set this shape's friction.
It will change the shape's friction.
friction | A float number. |
var setFriction | ( | var | friction | ) |
Set this shape's friction.
It will change the shape's friction.
friction | A float number. |
local setFriction | ( | local | friction | ) |
Set this shape's friction.
It will change the shape's friction.
friction | A float number. |
void setGroup | ( | int | group | ) |
Set the group of body.
Collision groups let you specify an integral group index. You can have all fixtures with the same group index always collide (positive index) or never collide (negative index).
group | An interger number, it have high priority than bit masks. |
var setGroup | ( | var | group | ) |
Set the group of body.
Collision groups let you specify an integral group index. You can have all fixtures with the same group index always collide (positive index) or never collide (negative index).
group | An interger number, it have high priority than bit masks. |
local setGroup | ( | local | group | ) |
Set the group of body.
Collision groups let you specify an integral group index. You can have all fixtures with the same group index always collide (positive index) or never collide (negative index).
group | An interger number, it have high priority than bit masks. |
void setMass | ( | float | mass | ) |
Set this shape's mass.
It will change the body's mass this shape attaches.
mass | A float number. |
var setMass | ( | var | mass | ) |
Set this shape's mass.
It will change the body's mass this shape attaches.
mass | A float number. |
local setMass | ( | local | mass | ) |
Set this shape's mass.
It will change the body's mass this shape attaches.
mass | A float number. |
void setMaterial | ( | const PhysicsMaterial & | material | ) |
Set this shape's material.
It will change the shape's mass, elasticity and friction.
material | A PhysicsMaterial object. |
var setMaterial | ( | var | material | ) |
Set this shape's material.
It will change the shape's mass, elasticity and friction.
material | A PhysicsMaterial object. |
local setMaterial | ( | local | material | ) |
Set this shape's material.
It will change the shape's mass, elasticity and friction.
material | A PhysicsMaterial object. |
void setMoment | ( | float | moment | ) |
Set this shape's moment.
It will change the body's moment this shape attaches.
moment | A float number. |
var setMoment | ( | var | moment | ) |
Set this shape's moment.
It will change the body's moment this shape attaches.
moment | A float number. |
local setMoment | ( | local | moment | ) |
Set this shape's moment.
It will change the body's moment this shape attaches.
moment | A float number. |
void setRestitution | ( | float | restitution | ) |
Set this shape's restitution.
It will change the shape's elasticity.
restitution | A float number. |
var setRestitution | ( | var | restitution | ) |
Set this shape's restitution.
It will change the shape's elasticity.
restitution | A float number. |
local setRestitution | ( | local | restitution | ) |
Set this shape's restitution.
It will change the shape's elasticity.
restitution | A float number. |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
inline |
Set this shape's tag.
tag | An interger number that identifies a shape object. |
|
inline |
Set this shape's tag.
tag | An interger number that identifies a shape object. |
|
inline |
Set this shape's tag.
tag | An interger number that identifies a shape object. |
|
protectedvirtual |
Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, PhysicsShapePolygon, and PhysicsShapeCircle.
|
protectedvirtual |
Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, PhysicsShapePolygon, and PhysicsShapeCircle.
|
protectedvirtual |
Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, PhysicsShapePolygon, and PhysicsShapeCircle.
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |