104
104
using namespace std;
105
105
using namespace vcg;
107
bool ColladaIOPlugin::open(const QString &formatName, const QString &fileName, MeshModel &m, int& mask, const FilterParameterSet &, CallBackPos *cb, QWidget *parent)
107
bool ColladaIOPlugin::open(const QString &formatName, const QString &fileName, MeshModel &m, int& mask, const RichParameterSet &, CallBackPos *cb, QWidget *parent)
109
109
// initializing mask
156
void ColladaIOPlugin::initPreOpenParameter(const QString &/*format*/, const QString &filename, FilterParameterSet & parlst)
156
void ColladaIOPlugin::initPreOpenParameter(const QString &/*format*/, const QString &filename, RichParameterSet & parlst)
178
178
idList.push_back(idVal);
179
179
qDebug("Node %i geom id = '%s'",i,qPrintable(idVal));
181
parlst.addEnum("geomnode", 0, idList, tr("geometry nodes"), tr("dsasdfads"));
181
parlst.addParam(new RichEnum("geomnode",0, idList, tr("geometry nodes"), tr("dsasdfads")));
182
182
qDebug("Time elapsed: %d ms", t.elapsed());
187
bool ColladaIOPlugin::save(const QString &formatName, const QString &fileName, MeshModel &m, const int mask, const FilterParameterSet &, vcg::CallBackPos *cb, QWidget *parent)
187
bool ColladaIOPlugin::save(const QString &formatName, const QString &fileName, MeshModel &m, const int mask, const RichParameterSet &, vcg::CallBackPos *cb, QWidget *parent)
189
189
QString errorMsgFormat = "Error encountered while exportering file %1:\n%2";
190
190
string filename = QFile::encodeName(fileName).constData ();
191
191
//std::string filename = fileName.toUtf8().data();
192
192
std::string ex = formatName.toUtf8().data();
194
tri::Allocator<CMeshO>::CompactVertexVector(m.cm);
195
tri::Allocator<CMeshO>::CompactFaceVector(m.cm);
195
196
// Collada exporting function do not manage very correctly the case
196
197
// of null texture index faces (e.g. faces that have no texture and have a default -1 tex index.
197
198
// so we convert it to a more standard mesh adding a fake notexture.png texture.
198
199
if(tri::HasPerWedgeTexCoord(m.cm))
199
200
tri::UpdateTexture<CMeshO>::WedgeTexRemoveNull(m.cm,"notexture.png");
201
202
//if (std::find(_mp.begin(),_mp.end(),&m) == _mp.end())
202
203
result = vcg::tri::io::ExporterDAE<CMeshO>::Save(m.cm,filename.c_str(),mask);