simvx.core.physics._material

Physics material, body modes, contacts, and shared helpers.

Private leaf module: import via the simvx.core.physics facade.

Module Contents

Classes

PhysicsMaterial

Surface properties for physics bodies.

BodyMode

Physics body simulation mode.

Contact

A single collision contact between two bodies.

Data

API

simvx.core.physics._material.__all__

[‘PhysicsMaterial’, ‘BodyMode’, ‘Contact’]

class simvx.core.physics._material.PhysicsMaterial[source]

Surface properties for physics bodies.

Attributes: friction: Coefficient of friction [0..1]. Higher = more grip. restitution: Coefficient of restitution [0..1]. 1 = perfectly elastic bounce. density: Mass per unit volume. Used for auto-computing mass from shape volume.

friction: float

0.5

restitution: float

0.3

density: float

1.0

class simvx.core.physics._material.BodyMode[source]

Bases: enum.IntEnum

Physics body simulation mode.

Initialization

Initialize self. See help(type(self)) for accurate signature.

DYNAMIC

0

KINEMATIC

1

STATIC

2

__abs__()
__add__()
__and__()
__bool__()
__ceil__()
__delattr__()
__dir__()
__divmod__()
__eq__()
__float__()
__floor__()
__floordiv__()
__format__()
__ge__()
__getattribute__()
__getnewargs__()
__getstate__()
__gt__()
__hash__()
__index__()
__int__()
__invert__()
__le__()
__lshift__()
__lt__()
__mod__()
__mul__()
__ne__()
__neg__()
__new__()
__or__()
__pos__()
__pow__()
__radd__()
__rand__()
__rdivmod__()
__reduce__()
__reduce_ex__()
__repr__()
__rfloordiv__()
__rlshift__()
__rmod__()
__rmul__()
__ror__()
__round__()
__rpow__()
__rrshift__()
__rshift__()
__rsub__()
__rtruediv__()
__rxor__()
__setattr__()
__sizeof__()
__str__()
__sub__()
__subclasshook__()
__truediv__()
__trunc__()
__xor__()
as_integer_ratio()
bit_count()
bit_length()
conjugate()
class denominator
class imag
is_integer()
class numerator
class real
to_bytes()
__deepcopy__(memo)
__copy__()
name()
value()
class simvx.core.physics._material.Contact[source]

A single collision contact between two bodies.

Attributes: body_a: First body in the collision pair. body_b: Second body in the collision pair. normal: Contact normal pointing from A to B (normalized). point: Contact point in world space. depth: Penetration depth (positive when overlapping).

body_a: Any

None

body_b: Any

None

normal: numpy.ndarray

None

point: numpy.ndarray

None

depth: float

None