public static Fixture AttachLineArc(FP radians, int sides, FP radius, FPVector2 position, FP angle, bool closed, Body body)
        {
            Vertices arc = PolygonTools.CreateArc(radians, sides, radius);

            arc.Rotate((FP.Pi - radians) / 2 + angle);
            arc.Translate(ref position);

            return(closed ? AttachLoopShape(arc, body) : AttachChainShape(arc, body));
        }
        public static List <Fixture> AttachSolidArc(FP density, FP radians, int sides, FP radius, FPVector2 position, FP angle, Body body)
        {
            Vertices arc = PolygonTools.CreateArc(radians, sides, radius);

            arc.Rotate((FP.Pi - radians) / 2 + angle);

            arc.Translate(ref position);

            //Close the arc
            arc.Add(arc[0]);

            List <Vertices> triangles = Triangulate.ConvexPartition(arc, TriangulationAlgorithm.Earclip, true, FP.EN3);

            return(AttachCompoundPolygon(triangles, density, body));
        }