C# Класс Project2.PhysicsSystem

This class encapsulates the physics system for a given world of physics bodies. A physics body is a (usually) non-drawn, relatively simple shape or mesh that contains properties (mass, inertia, etc) that the physics engine uses to resolve collisions and solve kinematics for. A physics body may be dynamic or static. A static body's position cannot be changed by the physics engine, but needs to be moved externally. A dynamic object's position will be affected by gravity and other forces and collisions, and does not get moved manually. Its position and orientation are queried externally and used to render representative objects/models on screen (usually more detailed than the physics mesh). This class is implemented as a GameSystem, meaning that once it is registered, it is automagically updated at the correct frequency.
Наследование: SharpDX.Toolkit.GameSystem
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
World Jitter.JitterWorld

Защищенные свойства (Protected)

Свойство Тип Описание
game Project2Game

Открытые методы

Метод Описание
BuildConvexHullShape ( SharpDX.Toolkit.Graphics.Model model ) : Jitter.Collision.Shapes.ConvexHullShape
BuildOctree ( SharpDX.Toolkit.Graphics.Model model ) : Jitter.Collision.Octree
BuildTriangleMeshShape ( SharpDX.Toolkit.Graphics.Model model ) : Jitter.Collision.Shapes.TriangleMeshShape
OnManipulationCompleted ( GestureRecognizer sender, ManipulationCompletedEventArgs args ) : void

Releases physics body (if applicable) on release of pointer, either mouse button up or removal of touch input

OnManipulationStarted ( GestureRecognizer sender, ManipulationStartedEventArgs args ) : void

Handle initial starting movement of touch/mouse pointer

OnManipulationUpdated ( GestureRecognizer sender, ManipulationUpdatedEventArgs args ) : void

Handle touch/mouse manipulation updated

PhysicsSystem ( Project2Game game ) : System
Tapped ( GestureRecognizer sender, TappedEventArgs args ) : void
Update ( SharpDX.Toolkit.GameTime time ) : void

This method is automagically called as part of GameSystem to update the physics simulation. Physics system interpolates current running time with at max 1 itteration of the system over 1/60 seconds (by default).

addTestBox ( System.Vector3 position, float mass ) : void

Adds a unit sized test cube to the physics world. Deprecated.

toJMatrix ( System.Matrix matrix ) : Jitter.LinearMath.JMatrix

Helper method to interface SharpDX matrix class with Jitter matrix class.

toJVector ( System.Vector3 vector ) : Jitter.LinearMath.JVector

Helper method to interface SharpDX vector class with Jitter vector class.

toMatrix ( Jitter.LinearMath.JMatrix matrix ) : System.Matrix

Helper method to interface SharpDX matrix class with Jitter matrix class.

toVector3 ( Jitter.LinearMath.JVector vector ) : System.Vector3

Helper method to interface SharpDX vector class with Jitter vector class.

Приватные методы

Метод Описание
AddBody ( RigidBody rigidBody ) : void
ExtractVertices ( SharpDX.Toolkit.Graphics.Model model ) : List
HandleGrabBody ( System.Vector2 location ) : void

Searches for physics objects to "grab" based on in input location.

HandleMoveGrabBody ( System.Vector2 location ) : void

Moves physics body based on input (touch or mouse) movement location.

RayTo ( System.Vector2 mousePos ) : Ray

Takes a screen space point and maps it to a unit length ray vector in world space.

RaycastCallback ( RigidBody body, Jitter.LinearMath.JVector normal, float fraction ) : bool

Callback for Jitter Raycast method to check if an encountered physics object is static or the player (don't pick up if so..)

RemoveBody ( RigidBody rigidBody ) : void

Описание методов

BuildConvexHullShape() публичный статический Метод

public static BuildConvexHullShape ( SharpDX.Toolkit.Graphics.Model model ) : Jitter.Collision.Shapes.ConvexHullShape
model SharpDX.Toolkit.Graphics.Model
Результат Jitter.Collision.Shapes.ConvexHullShape

BuildOctree() публичный статический Метод

public static BuildOctree ( SharpDX.Toolkit.Graphics.Model model ) : Jitter.Collision.Octree
model SharpDX.Toolkit.Graphics.Model
Результат Jitter.Collision.Octree

BuildTriangleMeshShape() публичный статический Метод

public static BuildTriangleMeshShape ( SharpDX.Toolkit.Graphics.Model model ) : Jitter.Collision.Shapes.TriangleMeshShape
model SharpDX.Toolkit.Graphics.Model
Результат Jitter.Collision.Shapes.TriangleMeshShape

OnManipulationCompleted() публичный Метод

Releases physics body (if applicable) on release of pointer, either mouse button up or removal of touch input
public OnManipulationCompleted ( GestureRecognizer sender, ManipulationCompletedEventArgs args ) : void
sender Windows.UI.Input.GestureRecognizer
args Windows.UI.Input.ManipulationCompletedEventArgs
Результат void

OnManipulationStarted() публичный Метод

Handle initial starting movement of touch/mouse pointer
public OnManipulationStarted ( GestureRecognizer sender, ManipulationStartedEventArgs args ) : void
sender Windows.UI.Input.GestureRecognizer
args Windows.UI.Input.ManipulationStartedEventArgs
Результат void

OnManipulationUpdated() публичный Метод

Handle touch/mouse manipulation updated
public OnManipulationUpdated ( GestureRecognizer sender, ManipulationUpdatedEventArgs args ) : void
sender Windows.UI.Input.GestureRecognizer
args Windows.UI.Input.ManipulationUpdatedEventArgs
Результат void

PhysicsSystem() публичный Метод

public PhysicsSystem ( Project2Game game ) : System
game Project2Game
Результат System

Tapped() публичный Метод

public Tapped ( GestureRecognizer sender, TappedEventArgs args ) : void
sender Windows.UI.Input.GestureRecognizer
args Windows.UI.Input.TappedEventArgs
Результат void

Update() публичный Метод

This method is automagically called as part of GameSystem to update the physics simulation. Physics system interpolates current running time with at max 1 itteration of the system over 1/60 seconds (by default).
public Update ( SharpDX.Toolkit.GameTime time ) : void
time SharpDX.Toolkit.GameTime
Результат void

addTestBox() публичный Метод

Adds a unit sized test cube to the physics world. Deprecated.
public addTestBox ( System.Vector3 position, float mass ) : void
position System.Vector3
mass float
Результат void

toJMatrix() публичный статический Метод

Helper method to interface SharpDX matrix class with Jitter matrix class.
public static toJMatrix ( System.Matrix matrix ) : Jitter.LinearMath.JMatrix
matrix System.Matrix
Результат Jitter.LinearMath.JMatrix

toJVector() публичный статический Метод

Helper method to interface SharpDX vector class with Jitter vector class.
public static toJVector ( System.Vector3 vector ) : Jitter.LinearMath.JVector
vector System.Vector3
Результат Jitter.LinearMath.JVector

toMatrix() публичный статический Метод

Helper method to interface SharpDX matrix class with Jitter matrix class.
public static toMatrix ( Jitter.LinearMath.JMatrix matrix ) : System.Matrix
matrix Jitter.LinearMath.JMatrix
Результат System.Matrix

toVector3() публичный статический Метод

Helper method to interface SharpDX vector class with Jitter vector class.
public static toVector3 ( Jitter.LinearMath.JVector vector ) : System.Vector3
vector Jitter.LinearMath.JVector
Результат System.Vector3

Описание свойств

World публичное свойство

public JitterWorld,Jitter World
Результат Jitter.JitterWorld

game защищенное свойство

protected Project2Game,Project2 game
Результат Project2Game