示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CollisionDetection"/> class.
        /// </summary>
        public CollisionDetection()
        {
            Epsilon = 0.001f;
            ContactPositionTolerance         = 0.01f;
            ContactFilter                    = new ContactReducer();
            ContinuousCollisionDetectionMode = ContinuousCollisionDetectionMode.Linear;

            // This property must be updated last because it uses "this".
            AlgorithmMatrix = new CollisionAlgorithmMatrix(this);
        }
    /// <summary>
    /// Initializes a new instance of the <see cref="CollisionAlgorithmMatrix" /> class.
    /// </summary>
    /// <param name="matrix">The <see cref="CollisionAlgorithmMatrix" /> from which the settings are copied.</param>
    internal CollisionAlgorithmMatrix(CollisionAlgorithmMatrix matrix)
    {
      _newEntryLock = new object();
      _newEntries = new Dictionary<Pair<Type>, CollisionAlgorithm>();

      foreach (var entry in matrix._matrix)
        _matrix[entry.Key] = entry.Value;

      _version = matrix._version;
    }