/// <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; }