renderShape method
Called for each shape in body when rendering. Override this method to customize how shapes are rendered. For example, you can filter out shapes that you don't want to render.
NOTE: If renderBody is false, no shapes will be rendered. Hence, renderShape is not called when rendering.
Implementation
void renderShape(Canvas canvas, Shape shape) {
canvas.save();
switch (shape.geometry) {
case Circle(:final center, :final radius):
renderCircle(canvas, center.toOffset(), radius);
case Capsule(:final center1, :final center2, :final radius):
renderCapsule(canvas, center1.toOffset(), center2.toOffset(), radius);
case Segment(:final point1, :final point2):
renderSegment(canvas, point1.toOffset(), point2.toOffset());
case Polygon(:final points):
renderPolygon(
canvas,
points!.map((v) => v.toOffset()).toList(growable: false),
);
}
canvas.restore();
}