Cocos2d-x  v3.11
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups
PhysicsShape Class Referenceabstract

A shape for body, you can view PhysicsBody to see how to create it. More...

Inherits Ref.

Inherited by PhysicsShapeCircle, PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.

Public Member Functions

PhysicsBodygetBody () const
 Get the body that this shape attaches. More...
 
var getBody ()
 Get the body that this shape attaches. More...
 
local getBody ()
 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...
 
local setRestitution ( local restitution)
 Set this shape's restitution. More...
 
float getFriction () const
 Get this shape's friction. More...
 
local getFriction ()
 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...
 
virtual float calculateDefaultMoment ()
 Calculate the default moment value. More...
 
var calculateDefaultMoment ()
 Calculate the default moment value. More...
 
local 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...
 
var 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 shape belongs to. More...
 
int getCategoryBitmask () const
 Get a mask that defines which categories this physics shape belongs to. More...
 
void setContactTestBitmask (int bitmask)
 A mask that defines which categories of bodies cause intersection notifications with this physics shape. More...
 
int getContactTestBitmask () const
 Get a mask that defines which categories of bodies cause intersection notifications with this physics shape. More...
 
void setCollisionBitmask (int bitmask)
 A mask that defines which categories of physics bodies can collide with this physics shape. More...
 
int getCollisionBitmask () const
 Get a mask that defines which categories of physics bodies can collide with this physics shape. More...
 
void setGroup (int group)
 Set the group of shape. More...
 
int getGroup ()
 Get the group of shape. More...
 
- Public Member Functions inherited from Ref
void retain ()
 Retains the ownership. More...
 
local retain ()
 Retains the ownership. More...
 
void release ()
 Releases the ownership immediately. More...
 
Refautorelease ()
 Releases the ownership sometime soon automatically. More...
 
unsigned int getReferenceCount () const
 Returns the Ref's current reference count. More...
 
local getReferenceCount ()
 Returns the Ref's current reference count. More...
 
virtual ~Ref ()
 Destructor.
 

Static Public Member Functions

static void recenterPoints (Vec2 *points, int count, const Vec2 &center=Vec2::ZERO)
 Move the points to the center. More...
 
var recenterPoints ( var points, var count, var 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...
 

Additional Inherited Members

- Public Attributes inherited from Ref
unsigned int _ID
 object id, ScriptSupport need public _ID
 
local _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 
local _luaID
 Lua reference id.
 
void * _scriptObject
 scriptObject, support for swift
 
local _scriptObject
 scriptObject, support for swift
 
bool _rooted
 When true, it means that the object was already rooted.
 
local _rooted
 When true, it means that the object was already rooted.
 
bool _scriptOwned
 The life of the object is scrolled by the scripting engine. More...
 
local _scriptOwned
 The life of the object is scrolled by the scripting engine. More...
 

Detailed Description

A shape for body, you can view PhysicsBody to see how to create it.

Member Function Documentation

PhysicsBody* getBody ( ) const
inline

Get the body that this shape attaches.

A PhysicsBody object pointer.

var getBody ( )
inline

Get the body that this shape attaches.

A PhysicsBody object pointer.

local getBody ( )
inline

Get the body that this shape attaches.

A PhysicsBody object pointer.

Type getType ( ) const
inline

Return this shape's type.

A Type object.

var getType ( )
inline

Return this shape's type.

A Type object.

local getType ( )
inline

Return this shape's type.

A Type object.

float getArea ( ) const
inline

Return this shape's area.

A float number.

var getArea ( )
inline

Return this shape's area.

A float number.

local getArea ( )
inline

Return this shape's area.

A float number.

float getMoment ( ) const
inline

Get this shape's moment.

A float number.

var getMoment ( )
inline

Get this shape's moment.

A float number.

local getMoment ( )
inline

Get this shape's moment.

A float number.

void setMoment ( float  moment)

Set this shape's moment.

It will change the body's moment this shape attaches.

A float number.

var setMoment ( var  moment)

Set this shape's moment.

It will change the body's moment this shape attaches.

A float number.

local setMoment ( local  moment)

Set this shape's moment.

It will change the body's moment this shape attaches.

A float number.

void setTag ( int  tag)
inline

Set this shape's tag.

An interger number that identifies a shape object.

var setTag ( var  tag)
inline

Set this shape's tag.

An interger number that identifies a shape object.

local setTag ( local  tag)
inline

Set this shape's tag.

An interger number that identifies a shape object.

int getTag ( ) const
inline

Get this shape's tag.

An interger number.

var getTag ( )
inline

Get this shape's tag.

An interger number.

local getTag ( )
inline

Get this shape's tag.

An interger number.

float getMass ( ) const
inline

Get the mass of this shape.

A float number.

var getMass ( )
inline

Get the mass of this shape.

A float number.

local getMass ( )
inline

Get the mass of this shape.

A float number.

void setMass ( float  mass)

Set this shape's mass.

It will change the body's mass this shape attaches.

A float number.

var setMass ( var  mass)

Set this shape's mass.

It will change the body's mass this shape attaches.

A float number.

local setMass ( local  mass)

Set this shape's mass.

It will change the body's mass this shape attaches.

A float number.

float getDensity ( ) const
inline

Get this shape's density.

A float number.

var getDensity ( )
inline

Get this shape's density.

A float number.

local getDensity ( )
inline

Get this shape's density.

A float number.

void setDensity ( float  density)

Set this shape's density.

It will change the body's mass this shape attaches.

A float number.

var setDensity ( var  density)

Set this shape's density.

It will change the body's mass this shape attaches.

A float number.

local setDensity ( local  density)

Set this shape's density.

It will change the body's mass this shape attaches.

A float number.

float getRestitution ( ) const
inline

Get this shape's restitution.

A float number.

var getRestitution ( )
inline

Get this shape's restitution.

A float number.

local getRestitution ( )
inline

Get this shape's restitution.

A float number.

void setRestitution ( float  restitution)

Set this shape's restitution.

It will change the shape's elasticity. A float number.

var setRestitution ( var  restitution)

Set this shape's restitution.

It will change the shape's elasticity. A float number.

local setRestitution ( local  restitution)

Set this shape's restitution.

It will change the shape's elasticity. A float number.

float getFriction ( ) const
inline

Get this shape's friction.

A float number.

var getFriction ( )
inline

Get this shape's friction.

A float number.

local getFriction ( )
inline

Get this shape's friction.

A float number.

void setFriction ( float  friction)

Set this shape's friction.

It will change the shape's friction.

A float number.

var setFriction ( var  friction)

Set this shape's friction.

It will change the shape's friction.

A float number.

local setFriction ( local  friction)

Set this shape's friction.

It will change the shape's friction.

A float number.

const PhysicsMaterial& getMaterial ( ) const
inline

Get this shape's PhysicsMaterial object.

A PhysicsMaterial object reference.

var getMaterial ( )
inline

Get this shape's PhysicsMaterial object.

A PhysicsMaterial object reference.

local getMaterial ( )
inline

Get this shape's PhysicsMaterial object.

A PhysicsMaterial object reference.

void setMaterial ( const PhysicsMaterial &  material)

Set this shape's material.

It will change the shape's mass, elasticity and friction. A PhysicsMaterial object.

var setMaterial ( var  material)

Set this shape's material.

It will change the shape's mass, elasticity and friction. A PhysicsMaterial object.

local setMaterial ( local  material)

Set this shape's material.

It will change the shape's mass, elasticity and friction. A PhysicsMaterial object.

virtual float
calculateDefaultMoment
( )
inlinevirtual

Calculate the default moment value.

This function should be overridden in inherit classes. A float number, equals 0.0.

Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.

var calculateDefaultMoment ( )
inlinevirtual

Calculate the default moment value.

This function should be overridden in inherit classes. A float number, equals 0.0.

Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.

local calculateDefaultMoment ( )
inlinevirtual

Calculate the default moment value.

This function should be overridden in inherit classes. A float number, equals 0.0.

Reimplemented in PhysicsShapePolygon, and PhysicsShapeCircle.

virtual Vec2 getOffset ( )
inlinevirtual

Get this shape's position offset.

This function should be overridden in inherit classes. A Vec2 object.

Reimplemented in PhysicsShapeEdgeBox, PhysicsShapeBox, and PhysicsShapeCircle.

var getOffset ( )
inlinevirtual

Get this shape's position offset.

This function should be overridden in inherit classes. A Vec2 object.

Reimplemented in PhysicsShapeEdgeBox, PhysicsShapeBox, and PhysicsShapeCircle.

local getOffset ( )
inlinevirtual

Get this shape's position offset.

This function should be overridden in inherit classes. A Vec2 object.

Reimplemented in PhysicsShapeEdgeBox, PhysicsShapeBox, and PhysicsShapeCircle.

virtual Vec2 getCenter ( )
inlinevirtual

Get this shape's center position.

This function should be overridden in inherit classes. A Vec2 object.

Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.

var getCenter ( )
inlinevirtual

Get this shape's center position.

This function should be overridden in inherit classes. A Vec2 object.

Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.

local getCenter ( )
inlinevirtual

Get this shape's center position.

This function should be overridden in inherit classes. A Vec2 object.

Reimplemented in PhysicsShapeEdgeChain, PhysicsShapeEdgePolygon, PhysicsShapeEdgeSegment, and PhysicsShapePolygon.

bool containsPoint ( const Vec2 point) const

Test point is inside this shape or not.

A Vec2 object. A bool object.

var containsPoint ( var  point)

Test point is inside this shape or not.

A Vec2 object. A bool object.

local containsPoint ( local  point)

Test point is inside this shape or not.

A Vec2 object. A bool object.

static void recenterPoints ( Vec2 points,
int  count,
const Vec2 center = Vec2::ZERO 
)
static

Move the points to the center.

A Vec2 object pointer. An interger number. A Vec2 object, default value is Vec2(0,0).

var recenterPoints ( var  points,
var  count,
var  center = Vec2::ZERO 
)
static

Move the points to the center.

A Vec2 object pointer. An interger number. A Vec2 object, default value is Vec2(0,0).

local recenterPoints ( local  points,
local  count,
local  center = Vec2::ZERO 
)
static

Move the points to the center.

A Vec2 object pointer. An interger number. A Vec2 object, default value is Vec2(0,0).

static Vec2 getPolyonCenter ( const Vec2 points,
int  count 
)
static

Get center of the polyon points.

A Vec2 object pointer. An interger number. A Vec2 object.

var getPolyonCenter ( var  points,
var  count 
)
static

Get center of the polyon points.

A Vec2 object pointer. An interger number. A Vec2 object.

local getPolyonCenter ( local  points,
local  count 
)
static

Get center of the polyon points.

A Vec2 object pointer. An interger number. A Vec2 object.

void setCategoryBitmask ( int  bitmask)
inline

Set a mask that defines which categories this physics shape belongs to.

Every physics shape 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. An interger number, the default value is 0xFFFFFFFF (all bits set).

var setCategoryBitmask ( var  bitmask)
inline

Set a mask that defines which categories this physics shape belongs to.

Every physics shape 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. An interger number, the default value is 0xFFFFFFFF (all bits set).

local setCategoryBitmask ( local  bitmask)
inline

Set a mask that defines which categories this physics shape belongs to.

Every physics shape 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. An interger number, the default value is 0xFFFFFFFF (all bits set).

int getCategoryBitmask ( ) const
inline

Get a mask that defines which categories this physics shape belongs to.

An interger number.

var getCategoryBitmask ( )
inline

Get a mask that defines which categories this physics shape belongs to.

An interger number.

local getCategoryBitmask ( )
inline

Get a mask that defines which categories this physics shape belongs to.

An interger number.

void setContactTestBitmask ( int  bitmask)
inline

A mask that defines which categories of bodies cause intersection notifications with this physics shape.

When two bodies share the same space, each shape’s category mask is tested against the other shape’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. An interger number, the default value is 0x00000000 (all bits cleared).

var setContactTestBitmask ( var  bitmask)
inline

A mask that defines which categories of bodies cause intersection notifications with this physics shape.

When two bodies share the same space, each shape’s category mask is tested against the other shape’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. An interger number, the default value is 0x00000000 (all bits cleared).

local setContactTestBitmask ( local  bitmask)
inline

A mask that defines which categories of bodies cause intersection notifications with this physics shape.

When two bodies share the same space, each shape’s category mask is tested against the other shape’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. An interger number, the default value is 0x00000000 (all bits cleared).

int getContactTestBitmask ( ) const
inline

Get a mask that defines which categories of bodies cause intersection notifications with this physics shape.

An interger number.

var getContactTestBitmask ( )
inline

Get a mask that defines which categories of bodies cause intersection notifications with this physics shape.

An interger number.

local getContactTestBitmask ( )
inline

Get a mask that defines which categories of bodies cause intersection notifications with this physics shape.

An interger number.

void setCollisionBitmask ( int  bitmask)
inline

A mask that defines which categories of physics bodies can collide with this physics shape.

When two physics bodies contact each other, a collision may occur. This shape’s collision mask is compared to the other shape’s category mask by performing a logical AND operation. If the result is a non-zero value, then this shape is affected by the collision. Each shape independently chooses whether it wants to be affected by the other shape. For example, you might use this to avoid collision calculations that would make negligible changes to a shape’s velocity. An interger number, the default value is 0xFFFFFFFF (all bits set).

var setCollisionBitmask ( var  bitmask)
inline

A mask that defines which categories of physics bodies can collide with this physics shape.

When two physics bodies contact each other, a collision may occur. This shape’s collision mask is compared to the other shape’s category mask by performing a logical AND operation. If the result is a non-zero value, then this shape is affected by the collision. Each shape independently chooses whether it wants to be affected by the other shape. For example, you might use this to avoid collision calculations that would make negligible changes to a shape’s velocity. An interger number, the default value is 0xFFFFFFFF (all bits set).

local setCollisionBitmask ( local  bitmask)
inline

A mask that defines which categories of physics bodies can collide with this physics shape.

When two physics bodies contact each other, a collision may occur. This shape’s collision mask is compared to the other shape’s category mask by performing a logical AND operation. If the result is a non-zero value, then this shape is affected by the collision. Each shape independently chooses whether it wants to be affected by the other shape. For example, you might use this to avoid collision calculations that would make negligible changes to a shape’s velocity. An interger number, the default value is 0xFFFFFFFF (all bits set).

int getCollisionBitmask ( ) const
inline

Get a mask that defines which categories of physics bodies can collide with this physics shape.

An interger number.

var getCollisionBitmask ( )
inline

Get a mask that defines which categories of physics bodies can collide with this physics shape.

An interger number.

local getCollisionBitmask ( )
inline

Get a mask that defines which categories of physics bodies can collide with this physics shape.

An interger number.

void setGroup ( int  group)

Set the group of shape.

Collision groups let you specify an integral group index. You can have all shapes with the same group index always collide (positive index) or never collide (negative index). An interger number, it have high priority than bit masks.

var setGroup ( var  group)

Set the group of shape.

Collision groups let you specify an integral group index. You can have all shapes with the same group index always collide (positive index) or never collide (negative index). An interger number, it have high priority than bit masks.

local setGroup ( local  group)

Set the group of shape.

Collision groups let you specify an integral group index. You can have all shapes with the same group index always collide (positive index) or never collide (negative index). An interger number, it have high priority than bit masks.

int getGroup ( )
inline

Get the group of shape.

An interger number.

var getGroup ( )
inline

Get the group of shape.

An interger number.

local getGroup ( )
inline

Get the group of shape.

An interger number.


The documentation for this class was generated from the following file: