Aether.Physics2D  2.0
nkast.Aether.Physics2D.Dynamics Namespace Reference

Classes

class  Body
 
class  BodyCollection
 
class  ContactManager
 
class  ControllerCollection
 
class  Fixture
 A fixture is used to attach a Shape to a body for collision detection. A fixture inherits its transform from its parent. Fixtures hold additional non-geometric data such as friction, collision filters, etc. More...
 
class  FixtureCollection
 
struct  FixtureProxy
 This proxy is used internally to connect fixtures to the broad-phase. More...
 
class  Island
 This is an internal class. More...
 
class  JointCollection
 
struct  SolverIterations
 
struct  TimeStep
 This is an internal structure.
 
struct  SolverPosition
 This is an internal structure.
 
struct  SolverVelocity
 This is an internal structure.
 
struct  SolverData
 Solver Data.
 
class  World
 The world class manages all physics entities, dynamic simulation, and asynchronous queries. More...
 

Enumerations

enum class  BodyType { Static , Kinematic , Dynamic }
 The body type. More...
 
enum class  Category {
  None = 0x00000000 , Cat1 = 0x00000001 , Cat2 = 0x00000002 , Cat3 = 0x00000004 ,
  Cat4 = 0x00000008 , Cat5 = 0x00000010 , Cat6 = 0x00000020 , Cat7 = 0x00000040 ,
  Cat8 = 0x00000080 , Cat9 = 0x00000100 , Cat10 = 0x00000200 , Cat11 = 0x00000400 ,
  Cat12 = 0x00000800 , Cat13 = 0x00001000 , Cat14 = 0x00002000 , Cat15 = 0x00004000 ,
  Cat16 = 0x00008000 , Cat17 = 0x00010000 , Cat18 = 0x00020000 , Cat19 = 0x00040000 ,
  Cat20 = 0x00080000 , Cat21 = 0x00100000 , Cat22 = 0x00200000 , Cat23 = 0x00400000 ,
  Cat24 = 0x00800000 , Cat25 = 0x01000000 , Cat26 = 0x02000000 , Cat27 = 0x04000000 ,
  Cat28 = 0x08000000 , Cat29 = 0x10000000 , Cat30 = 0x20000000 , Cat31 = 0x40000000 ,
  All = int.MaxValue
}
 

Functions

delegate bool QueryReportFixtureDelegate (Fixture fixture)
 Called for each fixture found in the query.

Returns
true: Continues the query, false: Terminate the query
More...
 
delegate float RayCastReportFixtureDelegate (Fixture fixture, Vector2 point, Vector2 normal, float fraction)
 Called for each fixture found in the query. You control how the ray cast proceeds by returning a float: return -1: ignore this fixture and continue return 0: terminate the ray cast return fraction: clip the ray to this point return 1: don't clip the ray and continue More...
 
delegate void EndContactDelegate (Contact contact)
 This delegate is called when a contact is deleted More...
 
delegate bool BeginContactDelegate (Contact contact)
 This delegate is called when a contact is created More...
 
delegate void PreSolveDelegate (Contact contact, ref Manifold oldManifold)
 
delegate void PostSolveDelegate (Contact contact, ContactVelocityConstraint impulse)
 
delegate void FixtureDelegate (World sender, Body body, Fixture fixture)
 
delegate void JointDelegate (World sender, Joint joint)
 
delegate void BodyDelegate (World sender, Body body)
 
delegate void ControllerDelegate (World sender, Controller controller)
 
delegate bool CollisionFilterDelegate (Fixture fixtureA, Fixture fixtureB)
 
delegate bool BeforeCollisionEventHandler (Fixture sender, Fixture other)
 
delegate bool OnCollisionEventHandler (Fixture sender, Fixture other, Contact contact)
 
delegate void AfterCollisionEventHandler (Fixture sender, Fixture other, Contact contact, ContactVelocityConstraint impulse)
 
delegate void OnSeparationEventHandler (Fixture sender, Fixture other, Contact contact)
 

Enumeration Type Documentation

◆ BodyType

enum BodyType
strong

The body type.

Enumerator
Static 

Zero velocity, may be manually moved. Note: even static bodies have mass.

Kinematic 

Zero mass, non-zero velocity set by user, moved by solver

Dynamic 

Positive mass, non-zero velocity determined by forces, moved by solver

Function Documentation

◆ BeginContactDelegate()

delegate bool nkast.Aether.Physics2D.Dynamics.BeginContactDelegate ( Contact  contact)

This delegate is called when a contact is created

◆ EndContactDelegate()

delegate void nkast.Aether.Physics2D.Dynamics.EndContactDelegate ( Contact  contact)

This delegate is called when a contact is deleted

◆ QueryReportFixtureDelegate()

delegate bool nkast.Aether.Physics2D.Dynamics.QueryReportFixtureDelegate ( Fixture  fixture)

Called for each fixture found in the query.

Returns
true: Continues the query, false: Terminate the query

◆ RayCastReportFixtureDelegate()

delegate float nkast.Aether.Physics2D.Dynamics.RayCastReportFixtureDelegate ( Fixture  fixture,
Vector2  point,
Vector2  normal,
float  fraction 
)

Called for each fixture found in the query. You control how the ray cast proceeds by returning a float: return -1: ignore this fixture and continue return 0: terminate the ray cast return fraction: clip the ray to this point return 1: don't clip the ray and continue

Parameters
fixturethe fixture hit by the ray
pointthe point of initial intersection
normalthe normal vector at the point of intersection
Returns
0 to terminate, fraction to clip the ray for closest hit, 1 to continue