DrawLine() public method

public DrawLine ( Jitter.LinearMath.JVector start, Jitter.LinearMath.JVector end ) : void
start Jitter.LinearMath.JVector
end Jitter.LinearMath.JVector
return void
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(new Color(63, 66, 73));

            SetAllModelEffectParameters();

            foreach (RigidBody body in world.RigidBodies)
            {
                DrawModel(body);
            }

            pointList.Clear(); lineList.Clear();
            foreach (Constraint constr in world.Constraints)
            {
                constr.AddToDebugDrawList(lineList, pointList);
            }

            foreach (JVector v in pointList)
            {
                debugDrawer.DrawPoint(Conversion.ToXNAVector(v), Color.Red);
            }

            for (int i = 0; i < lineList.Count; i += 2)
            {
                debugDrawer.DrawLine(Conversion.ToXNAVector(lineList[i]),
                                     Conversion.ToXNAVector(lineList[i + 1]), Color.Blue);
            }

            display.DisplayText[1] = "Islandcount: " + world.Islands.Count.ToString();

            base.Draw(gameTime);

            debugDrawer.PointList.Clear();
            debugDrawer.LineList.Clear();
        }
Ejemplo n.º 2
0
        private void DrawJitterDebugInfo()
        {
            foreach (RigidBody body in World.RigidBodies)
            {
                DebugDrawer.Color = Color.Gray;//rndColors[cc % rndColors.Length];
                body.DebugDraw(DebugDrawer);

                //DebugDrawer.DrawAabb(body.BoundingBox.Min, body.BoundingBox.Max, Color.Pink);

                //if (body.Shape.GetType() == typeof(PolygonShape))
                //{
                //    var ch = body.Shape as PolygonShape;

                //    JMatrix o = JMatrix.CreateRotationZ(body.Orientation);
                //    foreach (var point in ch.vertices)
                //    {
                //        var t = JVector.Transform(point, o);
                //        DebugDrawer.DrawPoint(t + body.Position);
                //    }
                //}

                DebugDrawer.Color = Color.Red;
                foreach (Arbiter item in body.Arbiters)
                {
                    foreach (var contact in item.ContactList)
                    {
                        DebugDrawer.DrawLine(contact.Position1, contact.Position1 + contact.Normal * 0.15f);
                        DebugDrawer.DrawLine(contact.Position2, contact.Position2 + contact.Normal * 0.15f);
                        DebugDrawer.DrawPoint(contact.Position1);
                        DebugDrawer.DrawPoint(contact.Position2);
                    }
                }
            }

            DebugDrawer.Color = Color.Blue;
            foreach (Spring spring in World.Springs)
            {
                spring.DebugDraw(DebugDrawer);
            }

            DebugDrawer.Color = Color.Red;
            foreach (Constraint c in World.Constraints)
            {
                c.DebugDraw(DebugDrawer);
            }
        }