Skip to content

PhysicsAPI reference

Struct BodyDescription

Namespace: MicroEngine.Physics
Assembly: MicroEngine.Physics.dll
Guide: Physics worlds

What CreateBody creates.

C#
public readonly struct BodyDescription : IEquatable<BodyDescription>

Implements

IEquatable<BodyDescription>

Constructors

BodyDescription(BodyKind, Vector2)

What CreateBody creates.

C#
public BodyDescription(BodyKind Kind, Vector2 Position)

Parameters

Kind BodyKind

How the body moves.

Position Vector2

Its origin in world units; its shapes are placed relative to it.

Properties

Bullet

Continuous collision for a fast dynamic body; needs ContinuousCollision.

C#
public bool Bullet { get; init; }

Property Value

bool

Kind

How the body moves.

C#
public BodyKind Kind { get; init; }

Property Value

BodyKind

Position

Its origin in world units; its shapes are placed relative to it.

C#
public Vector2 Position { get; init; }

Property Value

Vector2

PushesBodies

A kinematic body that, when moved with Move, is not blocked: it pushes the other kinematic bodies in its way and carries those resting on it (moving platforms, closing doors). Needs MovingSolids; only kinematic bodies can push.

C#
public bool PushesBodies { get; init; }

Property Value

bool

RequiredCapabilities

The capabilities this description needs beyond the common contract.

C#
public PhysicsCapabilities RequiredCapabilities { get; }

Property Value

PhysicsCapabilities

Rotation

The body’s angle in radians; anything but 0 needs Rotation.

C#
public float Rotation { get; init; }

Property Value

float

Methods

Deconstruct(out BodyKind, out Vector2)

C#
public void Deconstruct(out BodyKind Kind, out Vector2 Position)

Parameters

Kind BodyKind

Position Vector2

Dynamic(Vector2)

A dynamic body at position (needs DynamicBodies).

C#
public static BodyDescription Dynamic(Vector2 position)

Parameters

position Vector2

Returns

BodyDescription

Equals(object)

C#
public override bool Equals(object obj)

Parameters

obj object

Returns

bool

Equals(BodyDescription)

C#
public bool Equals(BodyDescription other)

Parameters

other BodyDescription

Returns

bool

GetHashCode()

C#
public override int GetHashCode()

Returns

int

Kinematic(Vector2)

A kinematic body at position.

C#
public static BodyDescription Kinematic(Vector2 position)

Parameters

position Vector2

Returns

BodyDescription

Static(Vector2)

A static body at position.

C#
public static BodyDescription Static(Vector2 position = default)

Parameters

position Vector2

Returns

BodyDescription

ToString()

C#
public override string ToString()

Returns

string

Validate()

Throws when the description is invalid whatever the backend declares.

C#
public void Validate()

Exceptions

ArgumentOutOfRangeException

The kind is undefined, or the position or rotation is not finite.

ArgumentException

A static or dynamic body pushes bodies (only kinematic bodies can).

Operators

operator ==(BodyDescription, BodyDescription)

C#
public static bool operator ==(BodyDescription left, BodyDescription right)

Parameters

left BodyDescription

right BodyDescription

Returns

bool

operator !=(BodyDescription, BodyDescription)

C#
public static bool operator !=(BodyDescription left, BodyDescription right)

Parameters

left BodyDescription

right BodyDescription

Returns

bool