/// <summary> /// Gets called during the collision detection /// </summary> /// <param name="transform"></param> public void SetNewTransform(ref Transform transform) { transformNew = transform; Transform t; for (int prim = primitivesNewWorld.Count; prim-- != 0;) { t = primitivesLocal[prim].Transform; primitivesNewWorld[prim].Transform = transform * t; } UpdateWorldBoundingBox(); if (collSystem != null) { collSystem.CollisionSkinMoved(this); } }
public void SetTransform(ref Transform transformOld, ref Transform transformNew) { this.transformOld = transformOld; this.transformNew = transformNew; for (var prim = primitivesNewWorld.Count; prim-- != 0;) { primitivesOldWorld[prim].Transform = transformOld * primitivesLocal[prim].Transform; primitivesNewWorld[prim].Transform = transformNew * primitivesLocal[prim].Transform; } UpdateWorldBoundingBox(); CollisionSystem?.CollisionSkinMoved(this); }
public void SetOldTransform(ref Transform transform) { transformOld = transform; Transform t; for (var prim = primitivesNewWorld.Count; prim-- != 0;) { t = primitivesLocal[prim].Transform; primitivesOldWorld[prim].Transform = transform * t; } UpdateWorldBoundingBox(); CollisionSystem?.CollisionSkinMoved(this); }