103 std::vector<quint32> indices;
118 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-VTK")
121 void openedFile(
int _id );
122 void addEmptyObject(
DataType _type,
int& _id);
123 void load(QString _filename,
DataType _type,
int& _id);
124 void save(
int _id , QString _filename );
125 void log(
Logtype _type, QString _message);
126 void log(QString _message);
128 void updatedObject(
int _identifier,
const UpdateType& _type);
130 void emptyObjectAdded(
int _id );
131 void deleteObject(
int _id );
134 void showStatusMessage(QString _message,
int _timeout = 0);
138 void pluginExists( QString _pluginName ,
bool& _exists );
139 void functionExists( QString _pluginName , QString _functionName ,
bool& _exists );
142 void setTextureMode(QString _textureName, QString _mode,
int _id );
143 void switchTexture( QString _textureName,
int _id );
144 void addMultiTexture( QString _textureGroup, QString _name, QString _filename,
int _id,
int& _textureId);
145 void textureFilename(
int , QString , QString& );
146 void textureIndex(QString _name,
int _id,
int& _index);
147 void getCurrentTexture(
int , QString& );
148 void textureName (
int,
int, QString &);
149 void getSubTextures (
int, QString, QStringList &);
150 void textureIndexPropertyName(
int, QString&);
154 void fileOpened(
int ){};
165 enum ObjectOptionsVtk
169 FACENORMALS = 1 << 1,
170 VERTEXNORMALS = 1 << 2,
171 VERTEXTEXCOORDS = 1 << 3,
178 QString
name() {
return (QString(
"FileVTK")); };
179 QString
description( ) {
return (QString(tr(
"Load/Save ASCII VTK-Files"))); };
197 bool saveObject(
int _id, QString _filename);
199 QString version() {
return QString(
"1.0"); };
203 bool forceTriangleMesh_;
206 QWidget* saveOptions_;
208 QCheckBox* saveBinary_;
209 QCheckBox* saveFaceNormals_;
210 QCheckBox* saveVertexNormals_;
211 QCheckBox* saveVertexTexCoords_;
212 QLabel* savePrecisionLabel_;
213 QSpinBox* savePrecision_;
214 QPushButton* saveDefaultButton_;
218 unsigned int userWriteOptions_;
234 template <
typename MeshT>
245 template <
typename MeshT>
256 template <
typename MeshT>
267 template <
typename MeshT>
278 template <
typename MeshT>
289 template <
typename MeshT>
302 template <
typename MeshT>
310 template <
typename MeshT>
318 template <
typename MeshT>
326 template <
typename MeshT>
336 template <
typename MeshT>
346 template <
typename MeshT>
354 template <
typename MeshT>
363 template<
class MeshT >
454 int addFace(
TriMesh*& _mesh,
const std::vector<quint32>& _indices);
476 int addFace(
TriMesh*& _mesh, quint32 _index1, quint32 _index2, quint32 _index3);
488 int addFace(
PolyMesh*& _mesh, quint32 _index1, quint32 _index2, quint32 _index3);
598#if defined(ENABLE_HEXAHEDRALMESH_SUPPORT) || defined(ENABLE_POLYHEDRALMESH_SUPPORT) || defined(ENABLE_TETRAHEDRALMESH_SUPPORT)
607 template <
typename MeshT>
608 int addTetraCellToOpenVolumeMesh(
MeshT _mesh, std::vector<quint32> _indices);
618 template <
typename MeshT>
619 int addHexaCellToOpenVolumeMesh(
MeshT _mesh, std::vector<quint32> _indices);
629 template <
typename MeshT>
630 int addWedgeCellToOpenVolumeMesh(
MeshT _mesh, std::vector<quint32> _indices);
640 template <
typename MeshT>
641 int addPyramidCellToOpenVolumeMesh(
MeshT _mesh, std::vector<quint32> _indices);
651 template <
typename MeshT>
652 int addFaceToOpenVolumeMesh(
MeshT*& _mesh, std::vector<quint32> indices);
664 template <
typename MeshT>
665 int addFaceToOpenVolumeMesh(
MeshT*& _mesh, quint32 _index1, quint32 _index2, quint32 _index3);
674 template <
typename MeshT>
684 template <
typename MeshT>
693 template<
class MeshT >
694 bool writeASCIIDataOfOpenVolumeMesh(std::ostream& _out,
MeshT& _mesh );
697#ifdef ENABLE_HEXAHEDRALMESH_SUPPORT
820#ifdef ENABLE_POLYHEDRALMESH_SUPPORT
943#ifdef ENABLE_TETRAHEDRALMESH_SUPPORT
1070 BMT_PolyMesh = 1 << 1,
1071 BMT_HexahedralMesh = 1 << 2,
1072 BMT_PolyhedralMesh = 1 << 3,
1073 BMT_TetrahedralMesh = 1 << 4
1079 template <
typename MeshT>
1080 bool loadMesh(QTextStream& _stream,
MeshT*& _mesh, Dataset _type);
1088 template <
typename MeshT>
1098 template <
typename MeshT>
1109 template <
typename MeshT>
1120 template <
typename MeshT>
1131 template <
typename MeshT>
1142 template <
typename MeshT>
1143 bool loadMeshCells(QString _spec,QTextStream& _in,
MeshT*& _mesh, std::vector<CellType>& _cells);
1155 template <
typename MeshT>
1156 bool loadMeshNormals(QString _spec,QTextStream& _in,
MeshT*& _mesh, std::vector<CellType>& _cells,
bool _pointNormal, quint32 _count);
1164 template<
class MeshT >