Esempio n. 1
0
        public DrawableMechanism(Game game, Mechanism mechanism, ICamera camera)
            : base(game)
        {
            this.camera = camera;
            this.mechanism = mechanism;

            Initialize();
        }
Esempio n. 2
0
        public MechanismCSpace(Mechanism mechanism, MechanismEnviroment scene, int randomSeed)
        {
            this.mechanism = (Mechanism)mechanism.Clone();
            this.enviroment = scene;

            double[] dimensionLowLimit = new double[mechanism.Joints.Count];
            double[] dimensionHighLimit = new double[mechanism.Joints.Count];
            double[] dimensionWeight = new double[mechanism.Joints.Count];
            for (int i = 0; i < mechanism.Joints.Count; i++)
            {
                dimensionLowLimit[i] = -180;
                dimensionHighLimit[i] = 180;
                dimensionWeight[i] = 1;

            }

            this.cSpace = new CSpace(mechanism.Joints.Count, dimensionLowLimit, dimensionHighLimit, dimensionWeight, CheckCollision, randomSeed);
        }
Esempio n. 3
0
        public MechanismCSpace(Mechanisms mechanism, SceneBoxes scene)
        {
            this.mechanism = mechanism;
            this.scene = scene;

            double[] dimensionLowLimit = new double[mechanism.Joints.Count];
            double[] dimensionHighLimit = new double[mechanism.Joints.Count];
            double[] dimensionWeight = new double[mechanism.Joints.Count];
            for (int i = 0; i < mechanism.Joints.Count; i++)
            {
                dimensionLowLimit[i] = -180;
                dimensionHighLimit[i] = 180;
                dimensionWeight[i] = 1;

            }

            this.cSpace = new CSpace(mechanism.Joints.Count, dimensionLowLimit, dimensionHighLimit, dimensionWeight, CheckCollision);
        }
Esempio n. 4
0
 public bool IsColliding(Mechanism mechanism)
 {
     foreach (Link link in mechanism.Links)
     {
         if (IsColliding(link))
         {
             return true;
         }
     }
     return false;
 }
Esempio n. 5
0
 public bool IsColliding(Mechanism mechanism)
 {
     return octree.IsColliding(mechanism);
     /*
     foreach (Link link in mechanism.Links)
     {
         foreach (OrientedBoundingBox sceneBb in obstacleList)
         {
             if (link.Intersects(sceneBb))
             {
                 return true;
             }
         }
     }
     return false;
     */
 }