ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
BinFilter.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include "FileIOFilter.h"
11 
12 class QWidget;
13 
16 public:
18 
19  // static accessors
20  static inline QString GetFileFilter() {
21  return "CloudViewer entities (*.bin)";
22  }
23  static inline QString GetDefaultExtension() { return "bin"; }
24 
26  static short GetLastSavedFileVersion();
27 
28  // inherited from FileIOFilter
29  virtual CC_FILE_ERROR loadFile(const QString& filename,
30  ccHObject& container,
31  LoadParameters& parameters) override;
32 
33  virtual bool canSave(CV_CLASS_ENUM type,
34  bool& multiple,
35  bool& exclusive) const override;
37  const QString& filename,
38  const SaveParameters& parameters) override;
39 
41  static CC_FILE_ERROR LoadFileV1(QFile& in,
42  ccHObject& container,
43  unsigned nbScansTotal,
44  const LoadParameters& parameters);
45 
47 
54  static CC_FILE_ERROR LoadFileV2(QFile& in,
55  ccHObject& container,
56  int flags,
57  bool parallel,
58  QWidget* parentWidget = nullptr);
59 
61  static CC_FILE_ERROR SaveFileV2(QFile& out, ccHObject* object);
62 };
int64_t CV_CLASS_ENUM
Type of object type flags (64 bits)
Definition: CVTypes.h:97
std::string filename
#define CV_IO_LIB_API
Definition: CV_io.h:15
char type
CC_FILE_ERROR
Typical I/O filter errors.
Definition: FileIOFilter.h:20
CLOUDVIEWER dedicated binary point cloud I/O filter.
Definition: BinFilter.h:15
static short GetLastSavedFileVersion()
Returns the last saved file version.
virtual bool canSave(CV_CLASS_ENUM type, bool &multiple, bool &exclusive) const override
Returns whether this I/O filter can save the specified type of entity.
static QString GetDefaultExtension()
Definition: BinFilter.h:23
virtual CC_FILE_ERROR saveToFile(ccHObject *entity, const QString &filename, const SaveParameters &parameters) override
Saves an entity (or a group of) to a file.
static CC_FILE_ERROR SaveFileV2(QFile &out, ccHObject *object)
new style BIN saving
static QString GetFileFilter()
Definition: BinFilter.h:20
static CC_FILE_ERROR LoadFileV1(QFile &in, ccHObject &container, unsigned nbScansTotal, const LoadParameters &parameters)
old style BIN loading
virtual CC_FILE_ERROR loadFile(const QString &filename, ccHObject &container, LoadParameters &parameters) override
Loads one or more entities from a file.
static CC_FILE_ERROR LoadFileV2(QFile &in, ccHObject &container, int flags, bool parallel, QWidget *parentWidget=nullptr)
new style BIN loading
Generic file I/O filter.
Definition: FileIOFilter.h:46
Hierarchical CLOUDVIEWER Object.
Definition: ecvHObject.h:25
Generic loading parameters.
Definition: FileIOFilter.h:51
Generic saving parameters.
Definition: FileIOFilter.h:84