![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Draco compressed cloud and mesh file I/O filter. More...
#include <DRCFilter.h>


Public Member Functions | |
| DRCFilter () | |
| CC_FILE_ERROR | loadFile (const QString &filename, ccHObject &container, LoadParameters ¶meters) override |
| Loads one or more entities from a file. More... | |
| 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. More... | |
| CC_FILE_ERROR | saveToFile (ccHObject *entity, const QString &filename, const SaveParameters ¶meters) override |
| Saves an entity (or a group of) to a file. More... | |
Public Member Functions inherited from FileIOFilter | |
| virtual | ~FileIOFilter ()=default |
| bool | importSupported () const |
| Returns whether this I/O filter can import files. More... | |
| bool | exportSupported () const |
| Returns whether this I/O filter can export files. More... | |
| const QStringList & | getFileFilters (bool onImport) const |
| Returns the file filter(s) for this I/O filter. More... | |
| QString | getDefaultExtension () const |
| Returns the default file extension. More... | |
| virtual void | unregister () |
| Called when the filter is unregistered. More... | |
Additional Inherited Members | |
Public Types inherited from FileIOFilter | |
| enum | FilterFeature { NoFeatures = 0x0000 , Import = 0x00001 , Export = 0x0002 , BuiltIn = 0x0004 , DynamicInfo = 0x0008 } |
| using | Shared = QSharedPointer< FileIOFilter > |
| Shared type. More... | |
| using | FilterContainer = std::vector< FileIOFilter::Shared > |
| Type of a I/O filters container. More... | |
Static Public Member Functions inherited from FileIOFilter | |
| static QStringList | ImportFilterList () |
| static 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 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 CC_FILE_ERROR | SaveToFile (ccHObject *entities, const QString &filename, const SaveParameters ¶meters, Shared filter) |
| static CC_FILE_ERROR | SaveToFile (ccHObject *entities, const QString &filename, const SaveParameters ¶meters, const QString &fileFilter) |
| static bool | HandleGlobalShift (const CCVector3d &P, CCVector3d &Pshift, bool &preserveCoordinateShift, LoadParameters &loadParameters, bool useInputCoordinatesShiftIfPossible=false) |
| Shortcut to the ecvGlobalShiftManager mechanism specific for files. More... | |
| static 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 bool | CheckForSpecialChars (const QString &filename) |
| Returns whether special characters are present in the input string. More... | |
| static void | ResetSesionCounter () |
| static unsigned | IncreaseSesionCounter () |
| static void | Register (Shared filter) |
| Registers a new filter. More... | |
| static Shared | GetFilter (const QString &fileFilter, bool onImport) |
| Returns the filter corresponding to the given 'file filter'. More... | |
| static Shared | FindBestFilterForExtension (const QString &ext) |
| Returns the best filter (presumably) to open a given file extension. More... | |
| static const FilterContainer & | GetFilters () |
| Returns the set of all registered filters. More... | |
| static void | UnregisterAll () |
| Unregisters all filters. More... | |
Protected Member Functions inherited from FileIOFilter | |
| FileIOFilter (const FilterInfo &info) | |
| void | setImportExtensions (const QStringList &extensions) |
| void | setImportFileFilterStrings (const QStringList &filterStrings) |
| void | setExportFileFilterStrings (const QStringList &filterStrings) |
Static Protected Attributes inherited from FileIOFilter | |
| static constexpr float | DEFAULT_PRIORITY = 25.0f |
Draco compressed cloud and mesh file I/O filter.
Definition at line 13 of file DRCFilter.h.
| DRCFilter::DRCFilter | ( | ) |
Definition at line 28 of file DRCFilter.cpp.
References FileIOFilter::Export, and FileIOFilter::Import.
|
overridevirtual |
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 from FileIOFilter.
Definition at line 36 of file DRCFilter.cpp.
References CV_TYPES::MESH, CV_TYPES::POINT_CLOUD, and type.
|
overridevirtual |
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 from FileIOFilter.
Definition at line 474 of file DRCFilter.cpp.
References ccHObject::addChild(), ccArray< Type, N, ComponentType >::addElement(), ccMesh::addTriangle(), ecvColor::bright(), CC_FERR_NO_ERROR, CC_FERR_NO_LOAD, CC_FERR_NOT_ENOUGH_MEMORY, CC_FERR_READING, CC_FERR_THIRD_PARTY_LIB_FAILURE, ecvColor::darker(), CVLog::Error(), face, filename, ccPointCloud::hasColors(), ccPointCloud::hasNormals(), CCShareable::link(), LoadCloud(), CV_TYPES::POINT_CLOUD, CVLog::Print(), CCShareable::release(), ccMesh::reserve(), ccArray< Type, N, ComponentType >::reserveSafe(), result, ccMesh::setMaterialSet(), ccMesh::setTexCoordinatesTable(), ccDrawableObject::setVisible(), ccDrawableObject::showColors(), ccGenericMesh::showMaterials(), ccGenericMesh::showNormals(), ccMesh::shrinkToFit(), ccPointCloud::shrinkToFit(), cloudViewer::PointCloudTpl< T >::size(), size, ccMesh::size(), TexCoords2D::t, TexCoords2D::tx, TexCoords2D::ty, and CVLog::Warning().
|
overridevirtual |
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 from FileIOFilter.
Definition at line 258 of file DRCFilter.cpp.
References FileIOFilter::SaveParameters::alwaysDisplaySaveDialog, CC_FERR_BAD_ARGUMENT, CC_FERR_BAD_ENTITY_TYPE, CC_FERR_CANCELED_BY_USER, CC_FERR_NO_ERROR, CC_FERR_THIRD_PARTY_LIB_FAILURE, CC_FERR_WRITING, CCCloudToDraco(), CCMeshToDraco(), error(), filename, ccObject::isKindOf(), CV_TYPES::MESH, FileIOFilter::SaveParameters::parentWidget, and CV_TYPES::POINT_CLOUD.