# {py:mod}`simvx.core.physics.slide` ```{py:module} simvx.core.physics.slide ``` ```{autodoc2-docstring} simvx.core.physics.slide :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MoveResult ` - ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult :summary: ``` * - {py:obj}`MoveResult2D ` - ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`move_and_slide ` - ```{autodoc2-docstring} simvx.core.physics.slide.move_and_slide :summary: ``` * - {py:obj}`move_and_slide_2d ` - ```{autodoc2-docstring} simvx.core.physics.slide.move_and_slide_2d :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.physics.slide.__all__ :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.physics.slide.__all__ :value: > ['MoveResult', 'MoveResult2D', 'move_and_slide', 'move_and_slide_2d'] ```{autodoc2-docstring} simvx.core.physics.slide.__all__ ``` ```` `````{py:class} MoveResult :canonical: simvx.core.physics.slide.MoveResult ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult ``` ````{py:attribute} velocity :canonical: simvx.core.physics.slide.MoveResult.velocity :type: simvx.core.math.Vec3 :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.velocity ``` ```` ````{py:attribute} on_floor :canonical: simvx.core.physics.slide.MoveResult.on_floor :type: bool :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.on_floor ``` ```` ````{py:attribute} on_wall :canonical: simvx.core.physics.slide.MoveResult.on_wall :type: bool :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.on_wall ``` ```` ````{py:attribute} on_ceiling :canonical: simvx.core.physics.slide.MoveResult.on_ceiling :type: bool :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.on_ceiling ``` ```` ````{py:attribute} floor_normal :canonical: simvx.core.physics.slide.MoveResult.floor_normal :type: simvx.core.math.Vec3 :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.floor_normal ``` ```` ````{py:attribute} position :canonical: simvx.core.physics.slide.MoveResult.position :type: simvx.core.math.Vec3 :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.position ``` ```` ````{py:attribute} collisions :canonical: simvx.core.physics.slide.MoveResult.collisions :type: tuple[simvx.core.physics.world.SweepHit, ...] :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult.collisions ``` ```` ````` `````{py:class} MoveResult2D :canonical: simvx.core.physics.slide.MoveResult2D ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D ``` ````{py:attribute} velocity :canonical: simvx.core.physics.slide.MoveResult2D.velocity :type: simvx.core.math.Vec2 :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.velocity ``` ```` ````{py:attribute} on_floor :canonical: simvx.core.physics.slide.MoveResult2D.on_floor :type: bool :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.on_floor ``` ```` ````{py:attribute} on_wall :canonical: simvx.core.physics.slide.MoveResult2D.on_wall :type: bool :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.on_wall ``` ```` ````{py:attribute} on_ceiling :canonical: simvx.core.physics.slide.MoveResult2D.on_ceiling :type: bool :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.on_ceiling ``` ```` ````{py:attribute} floor_normal :canonical: simvx.core.physics.slide.MoveResult2D.floor_normal :type: simvx.core.math.Vec2 :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.floor_normal ``` ```` ````{py:attribute} position :canonical: simvx.core.physics.slide.MoveResult2D.position :type: simvx.core.math.Vec2 :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.position ``` ```` ````{py:attribute} collisions :canonical: simvx.core.physics.slide.MoveResult2D.collisions :type: tuple[simvx.core.physics.world2d.SweepHit2D, ...] :value: > None ```{autodoc2-docstring} simvx.core.physics.slide.MoveResult2D.collisions ``` ```` ````` ````{py:function} move_and_slide(world: simvx.core.physics.world.PhysicsWorld, handle: simvx.core.physics.world.BodyHandle, velocity: simvx.core.math.Vec3, dt: float, *, up: simvx.core.math.Vec3, slope_limit: float, step_height: float, skin_width: float, max_slides: int, push_factor: float = 1.0, mass: float = 1.0) -> simvx.core.physics.slide.MoveResult :canonical: simvx.core.physics.slide.move_and_slide ```{autodoc2-docstring} simvx.core.physics.slide.move_and_slide ``` ```` ````{py:function} move_and_slide_2d(world: simvx.core.physics.world2d.Physics2DWorld, handle: simvx.core.physics.world.BodyHandle, velocity: simvx.core.math.Vec2, dt: float, *, up: simvx.core.math.Vec2, slope_limit: float, step_height: float, skin_width: float, max_slides: int, push_factor: float = 1.0, mass: float = 1.0) -> simvx.core.physics.slide.MoveResult2D :canonical: simvx.core.physics.slide.move_and_slide_2d ```{autodoc2-docstring} simvx.core.physics.slide.move_and_slide_2d ``` ````