pooltool.physics.resolve.ball_cushion#
Subpackages#
Overview#
Ball-circular cushion collision models must satisfy this protocol |
|
Ball-linear cushion collision models must satisfy this protocol |
|
Operations used by every ball-linear cushion collision resolver |
|
Operations used by every ball-linear cushion collision resolver |
|
Operations used by every ball-linear cushion collision resolver |
|
Operations used by every ball-linear cushion collision resolver |
|
Enum where members are also (and must be) strings |
|
An Enum for different ball-linear cushion collision models |
|
An Enum for different ball-circular cushion collision models |
|
Returns a ball-linear cushion collision model |
|
Returns a ball-circular cushion collision model |
Classes#
- class pooltool.physics.resolve.ball_cushion.BallCCushionCollisionStrategy(*args, **kwargs)[source]#
Ball-circular cushion collision models must satisfy this protocol
Bases:
_BaseCircularStrategy,ProtocolMethods:
- solve(ball: pooltool.objects.ball.datatypes.Ball, cushion: pooltool.objects.table.components.CircularCushionSegment) Tuple[pooltool.objects.ball.datatypes.Ball, pooltool.objects.table.components.CircularCushionSegment][source]#
This method resolves a ball-circular cushion collision
- class pooltool.physics.resolve.ball_cushion.BallLCushionCollisionStrategy(*args, **kwargs)[source]#
Ball-linear cushion collision models must satisfy this protocol
Bases:
_BaseLinearStrategy,ProtocolMethods:
- solve(ball: pooltool.objects.ball.datatypes.Ball, cushion: pooltool.objects.table.components.LinearCushionSegment) Tuple[pooltool.objects.ball.datatypes.Ball, pooltool.objects.table.components.LinearCushionSegment][source]#
This method resolves a ball-circular cushion collision
- class pooltool.physics.resolve.ball_cushion.Han2005Circular[source]#
Bases:
pooltool.physics.resolve.ball_cushion.core.CoreBallCCushionCollision
- class pooltool.physics.resolve.ball_cushion.Han2005Linear[source]#
Bases:
pooltool.physics.resolve.ball_cushion.core.CoreBallLCushionCollision
- class pooltool.physics.resolve.ball_cushion.UnrealisticCircular(restitution: bool = True)[source]#
Bases:
pooltool.physics.resolve.ball_cushion.core.CoreBallCCushionCollision
- class pooltool.physics.resolve.ball_cushion.UnrealisticLinear(restitution: bool = True)[source]#
Bases:
pooltool.physics.resolve.ball_cushion.core.CoreBallLCushionCollision
- class pooltool.physics.resolve.ball_cushion.StrEnum(value)[source]#
Enum where members are also (and must be) strings
- class pooltool.physics.resolve.ball_cushion.BallLCushionModel(value)[source]#
An Enum for different ball-linear cushion collision models
- UNREALISTIC#
An unrealistic model in which balls are perfectly reflected. Spin is left untouched by the interaction (
UnrealisticLinear).
- class pooltool.physics.resolve.ball_cushion.BallCCushionModel(value)[source]#
An Enum for different ball-circular cushion collision models
- UNREALISTIC#
An unrealistic model in which balls are perfectly reflected. Spin is left untouched by the interaction (
UnrealisticCircular).
Functions#
- pooltool.physics.resolve.ball_cushion.get_ball_lin_cushion_model(model: BallLCushionModel | None = None, params: pooltool.physics.resolve.types.ModelArgs = {}) core.BallLCushionCollisionStrategy[source]#
Returns a ball-linear cushion collision model
- Parameters:
model (Optional[BallLCushionModel]) -- An Enum specifying the desired model. If not passed,
Han2005Linearis passed with empty params.params (pooltool.physics.resolve.types.ModelArgs) -- A mapping of parameters accepted by the model.
- Returns:
An instantiated model that satisfies the
BallLCushionCollisionStrategyprotocol.- Return type:
- pooltool.physics.resolve.ball_cushion.get_ball_circ_cushion_model(model: BallCCushionModel | None = None, params: pooltool.physics.resolve.types.ModelArgs = {}) core.BallCCushionCollisionStrategy[source]#
Returns a ball-circular cushion collision model
- Parameters:
model (Optional[BallCCushionModel]) -- An Enum specifying the desired model. If not passed,
Han2005Circularis passed with empty params.params (pooltool.physics.resolve.types.ModelArgs) -- A mapping of parameters accepted by the model.
- Returns:
An instantiated model that satisfies the
BallCCushionCollisionStrategyprotocol.- Return type:
Attributes#
- pooltool.physics.resolve.ball_cushion.ModelArgs#
A mapping of argument names to argument values