Пример #1
0
        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();
        }