public DrawableMechanism(Game game, Mechanism mechanism, ICamera camera) : base(game) { this.camera = camera; this.mechanism = mechanism; Initialize(); }
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); }
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); }
public bool IsColliding(Mechanism mechanism) { foreach (Link link in mechanism.Links) { if (IsColliding(link)) { return true; } } return false; }
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; */ }