public PointCloudZipStream(string dir, string fileName, FileType type)
        {
            this.FileName = String.IsNullOrEmpty(this.FileName) ? DateTime.Now.ToFileTimeUtc().ToString() : fileName;
            this.FileName += "." + type.Extension();

            this.DirPath = dir;
            this.FileType = type;
        }
        public PointCloudFileWriter(string dirPath, FileType type, string fileName)
        {
            this.FileType = type;
            this.DirPath = dirPath;

            this.FileName = String.IsNullOrEmpty(this.FileName) ? DateTime.Now.ToFileTimeUtc().ToString() : fileName;
            this.FileName += "." + type.Extension();

            this.WriteLock = new Mutex();

            if (String.IsNullOrEmpty(this.DirPath))
                throw new ArgumentNullException("DirPath");

            if (!System.IO.Directory.Exists(this.DirPath))
                System.IO.File.Create(this.DirPath);
        }