qCC_io version 2.13.alpha (Qt) - 31 May 2022
CloudCompare standard I/O filters (file readers & writers)
|
Generic file I/O filter. More...
#include <FileIOFilter.h>
Classes | |
struct | FilterInfo |
struct | LoadParameters |
Generic loading parameters. More... | |
struct | SaveParameters |
Generic saving parameters. More... | |
Public Types | |
enum | FilterFeature { NoFeatures = 0x0000 , Import = 0x00001 , Export = 0x0002 , BuiltIn = 0x0004 , DynamicInfo = 0x0008 } |
using | Shared = QSharedPointer< FileIOFilter > |
Shared type. | |
using | FilterContainer = std::vector< FileIOFilter::Shared > |
Type of a I/O filters container. | |
Public Member Functions | |
QCC_IO_LIB_API bool | importSupported () const |
Returns whether this I/O filter can import files. | |
QCC_IO_LIB_API bool | exportSupported () const |
Returns whether this I/O filter can export files. | |
QCC_IO_LIB_API const QStringList & | getFileFilters (bool onImport) const |
Returns the file filter(s) for this I/O filter. More... | |
QCC_IO_LIB_API QString | getDefaultExtension () const |
Returns the default file extension. | |
virtual CC_FILE_ERROR | loadFile (const QString &filename, ccHObject &container, LoadParameters ¶meters) |
Loads one or more entities from a file. More... | |
virtual CC_FILE_ERROR | saveToFile (ccHObject *entity, const QString &filename, const SaveParameters ¶meters) |
Saves an entity (or a group of) to a file. More... | |
virtual bool | canSave (CC_CLASS_ENUM type, bool &multiple, bool &exclusive) const |
Returns whether this I/O filter can save the specified type of entity. More... | |
virtual void | unregister () |
Called when the filter is unregistered. More... | |
Static Public Member Functions | |
static QCC_IO_LIB_API QStringList | ImportFilterList () |
static QCC_IO_LIB_API ccHObject * | LoadFromFile (const QString &filename, LoadParameters ¶meters, Shared filter, CC_FILE_ERROR &result) |
Loads one or more entities from a file with a known filter. More... | |
static QCC_IO_LIB_API ccHObject * | LoadFromFile (const QString &filename, LoadParameters ¶meters, CC_FILE_ERROR &result, const QString &fileFilter=QString()) |
Loads one or more entities from a file with known type. More... | |
static QCC_IO_LIB_API CC_FILE_ERROR | SaveToFile (ccHObject *entities, const QString &filename, const SaveParameters ¶meters, Shared filter) |
Saves an entity (or a group of) to a specific file thanks to a given filter. More... | |
static QCC_IO_LIB_API CC_FILE_ERROR | SaveToFile (ccHObject *entities, const QString &filename, const SaveParameters ¶meters, const QString &fileFilter) |
Saves an entity (or a group of) to a specific file thanks to a given filter. More... | |
static QCC_IO_LIB_API bool | HandleGlobalShift (const CCVector3d &P, CCVector3d &Pshift, bool &preserveCoordinateShift, LoadParameters &loadParameters, bool useInputCoordinatesShiftIfPossible=false) |
Shortcut to the ccGlobalShiftManager mechanism specific for files. More... | |
static QCC_IO_LIB_API void | DisplayErrorMessage (CC_FILE_ERROR err, const QString &action, const QString &filename) |
Displays (to console) the message corresponding to a given error code. More... | |
static QCC_IO_LIB_API bool | CheckForSpecialChars (const QString &filename) |
Returns whether special characters are present in the input string. | |
static QCC_IO_LIB_API void | ResetSesionCounter () |
Indicates to the I/O filters that a new loading/saving session has started (for "Apply all" buttons for instance) | |
static QCC_IO_LIB_API unsigned | IncreaseSesionCounter () |
Indicates to the I/O filters that a new loading/saving action has started. More... | |
static QCC_IO_LIB_API void | InitInternalFilters () |
Init internal filters (should be called once) | |
static QCC_IO_LIB_API void | Register (Shared filter) |
Registers a new filter. | |
static QCC_IO_LIB_API Shared | GetFilter (const QString &fileFilter, bool onImport) |
Returns the filter corresponding to the given 'file filter'. | |
static QCC_IO_LIB_API Shared | FindBestFilterForExtension (const QString &ext) |
Returns the best filter (presumably) to open a given file extension. | |
static QCC_IO_LIB_API const FilterContainer & | GetFilters () |
Returns the set of all registered filters. | |
static QCC_IO_LIB_API void | UnregisterAll () |
Unregisters all filters. More... | |
Protected Member Functions | |
QCC_IO_LIB_API | FileIOFilter (const FilterInfo &info) |
void | setImportExtensions (const QStringList &extensions) |
void | setImportFileFilterStrings (const QStringList &filterStrings) |
void | setExportFileFilterStrings (const QStringList &filterStrings) |
Static Protected Attributes | |
static constexpr float | DEFAULT_PRIORITY = 25.0f |
Generic file I/O filter.
Gives static access to file loader. Must be implemented by any specific I/O filter.
|
inlinevirtual |
Returns whether this I/O filter can save the specified type of entity.
type | entity type |
multiple | whether the filter can save multiple instances of this entity at once |
exclusive | whether the filter can only save this type of entity if selected or if it can be mixed with other types |
Reimplemented in AsciiFilter, BinFilter, DepthMapFileFilter, DxfFilter, ImageFileFilter, and PlyFilter.
|
static |
Displays (to console) the message corresponding to a given error code.
err | error code |
action | "saving", "reading", etc. |
filename | corresponding file |
const QStringList & FileIOFilter::getFileFilters | ( | bool | onImport | ) | const |
Returns the file filter(s) for this I/O filter.
E.g. 'ASCII file (*.asc)'
onImport | whether the requested filters are for import or export |
|
static |
Shortcut to the ccGlobalShiftManager mechanism specific for files.
[in] | P | sample point (typically the first loaded) |
[out] | Pshift | global shift |
[out] | preserveCoordinateShift | whether shift sould be preserved on save |
[in] | loadParameters | loading parameters |
[in] | useInputCoordinatesShiftIfPossible | whether to use the input 'PShift' vector if possible |
|
static |
Get a list of all the available importer filter strings for use in a drop down menu. Includes "All (*.)" as the first item in the list.
|
static |
Indicates to the I/O filters that a new loading/saving action has started.
|
inlinevirtual |
Loads one or more entities from a file.
This method must be implemented by children classes.
filename | file to load |
container | container to store loaded entities |
parameters | generic loading parameters |
Reimplemented in AsciiFilter, BinFilter, DxfFilter, ImageFileFilter, and PlyFilter.
|
static |
Loads one or more entities from a file with known type.
Shortcut to the other version of FileIOFilter::LoadFromFile
filename | filename | |
parameters | generic loading parameters | |
[out] | result | file error code |
fileFilter | input filter 'file filter' (if empty, the best I/O filter will be guessed from the file extension) |
|
static |
Loads one or more entities from a file with a known filter.
Shortcut to FileIOFilter::loadFile
filename | filename | |
parameters | generic loading parameters | |
filter | input filter | |
[out] | result | file error code |
|
static |
Saves an entity (or a group of) to a specific file thanks to a given filter.
Shortcut to the other version of FileIOFilter::SaveToFile
entities | entity to save (can be a group of other entities) |
filename | filename |
parameters | saving parameters |
fileFilter | output filter 'file filter' |
|
static |
Saves an entity (or a group of) to a specific file thanks to a given filter.
Shortcut to FileIOFilter::saveFile
entities | entity to save (can be a group of other entities) |
filename | filename |
parameters | saving parameters |
filter | output filter |
|
inlinevirtual |
Saves an entity (or a group of) to a file.
This method must be implemented by children classes.
entity | entity (or group of) to save |
filename | filename |
parameters | generic saving parameters |
Reimplemented in AsciiFilter, BinFilter, DepthMapFileFilter, DxfFilter, ImageFileFilter, and PlyFilter.
|
protected |
Allow export filter strings to be set after construction (e.g. for ImageFileFilter & QImageReader::supportedImageFormats())
|
protected |
Allow import extensions to be set after construction (e.g. for ImageFileFilter & QImageReader::supportedImageFormats())
|
protected |
Allow import filter strings to be set after construction (e.g. for ImageFileFilter & QImageReader::supportedImageFormats())
|
inlinevirtual |
Called when the filter is unregistered.
Does nothing by default
|
static |
Unregisters all filters.
Should be called at the end of the application