Esempio n. 1
0
        public MotorJoint(MotorJointDef def)
            : base(def)
        {
            _linearOffset  = def.LinearOffset;
            _angularOffset = def.AngularOffset;

            _maxForce         = def.MaxForce;
            _maxTorque        = def.MaxTorque;
            _correctionFactor = def.CorrectionFactor;
        }
Esempio n. 2
0
        public MotorJoint()
        {
            Body ground;

            {
                var bd = new BodyDef();
                ground = World.CreateBody(bd);

                var shape = new EdgeShape();
                shape.SetTwoSided(new Vector2(-20.0f, 0.0f), new Vector2(20.0f, 0.0f));

                var fd = new FixtureDef();
                fd.Shape = shape;

                ground.CreateFixture(fd);
            }

            // Define motorized body
            {
                var bd = new BodyDef();
                bd.BodyType = BodyType.DynamicBody;
                bd.Position.Set(0.0f, 8.0f);
                var body = World.CreateBody(bd);

                var shape = new PolygonShape();
                shape.SetAsBox(2.0f, 0.5f);

                var fd = new FixtureDef();
                fd.Shape    = shape;
                fd.Friction = 0.6f;
                fd.Density  = 2.0f;
                body.CreateFixture(fd);

                var mjd = new MotorJointDef();
                mjd.Initialize(ground, body);
                mjd.MaxForce  = 1000.0f;
                mjd.MaxTorque = 1000.0f;
                _joint        = (Box2DSharp.Dynamics.Joints.MotorJoint)World.CreateJoint(mjd);
            }

            _go   = false;
            _time = 0.0f;
        }
Esempio n. 3
0
        public MotorJointTest()
        {
            Body ground = null;

            {
                BodyDef bd = new BodyDef();
                ground = m_world.CreateBody(bd);

                EdgeShape shape = new EdgeShape();
                shape.Set(new Vec2(-20.0f, 0.0f), new Vec2(20.0f, 0.0f));

                FixtureDef fd = new FixtureDef();
                fd.shape = shape;

                ground.CreateFixture(fd);
            }

            // Define motorized body
            {
                BodyDef bd = new BodyDef();
                bd.type = BodyType._dynamicBody;
                bd.Position.Set(0.0f, 8.0f);
                Body body = m_world.CreateBody(bd);

                PolygonShape shape = new PolygonShape();
                shape.SetAsBox(2.0f, 0.5f);

                FixtureDef fd = new FixtureDef();
                fd.shape    = shape;
                fd.friction = 0.6f;
                fd.Density  = 2.0f;
                body.CreateFixture(fd);

                MotorJointDef mjd = new MotorJointDef();
                mjd.Initialize(ground, body);
                mjd.maxForce  = 1000.0f;
                mjd.maxTorque = 1000.0f;
                m_joint       = (MotorJoint)m_world.CreateJoint(mjd);
            }

            m_go   = false;
            m_time = 0.0f;
        }
        private MotorJointTest()
        {
            Body ground;

            {
                BodyDef bd = new BodyDef();
                ground = BodyFactory.CreateFromDef(World, bd);

                EdgeShape shape = new EdgeShape();
                shape.SetTwoSided(new Vector2(-20.0f, 0.0f), new Vector2(20.0f, 0.0f));

                FixtureDef fd = new FixtureDef();
                fd.Shape = shape;

                ground.AddFixture(fd);
            }

            // Define motorized body
            {
                BodyDef bd = new BodyDef();
                bd.Type     = BodyType.Dynamic;
                bd.Position = new Vector2(0.0f, 8.0f);
                Body body = BodyFactory.CreateFromDef(World, bd);

                PolygonShape shape = new PolygonShape(2.0f);
                shape.SetAsBox(2.0f, 0.5f);

                FixtureDef fd = new FixtureDef();
                fd.Shape    = shape;
                fd.Friction = 0.6f;
                body.AddFixture(fd);

                MotorJointDef mjd = new MotorJointDef();
                mjd.Initialize(ground, body);
                mjd.MaxForce  = 1000.0f;
                mjd.MaxTorque = 1000.0f;
                _joint        = (MotorJoint)JointFactory.CreateFromDef(World, mjd);
            }

            _go   = false;
            _time = 0.0f;
        }