Assimp  v4.1. (December 2018)
Assimp::STLImporter Class Reference

Importer class for the sterolithography STL file format. More...

Inherits Assimp::BaseImporter.

Public Member Functions

bool CanRead (const std::string &pFile, IOSystem *pIOHandler, bool checkSig) const
 Returns whether the class can handle the format of the given file. More...
 
 STLImporter ()
 STLImporter, the class default constructor. More...
 
 ~STLImporter ()
 The class destructor. More...
 
- Public Member Functions inherited from Assimp::BaseImporter
 BaseImporter () AI_NO_EXCEPT
 Constructor to be privately used by Importer. More...
 
virtual const ImporterUnitsGetApplicationUnits ()
 
const std::string & GetErrorText () const
 Returns the error description of the last error that occurred. More...
 
void GetExtensionList (std::set< std::string > &extensions)
 Called by #Importer::GetExtensionList for each loaded importer. More...
 
virtual double GetFileScale () const
 
aiSceneReadFile (Importer *pImp, const std::string &pFile, IOSystem *pIOHandler)
 Imports the given file and returns the imported data. More...
 
virtual void SetApplicationUnits (const ImporterUnits &unit)
 
virtual void SetFileScale (double scale)
 Will be called only by scale process when scaling is requested. More...
 
virtual void SetupProperties (const Importer *pImp)
 Called prior to ReadFile(). More...
 
virtual ~BaseImporter ()
 Destructor, private as well. More...
 

Protected Member Functions

const aiImporterDescGetInfo () const
 Return importer meta information. More...
 
void InternReadFile (const std::string &pFile, aiScene *pScene, IOSystem *pIOHandler)
 Imports the given file into the given scene structure. More...
 
void LoadASCIIFile (aiNode *root)
 Loads a ASCII text .stl file. More...
 
bool LoadBinaryFile ()
 Loads a binary .stl file. More...
 
void pushMeshesToNode (std::vector< unsigned int > &meshIndices, aiNode *node)
 

Protected Attributes

aiColor4D clrColorDefault
 Default vertex color. More...
 
unsigned int fileSize
 Size of the file, in bytes. More...
 
const char * mBuffer
 Buffer to hold the loaded file. More...
 
aiScenepScene
 Output scene. More...
 
- Protected Attributes inherited from Assimp::BaseImporter
ImporterUnits applicationUnits = ImporterUnits::M
 
double fileScale = 1.0
 
double importerScale = 1.0
 
std::string m_ErrorText
 Error description in case there was one. More...
 
ProgressHandlerm_progress
 Currently set progress handler. More...
 

Additional Inherited Members

- Public Types inherited from Assimp::BaseImporter
enum  ImporterUnits {
  M , MM , CM , INCHES ,
  FEET
}
 
enum  TextFileMode { ALLOW_EMPTY , FORBID_EMPTY }
 Enum to define, if empty files are ok or not. More...
 
- Static Public Member Functions inherited from Assimp::BaseImporter
static bool CheckMagicToken (IOSystem *pIOHandler, const std::string &pFile, const void *magic, unsigned int num, unsigned int offset=0, unsigned int size=4)
 Check whether a file starts with one or more magic tokens. More...
 
static void ConvertToUTF8 (std::vector< char > &data)
 An utility for all text file loaders. More...
 
static void ConvertUTF8toISO8859_1 (std::string &data)
 An utility for all text file loaders. More...
 
template<typename T >
static AI_FORCE_INLINE void CopyVector (std::vector< T > &vec, T *&out, unsigned int &outLength)
 Utility function to move a std::vector into a aiScene array. More...
 
static std::string GetExtension (const std::string &pFile)
 Extract file extension from a string. More...
 
static bool SearchFileHeaderForToken (IOSystem *pIOSystem, const std::string &file, const char **tokens, unsigned int numTokens, unsigned int searchBytes=200, bool tokensSol=false, bool noAlphaBeforeTokens=false)
 A utility for CanRead(). More...
 
static bool SimpleExtensionCheck (const std::string &pFile, const char *ext0, const char *ext1=NULL, const char *ext2=NULL)
 Check whether a file has a specific file extension. More...
 
static void TextFileToBuffer (IOStream *stream, std::vector< char > &data, TextFileMode mode=FORBID_EMPTY)
 Utility for text file loaders which copies the contents of the file into a memory buffer and converts it to our UTF8 representation. More...
 
- Public Attributes inherited from Assimp::BaseImporter
std::map< ImporterUnits, double > importerUnits
 Assimp Importer unit conversions available if you need another measurment unit add it below. More...
 

Detailed Description

Importer class for the sterolithography STL file format.

Constructor & Destructor Documentation

◆ STLImporter()

STLImporter::STLImporter ( )

STLImporter, the class default constructor.

◆ ~STLImporter()

STLImporter::~STLImporter ( )

The class destructor.

Member Function Documentation

◆ CanRead()

bool STLImporter::CanRead ( const std::string &  pFile,
IOSystem pIOHandler,
bool  checkSig 
) const
virtual

Returns whether the class can handle the format of the given file.

See BaseImporter::CanRead() for details.

Implements Assimp::BaseImporter.

◆ GetInfo()

const aiImporterDesc * STLImporter::GetInfo ( ) const
protectedvirtual

Return importer meta information.

See #BaseImporter::GetInfo for the details

Implements Assimp::BaseImporter.

◆ InternReadFile()

void STLImporter::InternReadFile ( const std::string &  pFile,
aiScene pScene,
IOSystem pIOHandler 
)
protectedvirtual

Imports the given file into the given scene structure.

See BaseImporter::InternReadFile() for details

Implements Assimp::BaseImporter.

◆ LoadASCIIFile()

void STLImporter::LoadASCIIFile ( aiNode root)
protected

Loads a ASCII text .stl file.

◆ LoadBinaryFile()

bool STLImporter::LoadBinaryFile ( )
protected

Loads a binary .stl file.

Returns
true if the default vertex color must be used as material color

◆ pushMeshesToNode()

void STLImporter::pushMeshesToNode ( std::vector< unsigned int > &  meshIndices,
aiNode node 
)
protected

Member Data Documentation

◆ clrColorDefault

aiColor4D Assimp::STLImporter::clrColorDefault
protected

Default vertex color.

◆ fileSize

unsigned int Assimp::STLImporter::fileSize
protected

Size of the file, in bytes.

◆ mBuffer

const char* Assimp::STLImporter::mBuffer
protected

Buffer to hold the loaded file.

◆ pScene

aiScene* Assimp::STLImporter::pScene
protected

Output scene.


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