![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <STEPFilter.h>


Public Member Functions | |
| STEPFilter () | |
| CC_FILE_ERROR | loadFile (const QString &fullFilename, ccHObject &container, LoadParameters ¶meters) override |
| Loads one or more entities from a file. More... | |
| CC_FILE_ERROR | importStepFile (ccHObject &container, const QString &fullFilename, double linearDeflection, LoadParameters ¶meters) |
| Specific loading method. 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 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 (CV_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 void | SetDefaultLinearDeflection (double value) |
| Sets the default linear deflection. 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... | |
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... | |
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 |
Definition at line 29 of file STEPFilter.h.
| STEPFilter::STEPFilter | ( | ) |
Definition at line 61 of file STEPFilter.cpp.
References FileIOFilter::DEFAULT_PRIORITY, and FileIOFilter::Import.
| CC_FILE_ERROR STEPFilter::importStepFile | ( | ccHObject & | container, |
| const QString & | fullFilename, | ||
| double | linearDeflection, | ||
| LoadParameters & | parameters | ||
| ) |
Specific loading method.
Definition at line 114 of file STEPFilter.cpp.
References ccHObject::addChild(), cloudViewer::PointCloudTpl< T >::addPoint(), ccMesh::addTriangle(), cloudViewer::PointCloudTpl< T >::capacity(), ccMesh::capacity(), CC_FERR_NO_ERROR, CC_FERR_NO_LOAD, CC_FERR_NOT_ENOUGH_MEMORY, CC_FERR_THIRD_PARTY_LIB_FAILURE, ccMesh::computePerTriangleNormals(), ccMesh::DefaultMergeDulicateVerticesLevel, face, ccMesh::mergeDuplicatedVertices(), FileIOFilter::LoadParameters::parentWidget, CVLog::Print(), ccMesh::reserve(), ccPointCloud::reserve(), ccObject::setEnabled(), ccObject::setName(), ShapeTypes, ccGenericMesh::showNormals(), ccMesh::shrinkToFit(), ccPointCloud::shrinkToFit(), cloudViewer::PointCloudTpl< T >::size(), and CVLog::Warning().
Referenced by loadFile().
|
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 82 of file STEPFilter.cpp.
References CC_FERR_CANCELED_BY_USER, CC_FERR_THIRD_PARTY_LIB_EXCEPTION, CC_FERR_UNKNOWN_FILE, error(), importStepFile(), FileIOFilter::LoadParameters::parentWidget, and s_defaultLinearDeflection.
|
static |
Sets the default linear deflection.
| value | linear deflection (in [1e-2, 1e-6]) The smaller this value is, the smaller the triangles will be. In some cases, if this linear deflection is too big, the tesselation may crash (precisely the instruction BRep_Tool::Triangulation(face, location)). But we don't know how to anticipate this. |
Definition at line 70 of file STEPFilter.cpp.
References s_defaultLinearDeflection, and CVLog::Warning().