C# Class Project290.Physics.Factories.PathManager

An easy to use manager for creating paths.
Show file Open project: scastle/Solitude

Public Methods

Method Description
AttachBodiesWithRevoluteJoint ( World world, List bodies, Vector2 localAnchorA, Vector2 localAnchorB, bool connectFirstAndLast, bool collideConnected ) : List

Attaches the bodies with revolute joints.

AttachBodiesWithSliderJoint ( World world, List bodies, Vector2 localAnchorA, Vector2 localAnchorB, bool connectFirstAndLast, bool collideConnected, float minLength, float maxLength ) : List

Attaches the bodies with revolute joints.

ConvertPathToEdges ( Path path, Body body, int subdivisions ) : void

Convert a path into a set of edges and attaches them to the specified body. Note: use only for static edges.

ConvertPathToPolygon ( Path path, Body body, float density, int subdivisions ) : void

Convert a closed path into a polygon. Convex decomposition is automatically performed.

EvenlyDistributeShapesAlongPath ( World world, Path path, IEnumerable shapes, BodyType type, int copies ) : List
EvenlyDistributeShapesAlongPath ( World world, Path path, IEnumerable shapes, BodyType type, int copies, Object userData ) : List

Duplicates the given Body along the given path for approximatly the given copies.

EvenlyDistributeShapesAlongPath ( World world, Path path, Shape shape, BodyType type, int copies ) : List
EvenlyDistributeShapesAlongPath ( World world, Path path, Shape shape, BodyType type, int copies, Object userData ) : List

Duplicates the given Body along the given path for approximatly the given copies.

MoveBodyOnPath ( Path path, Body body, float time, float strength, float timeStep ) : void

Moves the body on the path.

Method Details

AttachBodiesWithRevoluteJoint() public static method

Attaches the bodies with revolute joints.
public static AttachBodiesWithRevoluteJoint ( World world, List bodies, Vector2 localAnchorA, Vector2 localAnchorB, bool connectFirstAndLast, bool collideConnected ) : List
world Project290.Physics.Dynamics.World The world.
bodies List The bodies.
localAnchorA Vector2 The local anchor A.
localAnchorB Vector2 The local anchor B.
connectFirstAndLast bool if set to true [connect first and last].
collideConnected bool if set to true [collide connected].
return List

AttachBodiesWithSliderJoint() public static method

Attaches the bodies with revolute joints.
public static AttachBodiesWithSliderJoint ( World world, List bodies, Vector2 localAnchorA, Vector2 localAnchorB, bool connectFirstAndLast, bool collideConnected, float minLength, float maxLength ) : List
world Project290.Physics.Dynamics.World The world.
bodies List The bodies.
localAnchorA Vector2 The local anchor A.
localAnchorB Vector2 The local anchor B.
connectFirstAndLast bool if set to true [connect first and last].
collideConnected bool if set to true [collide connected].
minLength float Minimum length of the slider joint.
maxLength float Maximum length of the slider joint.
return List

ConvertPathToEdges() public static method

Convert a path into a set of edges and attaches them to the specified body. Note: use only for static edges.
public static ConvertPathToEdges ( Path path, Body body, int subdivisions ) : void
path Project290.Physics.Common.Path The path.
body Project290.Physics.Dynamics.Body The body.
subdivisions int The subdivisions.
return void

ConvertPathToPolygon() public static method

Convert a closed path into a polygon. Convex decomposition is automatically performed.
public static ConvertPathToPolygon ( Path path, Body body, float density, int subdivisions ) : void
path Project290.Physics.Common.Path The path.
body Project290.Physics.Dynamics.Body The body.
density float The density.
subdivisions int The subdivisions.
return void

EvenlyDistributeShapesAlongPath() public static method

public static EvenlyDistributeShapesAlongPath ( World world, Path path, IEnumerable shapes, BodyType type, int copies ) : List
world Project290.Physics.Dynamics.World
path Project290.Physics.Common.Path
shapes IEnumerable
type BodyType
copies int
return List

EvenlyDistributeShapesAlongPath() public static method

Duplicates the given Body along the given path for approximatly the given copies.
public static EvenlyDistributeShapesAlongPath ( World world, Path path, IEnumerable shapes, BodyType type, int copies, Object userData ) : List
world Project290.Physics.Dynamics.World The world.
path Project290.Physics.Common.Path The path.
shapes IEnumerable The shapes.
type BodyType The type.
copies int The copies.
userData Object
return List

EvenlyDistributeShapesAlongPath() public static method

public static EvenlyDistributeShapesAlongPath ( World world, Path path, Shape shape, BodyType type, int copies ) : List
world Project290.Physics.Dynamics.World
path Project290.Physics.Common.Path
shape Project290.Physics.Collision.Shapes.Shape
type BodyType
copies int
return List

EvenlyDistributeShapesAlongPath() public static method

Duplicates the given Body along the given path for approximatly the given copies.
public static EvenlyDistributeShapesAlongPath ( World world, Path path, Shape shape, BodyType type, int copies, Object userData ) : List
world Project290.Physics.Dynamics.World The world.
path Project290.Physics.Common.Path The path.
shape Project290.Physics.Collision.Shapes.Shape The shape.
type BodyType The type.
copies int The copies.
userData Object
return List

MoveBodyOnPath() public static method

Moves the body on the path.
public static MoveBodyOnPath ( Path path, Body body, float time, float strength, float timeStep ) : void
path Project290.Physics.Common.Path The path.
body Project290.Physics.Dynamics.Body The body.
time float The time.
strength float The strength.
timeStep float The time step.
return void