private void RewriteWithEvents() { WriteEventContexts(); WriteEvents(); // reset parameters' offsets to enable writing to new file foreach (int id in _idToGroups.Keys) { _idToGroups[id].ResetOffsetInFile(); } _eventsEnabled = false; C3dReader reader = new C3dReader(); if (!reader.Open(GetTempFile(_c3dFile))) { throw new ApplicationException("Could not open temporary file " + GetTempFile(_c3dFile) + "!"); } Open(_c3dFile); for (int i = 0; i < reader.FramesCount; i++) { Vector4 [] points = reader.ReadFrame(); if (reader.IsFloat) { this.WriteFloatFrame(points); } else if (reader.IsInterger) { this.WriteIntFrame(points); } } reader.Close(); this.Close(); }