Box2D API 中文:b2World 類參考

構造函數與析構函數
b2World::b2World ( const b2Vec2 & gravity, 
bool doSleep 
) 

構造一個世界對象。
參數: gravity 世界重力向量。
doSleep 物體是否可休眠。經過不模擬休眠物體來提升引擎的效率。 

b2World::~b2World ( ) 

摧毀世界。全部的物理學實體被摧毀,並且全部的堆內存被釋放。
成員函數
void b2World::ClearForces ( ) 

在一個時間步以後經過調用該方法來清除隊列。一般在每一個 Step 方法調用後調用該方法,除非你在處理子步驟 (注,原意爲表演子步驟 performing sub-steps)。默認的狀況下,隊列會被自動的清除,所以你不須要調用這個方法。
參見:
SetAutoClearForces 
b2Body * b2World::CreateBody ( const b2BodyDef * def ) 

根據定義來建立一個剛體,定義的引用不會被保存。
警告:
此函數在回調期間會被鎖定。
b2Joint * b2World::CreateJoint ( const b2JointDef * def ) 

建立一個關節用於約束物體。這可能致使被鏈接的物體之間會中止碰撞。定義的引用不會被保存。
警告:
此函數在回調期間會被鎖定。
void b2World::DestroyBody ( b2Body * body ) 

摧毀給定的一個剛體。剛體的引用不會被保存。
警告:
這會自動地刪除全部相關的形狀和關節。 
此函數在回調期間會被鎖定。 
void b2World::DestroyJoint ( b2Joint * joint ) 

摧毀一個關節。這可能致使被鏈接的物體之間會開始碰撞。
警告:
此函數在回調期間會被鎖定
void b2World::DrawDebugData ( ) 

調用該方法來繪製形狀以及其它調試繪製數據。
bool b2World::GetAutoClearForces ( ) const [inline]

獲取在每一個時間步以後用於控制自動清除隊列的標誌。
int32 b2World::GetBodyCount ( ) const [inline]

獲取物體的數量。
b2Body * b2World::GetBodyList ( ) [inline]

獲取世界物體的列表。它會返回一個物體的指針,請使用 b2Body::GetNext 方法來得到在世界列表中的下一個物體。一個爲 NULL 的物體對象指針表示目錄結束。
返回:
世界物體列表的起始。
int32 b2World::GetContactCount ( ) const [inline]

獲取接觸的數量(每一個可能有0個或更多的接觸點)。
b2Contact * b2World::GetContactList ( ) [inline]

獲取世界接觸的列表。它會返回一個接觸的指針,請使用 b2Contact::GetNext 方法來得到在世界列表中的下一個接觸。一個爲 NULL 的接觸對象指針表示目錄結束。
返回:
世界接觸列表的起始。
警告:
contacts are (該處原文未寫完,多是做者的失誤。) 
b2Vec2 b2World::GetGravity ( ) const [inline]

得到全局重力向量。
int32 b2World::GetJointCount ( ) const [inline]

得到關節的數量。
b2Joint * b2World::GetJointList ( ) [inline]

獲取世界關節的列表。它會返回一個關節的指針,請使用 b2Joint::GetNext 方法來得到在世界列表中的下一個關節。一個爲 NULL 的關節對象指針表示目錄結束。
返回:
世界關節列表的起始。
int32 b2World::GetProxyCount ( ) const

得到 broad-phase 代理的數量. 
bool b2World::IsLocked ( ) const [inline]

世界是否被鎖定(在每一個時間步中)。
void b2World::QueryAABB ( b2QueryCallback * callback, 
const b2AABB & aabb 
) const

查詢世界中全部可能與提供AABB重疊的固定裝置。
參數: callback 一個由使用者實現的回調類。 
aabb 一個用於查詢的盒子。

void b2World::RayCast ( b2RayCastCallback * callback, 
const b2Vec2 & point1, 
const b2Vec2 & point2 
) const

光線投射的路徑射向世界中全部的固定裝置。你的回調是否控制離你最近的點、任何一點、或n-點(n-points)。光線投射會忽略包含出發點的形狀。Ray-cast the world for all fixtures in the path of the ray. Your callback controls whether you get the closest point, any point, or n-points. The ray-cast ignores shapes that contain the starting point. 
參數: callback 一個用戶實現的回調類。 
point1 光線起始點
point2 光線結束點

void b2World::SetAutoClearForces ( bool flag ) [inline]

設置一個標誌來控制每個時間步後是否自動清除力。
void b2World::SetContactFilter ( b2ContactFilter * filter ) 

註冊一個接觸過濾器控制特定地碰撞。不然,使用默認的過濾器b2_defaultFilter。該監聽器歸你持有,並且必須保證其有效性。
void b2World::SetContactListener ( b2ContactListener * listener ) 

註冊一個接觸事件監聽器。該監聽器歸你持有,並且必須保證其有效性。
void b2World::SetContinuousPhysics ( bool flag ) [inline]

啓用/禁用 連續物理測試。
void b2World::SetDebugDraw ( b2DebugDraw * debugDraw ) 

註冊一個調試模式的繪圖程序。調試功能的使用須要配合 b2World::DrawDebugData 方法。調試繪製對象歸你持有,並且必須保證其有效性。
void b2World::SetDestructionListener ( b2DestructionListener * listener ) 

註冊一個摧毀監聽器。調試繪製對該監聽器歸你持有,並且必須保證其有效性。
void b2World::SetGravity ( const b2Vec2 & gravity ) [inline]

改變全局重力向量。
void b2World::SetWarmStarting ( bool flag ) [inline]

開啓/禁用 用於測試的熱啓動。
void b2World::Step ( float32 timeStep, 
int32 velocityIterations, 
int32 positionIterations 
) 

執行一個時間步。這個操做中會執行碰撞檢測(collision detection)、集成(integration)、求解約束(constraint solution)。
參數: timeStep 模擬的時間量,這不該該是一個變化的量。
velocityIterations 速度的約束求解量。
positionIterations 位置的約束求解量。web

相關文章
相關標籤/搜索