Developer Documentation

Public Slots | Signals | Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
FileOBJPlugin Class Reference
Inheritance diagram for FileOBJPlugin:

## Public Slots
int | loadObject (QString _filename)
| Loads Object and converts it to a triangle mesh if possible.
int | loadObject (QString _filename, DataType _type)
| load object and force type More...
bool | saveObject (int _id, QString _filename)
QString | version ()

## Signals
void | openedFile (int _id)
void | addEmptyObject (DataType _type, int &_id)
void | load (QString _filename, DataType _type, int &_id)
void | save (int _id, QString _filename)
void | log (Logtype _type, QString _message)
void | log (QString _message)
void | updateView ()
void | updatedObject (int _identifier, const UpdateType &_type)
void | deleteObject (int _id)
void | showStatusMessage (QString _message, int _timeout=0)
void | setStatus (ApplicationStatus::applicationStatus _status)
void | pluginExists (QString _pluginName, bool &_exists)
void | setTextureMode (QString _textureName, QString _mode, int _id)
void | switchTexture (QString _textureName, int _id)
void | addMultiTexture (QString _textureGroup, QString _name, QString _filename, int _id, int &_textureId)
void | textureFilename (int, QString, QString &)
void | textureIndex (QString _name, int _id, int &_index)
void | getCurrentTexture (int, QString &)
void | textureName (int, int, QString &)
void | getSubTextures (int, QString, QStringList &)
void | textureIndexPropertyName (int, QString &)
Signals inherited from BaseInterface
virtual void | updateView ()
| Update current view in Main Application. More...
virtual void | setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions)
| Set a description for a public slot. More...
virtual void | setRenderer (unsigned int _viewer, QString _rendererName)
| Set a renderer for the given viewer. More...
Signals inherited from FileInterface
virtual void | openedFile (int _id)
| This signal has to be emitted if an object has been loaded from a file. More...
Signals inherited from LoadSaveInterface
virtual void | save (int _id, QString _filename)
| Save object to a file. More...
virtual void | load (QString _filename, DataType _type, int &_id)
| Load object from file with a specific DataType. More...
Signals inherited from LoggingInterface
virtual void | log (Logtype _type, QString _message)=0
virtual void | log (QString _message)=0
Signals inherited from ScriptInterface
virtual void | scriptInfo (QString _functionWithParameters)
| Emit this signal if a scriptable function is executed. More...
virtual void | getScriptingEngine (QScriptEngine *&_engine)
virtual void | executeScript (QString _script)
virtual void | getAvailableFunctions (QStringList &_functions)
Signals inherited from StatusbarInterface
virtual void | showStatusMessage (QString _message, int _timeout=0)
| Show a message in the status bar. More...
Signals inherited from RPCInterface
virtual void | pluginExists (QString _pluginName, bool &_exists)
Signals inherited from TextureInterface
virtual void | addTexture (QString _name, QString _filename, uint _dimension, int _id)
| Emit this Signal if a texture has been added (Property Name,filename,Dimension) More...

## Public Member Functions
| FileOBJPlugin ()
| Constructor.
QString | name ()
| Return a name for the plugin. More...
QString | description ()
| Return a description of what the plugin is doing. More...
DataType | supportedType ()
| Return your supported object type( e.g. DATA_TRIANGLE_MESH ) More...
QString | getSaveFilters ()
QString | getLoadFilters ()
QWidget * | saveOptionsWidget (QString)
QWidget * | loadOptionsWidget (QString)

## Private Slots
void | fileOpened (int)
Private Slots inherited from BaseInterface
virtual void | exit ()
virtual QString | version ()
| Return a version string for your plugin. More...
Private Slots inherited from FileInterface
virtual int | loadObject (QString _filename)=0
| Load an object from the given file. More...
virtual int | loadObject (QString _filename, DataType _type)
| Load an object from the given file. More...

## Private Member Functions
void | noguiSupported ()
void | initializePlugin ()
| Initialize Plugin. More...
void | slotLoadDefault ()
| Slot called when user wants to save the given Load options as default.
void | slotSaveDefault ()
| Slot called when user wants to save the given Save options as default.
void | slotHandleCheckBoxes (bool _checked)
void | handleTrimeshDialog ()
void | checkTypes (QByteArray &_bufferedFile, QString _filename, OBJImporter &_importer, QStringList &_includes)
| Reader functions. More...
bool | readMaterial (QString _filename, OBJImporter &_importer)
void | readOBJFile (QByteArray &_bufferedFile, QString _filename, OBJImporter &_importer)
void | createAllGroupObjects (OBJImporter &_importer)
template<class MeshT >
void | backupTextureCoordinates (MeshT &_mesh)
| creates a backup of the original per vertex/face texture coordinates
void | addTextures (OBJImporter &_importer, int _objectID)
void | convertToOBJName (QString &_name)
| Convert non-valid filenames (e.g. of groups that end with .jpg) to valid .objs.
template<class MeshT >
Material & | getMaterial (MeshT &_mesh, const OpenMesh::FaceHandle &_fh, int _objId)
template<class MeshT >
bool | writeMaterial (QString _filename, MeshT &_mesh, int _objId)
| writer functions
template<class MeshT >
bool | writeMesh (std::ostream &_out, QString _filename, MeshT &_mesh, int _objId)
Private Member Functions inherited from BaseInterface
virtual | ~BaseInterface ()
| Destructor.
virtual void | blockScenegraphUpdates (bool _block)
| Tell the core to prevent scenegraph updates. More...
virtual void | updatedObject (int _objectId)
| An object has been changed or added by this plugin. More...
virtual void | updatedObject (int _identifier, const UpdateType &_type)
| An object has been changed or added by this plugin. More...
virtual void | nodeVisibilityChanged (int _identifier)
| A scenegraph node has been shown or hidden. More...
virtual void | getCurrentRenderer (unsigned int _viewer, QString &_rendererName)
| Get the current renderer for the given viewer. More...
Private Member Functions inherited from FileInterface
virtual | ~FileInterface ()
| Destructor.
virtual bool | saveObject (int _id, QString _filename)=0
| Save an object from the given file. More...
virtual bool | saveObjects (IdList _ids, QString _filename)
| Save multiple objects to one file. More...
Private Member Functions inherited from LoadSaveInterface
virtual | ~LoadSaveInterface ()
| Destructor.
virtual void | addEmptyObject (DataType _type, int &_id)
virtual void | copyObject (int _oldId, int &_newId)
virtual void | emptyObjectAdded (int _id)
| DEPRECATED HERE (Moved to Type Interface)! Emit this signal if an empty object has been created. More...
virtual void | deleteObject (int _id)
| Delete an object This signal can be called from any thread. . More...
virtual void | deleteAllObjects ()
| Delete all Objects. More...
virtual void | getAllFileFilters (QStringList &_filters)
| Get all file filters that are registered. More...
Private Member Functions inherited from LoggingInterface
virtual | ~LoggingInterface ()
| Destructor.
Private Member Functions inherited from ScriptInterface
virtual | ~ScriptInterface ()
| Destructor.
virtual void | executeFileScript (QString _filename)
virtual void | getDescription (QString _function, QString &_description, QStringList &_parameters, QStringList &_descriptions)
Private Member Functions inherited from StatusbarInterface
virtual | ~StatusbarInterface ()
| Destructor.
void | setStatus (ApplicationStatus::applicationStatus _status)
| Sets the status icon of the StatusBar. More...
void | clearStatusMessage ()
| Removes the current message from the statusBar. More...
void | addWidgetToStatusbar (QWidget *_widget)
| Add a widget on the right side of the statusBar. More...
Private Member Functions inherited from RPCInterface
virtual | ~RPCInterface ()
| Destructor.
virtual void | functionExists (QString _pluginName, QString _functionName, bool &_exists)
Private Member Functions inherited from TextureInterface
virtual void | addTexture (QString _name, QImage _image, uint _dimension, int _id)
| Emit this Signal if a texture has been added (Property Name,image,Dimension) More...
virtual void | addTexture (QString _name, QString _filename, uint _dimension)
| Emit this Signal if a texture has been added (Property Name,filename,Dimension) More...
virtual void | addTexture (QString _name, QImage _image, uint _dimension)
| Emit this Signal if a texture has been added (Property Name,image,Dimension) More...
virtual void | addMultiTexture (QString _textureGroup, QString _name, QString _filename, int _id, int &_textureId)
| Emit this Signal if you want to add a texture for a multitexturing mode. More...
virtual void | addMultiTexture (QString _textureGroup, QString _name, QImage _image, int _id, int &_textureId)
| Emit this Signal if you want to add a texture for a multitexturing mode. More...
virtual void | updateTexture (QString _textureName, int _identifier)
| Tell Plugins to update the given texture for the given identifier This signal can be called from any thread. .
virtual void | updateAllTextures ()
| Tell Plugins to update all textures.
virtual void | updatedTextures (QString, int)
| emit this signal if you updated a texture More...
virtual void | switchTexture (QString _textureName, int _id)
| emit this signal if you want to switch the texture of a specific object This signal can be called from any thread.
virtual void | switchTexture (QString _textureName)
| emit this signal if you want to switch the global texture This signal can be called from any thread.
virtual void | setTextureMode (QString _textureName, QString _mode)
| emit this signal if you want to set a special mode for this texture (Clamping,...) More...
virtual void | setTextureMode (QString _textureName, QString _mode, int _id)
| emit this signal if you want to set a special mode for this texture (Clamping,...) More...
virtual void | textureChangeImage (QString _textureName, QImage &_image, int _id)
| Change the texture image of a given texture. More...
virtual void | textureChangeImage (QString _textureName, QImage &_image)
| Change the texture image of a given global texture. More...
virtual void | textureGetImage (QString _textureName, QImage &_image, int _id)
| get the texture image of a given texture More...
virtual void | textureGetImage (QString _textureName, QImage &_image)
| Get the texture image of a given global texture. More...
virtual void | textureIndex (QString _textureName, int _id, int &_index)
| Get the texture index of a given texture. More...
virtual void | textureIndexPropertyName (int _id, QString &_propertyName)
| Get the name of the texture index property. More...
virtual void | textureName (int _id, int _textureIndex, QString &_textureName)
| get the name of the texture with given texture index More...
virtual void | textureFilename (int _id, QString _textureName, QString &_textureFilename)
| get the filename of the texture with given texture index More...
virtual void | getCurrentTexture (int _id, QString &_textureName)
| get the name of the texture which is currently enabled More...
virtual void | getSubTextures (int _id, QString _multiTextureName, QStringList &_subTextures)
| get the names of all sub-textures under the given multiTexture More...
virtual | ~TextureInterface ()
| Destructor.

## Private Attributes
MaterialList | materials_
| List that contains the material properties.
QWidget * | loadOptions_
QWidget * | saveOptions_
QCheckBox * | saveBinary_
QCheckBox * | saveVertexColor_
QCheckBox * | saveFaceColor_
QCheckBox * | saveAlpha_
QCheckBox * | saveNormals_
QCheckBox * | saveTexCoords_
QCheckBox * | saveTextures_
QCheckBox * | saveCopyTextures_
QCheckBox * | saveCreateTexFolder_
QLabel * | savePrecisionLabel_
QSpinBox * | savePrecision_
QPushButton * | saveDefaultButton_
QComboBox * | triMeshHandling_
QCheckBox * | loadVertexColor_
QCheckBox * | loadFaceColor_
QCheckBox * | loadAlpha_
QCheckBox * | loadNormals_
QCheckBox * | loadTexCoords_
QCheckBox * | loadTextures_
QPushButton * | loadDefaultButton_
bool | forceTriangleMesh_
bool | forcePolyMesh_
QString | textureIndexPropertyName_
bool | textureIndexPropFetched_
std::map< int, QString > | texIndexFileMap_
OBJImporter::ObjectOptionsE | trimeshOptions_

## Detailed Description

Definition at line 87 of file FileOBJ.hh.

## Member Function Documentation

## ◆ checkTypes()

void FileOBJPlugin::checkTypes | ( | QByteArray & | _bufferedFile,
|  | QString | _filename,
|  | OBJImporter & | _importer,
|  | QStringList & | _includes
| ) |  |
| private

Reader functions.

check file types and read general info like vertices

Definition at line 1297 of file FileOBJ.cc.

## ◆ description()

QString FileOBJPlugin::description | ( |  | ) |
| inline virtual

Return a description of what the plugin is doing.

This function has to return a basic description of the plugin

Implements BaseInterface.

Definition at line 155 of file FileOBJ.hh.

## ◆ getLoadFilters()

QString FileOBJPlugin::getLoadFilters | ( |  | ) |
| virtual

Return the Qt Filters for File dialogs when loading files (e.g. "Off files ( *.off )" )

Implements FileInterface.

Definition at line 119 of file FileOBJ.cc.

## ◆ getSaveFilters()

QString FileOBJPlugin::getSaveFilters | ( |  | ) |
| virtual

Get the Qt Filters for Filedialogs when saving files (e.g. "Off files ( *.off )" )

Implements FileInterface.

Definition at line 125 of file FileOBJ.cc.

## ◆ initializePlugin()

void FileOBJPlugin::initializePlugin | ( |  | ) |
| private virtual

Initialize Plugin.

This slot is called if the plugin is loaded and has to be initialized. All initialization stuff in this slot has to stay inside the plugin, no external signals are allowed here (and will be ignored). Don't create any objects via PluginFunctions here. Use the pluginsInitialized() slot for external initialization. After execution of this slot your plugin should be fully functional. Only gui elements may be uninitialized and should be created in pluginsInitialized().

Reimplemented from BaseInterface.

Definition at line 114 of file FileOBJ.cc.

## ◆ loadObject

int FileOBJPlugin::loadObject | ( | QString | _filename,
|  | DataType | _type
| ) |  |
| slot

load object and force type

load a obj and force mesh datatype

Definition at line 2095 of file FileOBJ.cc.

## ◆ loadOptionsWidget()

QWidget * FileOBJPlugin::loadOptionsWidget | ( | QString | _currentFilter | ) |
| virtual

You can provide a special widget showing options for loading your file types depending on the current filter

_currentFilter: one filter from loadFilters

Return 0 when you don't need one

Implements FileInterface.

Definition at line 2297 of file FileOBJ.cc.

## ◆ name()

QString FileOBJPlugin::name | ( |  | ) |
| inline virtual

Return a name for the plugin.

This Function has to return the name of the plugin.

Implements BaseInterface.

Definition at line 154 of file FileOBJ.hh.

## ◆ noguiSupported()

void FileOBJPlugin::noguiSupported | ( |  | ) |
| inline private virtual

Using this function you can inform the core that your plugin can run without creating a widget. If your plugin does not implement this function, it will not be loaded in scripting mode without gui. You don't have to do anything in this function.

Reimplemented from BaseInterface.

Definition at line 134 of file FileOBJ.hh.

## ◆ saveOptionsWidget()

QWidget * FileOBJPlugin::saveOptionsWidget | ( | QString | _currentFilter | ) |
| virtual

You can provide a special widget showing options for saving your file types depending on the current filter

_currentFilter: one filter from saveFilters

Return 0 when you don't need one

Implements FileInterface.

Definition at line 2235 of file FileOBJ.cc.

## ◆ supportedType()

DataType FileOBJPlugin::supportedType | ( |  | ) |
| virtual

Return your supported object type( e.g. DATA_TRIANGLE_MESH )

If you support multiple DataTypes you can combine them bitwise here. The function is used from the load and save code to check if your plugin can handle an object of a given dataType.

Implements FileInterface.

Definition at line 131 of file FileOBJ.cc.

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

- PluginCollection-FilePlugins/Plugin-FileOBJ/FileOBJ.hh
- PluginCollection-FilePlugins/Plugin-FileOBJ/FileOBJ.cc
- PluginCollection-FilePlugins/Plugin-FileOBJ/FileOBJT_impl.hh