static void InitShape() { Coefficients DefaultCoefficients = TimeWarp.Coefficients; Vector2D[] engineconevertecies = new Vector2D[] { new Vector2D(30, 10), new Vector2D(-30, 40), new Vector2D(-30, -40), new Vector2D(30, -10) }; Vector2D offset = Polygon2D.CalcCentroid(engineconevertecies); OperationHelper.ArrayRefOp <Vector2D, Vector2D, Vector2D>( engineconevertecies, ref offset, engineconevertecies, Vector2D.Subtract); //engineconevertecies = Vector2D.Translate(-offset, engineconevertecies); IGeometry2D mainhull = new Polygon2D(ALVector2D.Zero, Polygon2D.FromRectangle(80, 10)); IGeometry2D engine = new Polygon2D(new ALVector2D(0, new Vector2D(-30, 0)), Polygon2D.FromNumberofSidesAndRadius(10, 40)); IGeometry2D enginecone = new Polygon2D(new ALVector2D(0, offset), engineconevertecies); DefaultShape = new RigidBodyTemplate(12, 1231.9384791047398f, new IGeometry2D[] { engine, mainhull, enginecone }, new Coefficients[] { DefaultCoefficients, DefaultCoefficients, DefaultCoefficients }); DefaultShape.BalanceBody(); //////DefaultShape.CalcInertiaMultiplier(.1f); }
static void InitShape() { Coefficients DefaultCoefficients = TimeWarp.Coefficients; List <IGeometry2D> goes = new List <IGeometry2D>(); List <Coefficients> coes = new List <Coefficients>(); Vector2D[] engineconevertecies = new Vector2D[] { new Vector2D(-50, 10), new Vector2D(-100, 20), new Vector2D(-100, -20), new Vector2D(-50, -10) }; Vector2D offset = Polygon2D.CalcCentroid(engineconevertecies); //engineconevertecies = Vector2D.Translate( -offset,engineconevertecies); OperationHelper.ArrayRefOp <Vector2D, Vector2D, Vector2D>( engineconevertecies, ref offset, engineconevertecies, Vector2D.Subtract); goes.Add(new Polygon2D(ALVector2D.Zero, Polygon2D.FromRectangle(20, 150))); coes.Add(DefaultCoefficients); goes.Add(new Polygon2D(new ALVector2D(0, new Vector2D(-100, 0)), Polygon2D.FromNumberofSidesAndRadius(10, 20))); coes.Add(DefaultCoefficients); goes.Add(new Polygon2D(new ALVector2D(0, offset), engineconevertecies)); coes.Add(DefaultCoefficients); DefaultShape = new RigidBodyTemplate(18, 3383.9114375372737f, goes.ToArray(), coes.ToArray()); DefaultShape.BalanceBody(); ////DefaultShape.CalcInertiaMultiplier(.1f); }