ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
STLFilter Class Reference

StereoLithography file I/O filter. More...

#include <STLFilter.h>

Inheritance diagram for STLFilter:
Collaboration diagram for STLFilter:

Public Member Functions

 STLFilter ()
 
virtual CC_FILE_ERROR loadFile (const QString &filename, ccHObject &container, LoadParameters &parameters) override
 Loads one or more entities from a file. More...
 
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. More...
 
virtual CC_FILE_ERROR saveToFile (ccHObject *entity, const QString &filename, const SaveParameters &parameters) 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...
 

Protected Member Functions

CC_FILE_ERROR saveToASCIIFile (ccGenericMesh *mesh, FILE *theFile, QWidget *parentWidget=0)
 Custom save method. More...
 
CC_FILE_ERROR saveToBINFile (ccGenericMesh *mesh, FILE *theFile, QWidget *parentWidget=0)
 
CC_FILE_ERROR loadASCIIFile (QFile &fp, ccMesh *mesh, ccPointCloud *vertices, LoadParameters &parameters)
 Custom load method for ASCII files. More...
 
CC_FILE_ERROR loadBinaryFile (QFile &fp, ccMesh *mesh, ccPointCloud *vertices, LoadParameters &parameters)
 Custom load method for binary files. 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)
 

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 ccHObjectLoadFromFile (const QString &filename, LoadParameters &parameters, Shared filter, CC_FILE_ERROR &result)
 Loads one or more entities from a file with a known filter. More...
 
static ccHObjectLoadFromFile (const QString &filename, LoadParameters &parameters, 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 &parameters, Shared filter)
 
static CC_FILE_ERROR SaveToFile (ccHObject *entities, const QString &filename, const SaveParameters &parameters, 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 FilterContainerGetFilters ()
 Returns the set of all registered filters. More...
 
static void UnregisterAll ()
 Unregisters all filters. More...
 
- Static Protected Attributes inherited from FileIOFilter
static constexpr float DEFAULT_PRIORITY = 25.0f
 

Detailed Description

StereoLithography file I/O filter.

See http://www.ennex.com/~fabbers/StL.asp

Definition at line 19 of file STLFilter.h.

Constructor & Destructor Documentation

◆ STLFilter()

STLFilter::STLFilter ( )

Member Function Documentation

◆ canSave()

virtual bool STLFilter::canSave ( CV_CLASS_ENUM  type,
bool &  multiple,
bool &  exclusive 
) const
overridevirtual

Returns whether this I/O filter can save the specified type of entity.

Parameters
typeentity type
multiplewhether the filter can save multiple instances of this entity at once
exclusivewhether the filter can only save this type of entity if selected or if it can be mixed with other types
Returns
whether the entity type can be saved

Reimplemented from FileIOFilter.

◆ loadASCIIFile()

CC_FILE_ERROR STLFilter::loadASCIIFile ( QFile &  fp,
ccMesh mesh,
ccPointCloud vertices,
LoadParameters parameters 
)
protected

Custom load method for ASCII files.

◆ loadBinaryFile()

CC_FILE_ERROR STLFilter::loadBinaryFile ( QFile &  fp,
ccMesh mesh,
ccPointCloud vertices,
LoadParameters parameters 
)
protected

Custom load method for binary files.

◆ loadFile()

virtual CC_FILE_ERROR STLFilter::loadFile ( const QString &  filename,
ccHObject container,
LoadParameters parameters 
)
overridevirtual

Loads one or more entities from a file.

This method must be implemented by children classes.

Parameters
filenamefile to load
containercontainer to store loaded entities
parametersgeneric loading parameters
Returns
error

Reimplemented from FileIOFilter.

◆ saveToASCIIFile()

CC_FILE_ERROR STLFilter::saveToASCIIFile ( ccGenericMesh mesh,
FILE *  theFile,
QWidget *  parentWidget = 0 
)
protected

Custom save method.

◆ saveToBINFile()

CC_FILE_ERROR STLFilter::saveToBINFile ( ccGenericMesh mesh,
FILE *  theFile,
QWidget *  parentWidget = 0 
)
protected

◆ saveToFile()

virtual CC_FILE_ERROR STLFilter::saveToFile ( ccHObject entity,
const QString &  filename,
const SaveParameters parameters 
)
overridevirtual

Saves an entity (or a group of) to a file.

This method must be implemented by children classes.

Parameters
entityentity (or group of) to save
filenamefilename
parametersgeneric saving parameters
Returns
error

Reimplemented from FileIOFilter.


The documentation for this class was generated from the following file: