removed compiler errors

This commit is contained in:
Guido Ranzuglia granzuglia 2010-07-27 13:43:58 +00:00
parent 74d48f52e2
commit 219306f05d
3 changed files with 35 additions and 39 deletions

View File

@ -265,22 +265,21 @@ bool ExtraFilter_SlicePlugin::applyFilter(QAction *filter, MeshDocument &m, Rich
vcg::tri::UpdateTopology<CMeshO>::FaceFace(base->cm);
vcg::tri::UpdateNormals<CMeshO>::PerVertexPerFace(base->cm);
MeshModel *slice1= new MeshModel();
MeshModel *slice1= m.addNewMesh("slice");
//m.meshList.push_back(slice1);
QString layername;
slice1->setFileName("slice"); // mesh name
QString layername;
slice1->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
vcg::tri::UpdateSelection<CMeshO>::VertexFromQualityRange(base->cm,VERTEX_LEFT,VERTEX_LEFT);
vcg::tri::UpdateSelection<CMeshO>::FaceFromVertexLoose(base->cm);
createSlice(base,slice1);
vcg::tri::UpdateFlags<CMeshO>::FaceBorderFromNone(slice1->cm);
MeshModel* cap= new MeshModel();
m.meshList.push_back(cap);
cap->setFileName("plane"); // mesh name
MeshModel* cap= m.addNewMesh("plane");
//m.meshList.push_back(cap);
cap->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
capHole(slice1,cap);
delete slice1;
//delete slice1;
m.delMesh(slice1);
vcg::tri::UpdateTopology<CMeshO>::FaceFace(cap->cm);
vcg::tri::UpdateNormals<CMeshO>::PerVertexPerFace(cap->cm);
vcg::tri::UpdateBounding<CMeshO>::Box(cap->cm);
@ -296,7 +295,7 @@ bool ExtraFilter_SlicePlugin::applyFilter(QAction *filter, MeshDocument &m, Rich
if(parlst.getBool("capBase"))
{
MeshModel* cap= new MeshModel();
MeshModel* cap= m.addNewMesh("slices");
capHole(m.mm(),cap);
tri::Append<CMeshO,CMeshO>::Mesh(m.mm()->cm, cap->cm);
m.mm()->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
@ -372,10 +371,11 @@ bool ExtraFilter_SlicePlugin::applyFilter(QAction *filter, MeshDocument &m, Rich
vcg::tri::UpdateTopology<CMeshO>::FaceFace(base->cm);
vcg::tri::UpdateNormals<CMeshO>::PerVertexPerFace(base->cm);
MeshModel *slice1= new MeshModel();
m.meshList.push_back(slice1);
QString layername;
layername.sprintf("slice_%d-%d.ply",i,i+1);
MeshModel *slice1= m.addNewMesh(qPrintable(layername));
//m.meshList.push_back(slice1);
slice1->setFileName(layername); // mesh name
slice1->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
vcg::tri::UpdateSelection<CMeshO>::VertexFromQualityRange(base->cm,VERTEX_LEFT,VERTEX_LEFT);
@ -386,20 +386,21 @@ bool ExtraFilter_SlicePlugin::applyFilter(QAction *filter, MeshDocument &m, Rich
createSlice(base,slice1);
vcg::tri::UpdateFlags<CMeshO>::FaceBorderFromNone(slice1->cm);
MeshModel* cap= new MeshModel();
m.meshList.push_back(cap);
layername.sprintf("plane_%d.ply",i+1);
MeshModel* cap= m.addNewMesh(qPrintable(layername));
//m.meshList.push_back(cap);
cap->setFileName(layername); // mesh name
cap->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
capHole(slice1,cap);
if (eps!=0)
{
MeshModel* dup= new MeshModel();
m.meshList.push_back(dup);
layername.sprintf("plane_%d_extruded.ply",i+1);
MeshModel* dup= m.addNewMesh(qPrintable(layername));
//m.meshList.push_back(dup);
dup->setFileName(layername); // mesh name
dup->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
extrude(cap, dup, eps, planeAxis);
extrude(&m,cap, dup, eps, planeAxis);
}
if (hidePlanes)
cap->visible=false;
@ -410,9 +411,9 @@ bool ExtraFilter_SlicePlugin::applyFilter(QAction *filter, MeshDocument &m, Rich
vcg::tri::UpdateNormals<CMeshO>::PerVertexPerFace(slice1->cm);
vcg::tri::UpdateBounding<CMeshO>::Box(slice1->cm);
MeshModel* slice2= new MeshModel();
m.meshList.push_back(slice2);
layername.sprintf("slice_%d-%d.ply",i+1,i+2);
MeshModel* slice2= m.addNewMesh(qPrintable(layername));
//m.meshList.push_back(slice2);
slice2->setFileName(layername); // mesh name
slice2->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
vcg::tri::UpdateSelection<CMeshO>::VertexFromQualityRange(base->cm,VERTEX_RIGHT,VERTEX_RIGHT);
@ -468,7 +469,7 @@ bool ExtraFilter_SlicePlugin::applyFilter(QAction *filter, MeshDocument &m, Rich
return true;
}
void ExtraFilter_SlicePlugin::extrude(MeshModel* orig, MeshModel* dest, float eps, Point3f planeAxis)
void ExtraFilter_SlicePlugin::extrude(MeshDocument* doc,MeshModel* orig, MeshModel* dest, float eps, Point3f planeAxis)
{
tri::Append<CMeshO,CMeshO>::Mesh(dest->cm, orig->cm);
tri::UpdateTopology<CMeshO>::FaceFace(dest->cm);
@ -505,7 +506,7 @@ void ExtraFilter_SlicePlugin::extrude(MeshModel* orig, MeshModel* dest, float ep
}
if (nv<2) return;
//I have at least 3 vertexes
MeshModel* tempMesh= new MeshModel();
MeshModel* tempMesh= doc->addNewMesh("temp mesh");
tri::Append<CMeshO,CMeshO>::Mesh(tempMesh->cm, orig->cm);
for (int i=0;i<tempMesh->cm.vert.size();i++)
tempMesh->cm.vert[i].P()+=planeAxis*eps/2;
@ -513,7 +514,7 @@ void ExtraFilter_SlicePlugin::extrude(MeshModel* orig, MeshModel* dest, float ep
tri::Append<CMeshO,CMeshO>::Mesh(dest->cm, tempMesh->cm);
delete tempMesh;
//create the new mesh and the triangulation between the clones
tempMesh= new MeshModel();
tempMesh=doc->addNewMesh("temp mesh 2");
CMeshO::VertexIterator vi=vcg::tri::Allocator<CMeshO>::AddVertices(tempMesh->cm,2*nv);
//I have at least 6 vertexes
@ -592,7 +593,7 @@ bool ExtraFilter_SlicePlugin::autoDialog(QAction *action)
void ExtraFilter_SlicePlugin::createSlice(MeshModel* currentMesh, MeshModel* destMesh)
{
tri::Append<CMeshO,CMeshO>::Mesh(destMesh->cm, currentMesh->cm, true);
tri::Append<CMeshO,CMeshO>::Mesh(destMesh->cm, currentMesh->cm/*, true*/);
tri::UpdateTopology<CMeshO>::FaceFace(destMesh->cm);
tri::UpdateBounding<CMeshO>::Box(destMesh->cm); // updates bounding box
destMesh->cm.Tr = currentMesh->cm.Tr; // copy transformation

View File

@ -77,7 +77,7 @@ public:
virtual int getRequirements(QAction *){return MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER | MeshModel::MM_VERTFLAG | MeshModel::MM_VERTMARK | MeshModel::MM_VERTCOORD;}
static void capHole(MeshModel* orig, MeshModel* dest, int capDir=CAP_CW);
static void extrude(MeshModel* orig, MeshModel* dest, float eps, vcg::Point3f planeAxis);
static void extrude(MeshDocument* doc,MeshModel* orig, MeshModel* dest, float eps, vcg::Point3f planeAxis);
private:
SVGProperties pr;
void createSlice(MeshModel* orig,MeshModel* dest);

View File

@ -115,12 +115,10 @@ class KDTree
MeshModel *slice1= new MeshModel();
m->meshList.push_back(slice1);
QString layername;
layername=name+"L.ply";
slice1->setFileName(layername); // mesh name
QString layername;
layername=name+"L.ply";
MeshModel *slice1= m->addNewMesh(qPrintable(layername));
m->meshList.push_back(slice1); // mesh name
slice1->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
vcg::tri::UpdateSelection<CMeshO>::VertexFromQualityRange(mm->cm,VERTEX_LEFT,VERTEX_LEFT);
vcg::tri::UpdateSelection<CMeshO>::FaceFromVertexLoose(mm->cm);
@ -132,32 +130,29 @@ class KDTree
tri::UpdateBounding<CMeshO>::Box(slice1->cm); // updates bounding box
slice1->cm.Tr = (mm->cm).Tr; // copy transformation
vcg::tri::UpdateFlags<CMeshO>::FaceBorderFromNone(slice1->cm);
MeshModel* cap= new MeshModel();
m->meshList.push_back(cap);
layername=name+"_slice.ply";
cap->setFileName(layername);
MeshModel* cap= m->addNewMesh(qPrintable(layername));
m->meshList.push_back(cap);
cap->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
ExtraFilter_SlicePlugin::capHole(slice1,cap);
if (eps!=0)
{
MeshModel* dup= new MeshModel();
m->meshList.push_back(dup);
layername=name+"_extr.ply";
dup->setFileName(layername); // mesh name
MeshModel* dup = m->addNewMesh(qPrintable(layername));
m->meshList.push_back(dup);
dup->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
ExtraFilter_SlicePlugin::extrude(cap, dup, eps, planeAxis);
ExtraFilter_SlicePlugin::extrude(m,cap, dup, eps, planeAxis);
}
tri::Append<CMeshO,CMeshO>::Mesh(slice1->cm, cap->cm);
tri::Clean<CMeshO>::RemoveDuplicateVertex(slice1->cm);
vcg::tri::UpdateTopology<CMeshO>::FaceFace(slice1->cm);
vcg::tri::UpdateNormals<CMeshO>::PerVertexPerFace(slice1->cm);
MeshModel* slice2= new MeshModel();
m->meshList.push_back(slice2);
layername=name+"R.ply";
slice2->setFileName(layername); // mesh name
MeshModel* slice2= m->addNewMesh(qPrintable(layername));
m->meshList.push_back(slice2);
slice2->updateDataMask(MeshModel::MM_FACEFACETOPO | MeshModel::MM_FACEFLAGBORDER);
vcg::tri::UpdateSelection<CMeshO>::VertexFromQualityRange(mm->cm,VERTEX_RIGHT,VERTEX_RIGHT);
vcg::tri::UpdateSelection<CMeshO>::FaceFromVertexLoose(mm->cm);