Skip to content
Snippets Groups Projects
Commit 50dbd8c1 authored by Akash Anand's avatar Akash Anand
Browse files

FM IO

parent b60cc3bb
Branches
Tags
No related merge requests found
...@@ -562,66 +562,7 @@ void compute_cb(Fl_Widget *w, void *data) ...@@ -562,66 +562,7 @@ void compute_cb(Fl_Widget *w, void *data)
e->hardEdges[3]->value()); e->hardEdges[3]->value());
patchL->SetMinU(-0.35); patchL->SetMinU(-0.35);
patchL->SetMaxU(0.35); patchL->SetMaxU(0.35);
makeGFace(patchL);
double LL[2], LR[2], UL[2], UR[2];
LL[0] = 0.0; LL[1] = 0.0;
LR[0] = 1.0; LR[1] = 0.0;
UL[0] = 0.0; UL[1] = 1.0;
UR[0] = 1.0; UR[1] = 1.0;
int i1, i2;
double xx,yy,zz;
int tagVertex = GMODEL->numVertex();
patchL->F(LL[0],LL[1],xx,yy,zz);
FM_Vertex* vLLL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLLL->GetTag(),vLLL));
patchL->F(LR[0],LR[1],xx,yy,zz);
FM_Vertex* vLLR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLLR->GetTag(),vLLR));
patchL->F(UL[0],UL[1],xx,yy,zz);
FM_Vertex* vLUL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLUL->GetTag(),vLUL));
patchL->F(UR[0],UR[1],xx,yy,zz);
FM_Vertex* vLUR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLUR->GetTag(),vLUR));
Curve* curveLB = new FCurve(0,patchL,LL,LR);
Curve* curveLR = new FCurve(0,patchL,LR,UR);
Curve* curveLT = new FCurve(0,patchL,UR,UL);
Curve* curveLL = new FCurve(0,patchL,UL,LL);
int tagEdge = GMODEL->numEdge();
FM_Edge* eLB = new FM_Edge(++tagEdge,curveLB,vLLL,vLLR);
i1 = eLB->GetStartPoint()->GetTag();
i2 = eLB->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLB,eLB->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eLR = new FM_Edge(++tagEdge,curveLR,vLLR,vLUR);
i1 = eLR->GetStartPoint()->GetTag();
i2 = eLR->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLR,eLR->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eLT = new FM_Edge(++tagEdge,curveLT,vLUR,vLUL);
i1 = eLT->GetStartPoint()->GetTag();
i2 = eLT->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLT,eLT->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eLL = new FM_Edge(++tagEdge,curveLL,vLUL,vLLL);
i1 = eLL->GetStartPoint()->GetTag();
i2 = eLL->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLL,eLL->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Face* faceL = new FM_Face(GMODEL->numFace() + 1,patchL);
faceL->AddEdge(eLB); faceL->AddEdge(eLR);
faceL->AddEdge(eLT); faceL->AddEdge(eLL);
std::list<GEdge*> l_edgesL;
for (int j=0;j<faceL->GetNumEdges();j++) {
int tag = faceL->GetEdge(j)->GetTag();
l_edgesL.push_back(GMODEL->edgeByTag(tag));
}
GMODEL->add(new FFace(GMODEL,faceL,faceL->GetTag(),l_edgesL));
Patch* patchR = Patch* patchR =
new FPatch(0,ps->clone(),u,v,f,3,(int)(e->modes[0]->value()), new FPatch(0,ps->clone(),u,v,f,3,(int)(e->modes[0]->value()),
...@@ -631,57 +572,7 @@ void compute_cb(Fl_Widget *w, void *data) ...@@ -631,57 +572,7 @@ void compute_cb(Fl_Widget *w, void *data)
e->hardEdges[3]->value()); e->hardEdges[3]->value());
patchR->SetMinU(0.15); patchR->SetMinU(0.15);
patchR->SetMaxU(0.85); patchR->SetMaxU(0.85);
makeGFace(patchR);
tagVertex = GMODEL->numVertex();
patchR->F(LL[0],LL[1],xx,yy,zz);
FM_Vertex* vRLL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRLL->GetTag(),vRLL));
patchR->F(LR[0],LR[1],xx,yy,zz);
FM_Vertex* vRLR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRLR->GetTag(),vRLR));
patchR->F(UL[0],UL[1],xx,yy,zz);
FM_Vertex* vRUL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRUL->GetTag(),vRUL));
patchR->F(UR[0],UR[1],xx,yy,zz);
FM_Vertex* vRUR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRUR->GetTag(),vRUR));
Curve* curveRB = new FCurve(0,patchR,LL,LR);
Curve* curveRR = new FCurve(0,patchR,LR,UR);
Curve* curveRT = new FCurve(0,patchR,UR,UL);
Curve* curveRL = new FCurve(0,patchR,UL,LL);
tagEdge = GMODEL->numEdge();
FM_Edge* eRB = new FM_Edge(++tagEdge,curveRB,vRLL,vRLR);
i1 = eRB->GetStartPoint()->GetTag();
i2 = eRB->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRB,eRB->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eRR = new FM_Edge(++tagEdge,curveRR,vRLR,vRUR);
i1 = eRR->GetStartPoint()->GetTag();
i2 = eRR->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRR,eRR->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eRT = new FM_Edge(++tagEdge,curveRT,vRUR,vRUL);
i1 = eRT->GetStartPoint()->GetTag();
i2 = eRT->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRT,eRT->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eRL = new FM_Edge(++tagEdge,curveRL,vRUL,vRLL);
i1 = eRL->GetStartPoint()->GetTag();
i2 = eRL->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRL,eRL->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Face* faceR = new FM_Face(GMODEL->numFace() + 1,patchR);
faceR->AddEdge(eRB); faceR->AddEdge(eRR);
faceR->AddEdge(eRT); faceR->AddEdge(eRL);
std::list<GEdge*> l_edgesR;
for (int j=0;j<faceR->GetNumEdges();j++) {
int tag = faceR->GetEdge(j)->GetTag();
l_edgesR.push_back(GMODEL->edgeByTag(tag));
}
GMODEL->add(new FFace(GMODEL,faceR,faceR->GetTag(),l_edgesR));
} }
else if (ps->IsVPeriodic()) { else if (ps->IsVPeriodic()) {
Patch* patchL = Patch* patchL =
...@@ -692,66 +583,7 @@ void compute_cb(Fl_Widget *w, void *data) ...@@ -692,66 +583,7 @@ void compute_cb(Fl_Widget *w, void *data)
e->hardEdges[3]->value()); e->hardEdges[3]->value());
patchL->SetMinV(-0.35); patchL->SetMinV(-0.35);
patchL->SetMaxV(0.35); patchL->SetMaxV(0.35);
makeGFace(patchL);
double LL[2], LR[2], UL[2], UR[2];
LL[0] = 0.0; LL[1] = 0.0;
LR[0] = 1.0; LR[1] = 0.0;
UL[0] = 0.0; UL[1] = 1.0;
UR[0] = 1.0; UR[1] = 1.0;
int i1, i2;
double xx,yy,zz;
int tagVertex = GMODEL->numVertex();
patchL->F(LL[0],LL[1],xx,yy,zz);
FM_Vertex* vLLL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLLL->GetTag(),vLLL));
patchL->F(LR[0],LR[1],xx,yy,zz);
FM_Vertex* vLLR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLLR->GetTag(),vLLR));
patchL->F(UL[0],UL[1],xx,yy,zz);
FM_Vertex* vLUL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLUL->GetTag(),vLUL));
patchL->F(UR[0],UR[1],xx,yy,zz);
FM_Vertex* vLUR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLUR->GetTag(),vLUR));
Curve* curveLB = new FCurve(0,patchL,LL,LR);
Curve* curveLR = new FCurve(0,patchL,LR,UR);
Curve* curveLT = new FCurve(0,patchL,UR,UL);
Curve* curveLL = new FCurve(0,patchL,UL,LL);
int tagEdge = GMODEL->numEdge();
FM_Edge* eLB = new FM_Edge(++tagEdge,curveLB,vLLL,vLLR);
i1 = eLB->GetStartPoint()->GetTag();
i2 = eLB->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLB,eLB->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eLR = new FM_Edge(++tagEdge,curveLR,vLLR,vLUR);
i1 = eLR->GetStartPoint()->GetTag();
i2 = eLR->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLR,eLR->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eLT = new FM_Edge(++tagEdge,curveLT,vLUR,vLUL);
i1 = eLT->GetStartPoint()->GetTag();
i2 = eLT->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLT,eLT->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eLL = new FM_Edge(++tagEdge,curveLL,vLUL,vLLL);
i1 = eLL->GetStartPoint()->GetTag();
i2 = eLL->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eLL,eLL->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Face* faceL = new FM_Face(GMODEL->numFace() + 1,patchL);
faceL->AddEdge(eLB); faceL->AddEdge(eLR);
faceL->AddEdge(eLT); faceL->AddEdge(eLL);
std::list<GEdge*> l_edgesL;
for (int j=0;j<faceL->GetNumEdges();j++) {
int tag = faceL->GetEdge(j)->GetTag();
l_edgesL.push_back(GMODEL->edgeByTag(tag));
}
GMODEL->add(new FFace(GMODEL,faceL,faceL->GetTag(),l_edgesL));
Patch* patchR = Patch* patchR =
new FPatch(0,ps->clone(),u,v,f,3,(int)(e->modes[0]->value()), new FPatch(0,ps->clone(),u,v,f,3,(int)(e->modes[0]->value()),
...@@ -761,57 +593,7 @@ void compute_cb(Fl_Widget *w, void *data) ...@@ -761,57 +593,7 @@ void compute_cb(Fl_Widget *w, void *data)
e->hardEdges[3]->value()); e->hardEdges[3]->value());
patchR->SetMinV(0.15); patchR->SetMinV(0.15);
patchR->SetMaxV(0.85); patchR->SetMaxV(0.85);
makeGFace(patchR);
tagVertex = GMODEL->numVertex();
patchR->F(LL[0],LL[1],xx,yy,zz);
FM_Vertex* vRLL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRLL->GetTag(),vRLL));
patchR->F(LR[0],LR[1],xx,yy,zz);
FM_Vertex* vRLR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRLR->GetTag(),vRLR));
patchR->F(UL[0],UL[1],xx,yy,zz);
FM_Vertex* vRUL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRUL->GetTag(),vRUL));
patchR->F(UR[0],UR[1],xx,yy,zz);
FM_Vertex* vRUR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vRUR->GetTag(),vRUR));
Curve* curveRB = new FCurve(0,patchR,LL,LR);
Curve* curveRR = new FCurve(0,patchR,LR,UR);
Curve* curveRT = new FCurve(0,patchR,UR,UL);
Curve* curveRL = new FCurve(0,patchR,UL,LL);
tagEdge = GMODEL->numEdge();
FM_Edge* eRB = new FM_Edge(++tagEdge,curveRB,vRLL,vRLR);
i1 = eRB->GetStartPoint()->GetTag();
i2 = eRB->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRB,eRB->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eRR = new FM_Edge(++tagEdge,curveRR,vRLR,vRUR);
i1 = eRR->GetStartPoint()->GetTag();
i2 = eRR->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRR,eRR->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eRT = new FM_Edge(++tagEdge,curveRT,vRUR,vRUL);
i1 = eRT->GetStartPoint()->GetTag();
i2 = eRT->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRT,eRT->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eRL = new FM_Edge(++tagEdge,curveRL,vRUL,vRLL);
i1 = eRL->GetStartPoint()->GetTag();
i2 = eRL->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eRL,eRL->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Face* faceR = new FM_Face(GMODEL->numFace() + 1,patchR);
faceR->AddEdge(eRB); faceR->AddEdge(eRR);
faceR->AddEdge(eRT); faceR->AddEdge(eRL);
std::list<GEdge*> l_edgesR;
for (int j=0;j<faceR->GetNumEdges();j++) {
int tag = faceR->GetEdge(j)->GetTag();
l_edgesR.push_back(GMODEL->edgeByTag(tag));
}
GMODEL->add(new FFace(GMODEL,faceR,faceR->GetTag(),l_edgesR));
} }
else { else {
Patch* patch = Patch* patch =
...@@ -820,66 +602,7 @@ void compute_cb(Fl_Widget *w, void *data) ...@@ -820,66 +602,7 @@ void compute_cb(Fl_Widget *w, void *data)
(int)(e->modes[3]->value()), e->hardEdges[0]->value(), (int)(e->modes[3]->value()), e->hardEdges[0]->value(),
e->hardEdges[1]->value(), e->hardEdges[2]->value(), e->hardEdges[1]->value(), e->hardEdges[2]->value(),
e->hardEdges[3]->value()); e->hardEdges[3]->value());
makeGFace(patch);
double LL[2], LR[2], UL[2], UR[2];
LL[0] = 0.0; LL[1] = 0.0;
LR[0] = 1.0; LR[1] = 0.0;
UL[0] = 0.0; UL[1] = 1.0;
UR[0] = 1.0; UR[1] = 1.0;
int i1, i2;
double xx,yy,zz;
int tagVertex = GMODEL->numVertex();
patch->F(LL[0],LL[1],xx,yy,zz);
FM_Vertex* vLL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLL->GetTag(),vLL));
patch->F(LR[0],LR[1],xx,yy,zz);
FM_Vertex* vLR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLR->GetTag(),vLR));
patch->F(UL[0],UL[1],xx,yy,zz);
FM_Vertex* vUL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vUL->GetTag(),vUL));
patch->F(UR[0],UR[1],xx,yy,zz);
FM_Vertex* vUR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vUR->GetTag(),vUR));
Curve* curveB = new FCurve(0,patch,LL,LR);
Curve* curveR = new FCurve(0,patch,LR,UR);
Curve* curveT = new FCurve(0,patch,UR,UL);
Curve* curveL = new FCurve(0,patch,UL,LL);
int tagEdge = GMODEL->numEdge();
FM_Edge* eB = new FM_Edge(++tagEdge,curveB,vLL,vLR);
i1 = eB->GetStartPoint()->GetTag();
i2 = eB->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eB,eB->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eR = new FM_Edge(++tagEdge,curveR,vLR,vUR);
i1 = eR->GetStartPoint()->GetTag();
i2 = eR->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eR,eR->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eT = new FM_Edge(++tagEdge,curveT,vUR,vUL);
i1 = eT->GetStartPoint()->GetTag();
i2 = eT->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eT,eT->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eL = new FM_Edge(++tagEdge,curveL,vUL,vLL);
i1 = eL->GetStartPoint()->GetTag();
i2 = eL->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eL,eL->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Face* face = new FM_Face(GMODEL->numFace() + 1,patch);
face->AddEdge(eB); face->AddEdge(eR);
face->AddEdge(eT); face->AddEdge(eL);
std::list<GEdge*> l_edges;
for (int j=0;j<face->GetNumEdges();j++) {
int tag = face->GetEdge(j)->GetTag();
l_edges.push_back(GMODEL->edgeByTag(tag));
}
GMODEL->add(new FFace(GMODEL,face,face->GetTag(),l_edges));
} }
} }
...@@ -909,6 +632,9 @@ void compute_cb(Fl_Widget *w, void *data) ...@@ -909,6 +632,9 @@ void compute_cb(Fl_Widget *w, void *data)
fclose(fp); fclose(fp);
FM_Reader* reader = new FM_Reader(filename); FM_Reader* reader = new FM_Reader(filename);
for (int i = 0; i < reader->GetNumPatches(); i++)
makeGFace(reader->GetPatch(i));
// End Test // End Test
Draw(); Draw();
...@@ -1001,6 +727,69 @@ void mesh_parameterize_cb(Fl_Widget* w, void* data) ...@@ -1001,6 +727,69 @@ void mesh_parameterize_cb(Fl_Widget* w, void* data)
editor->show(); editor->show();
} }
void makeGFace(Patch* patch)
{
double LL[2], LR[2], UL[2], UR[2];
LL[0] = 0.0; LL[1] = 0.0;
LR[0] = 1.0; LR[1] = 0.0;
UL[0] = 0.0; UL[1] = 1.0;
UR[0] = 1.0; UR[1] = 1.0;
int i1, i2;
double xx,yy,zz;
int tagVertex = GMODEL->numVertex();
patch->F(LL[0],LL[1],xx,yy,zz);
FM_Vertex* vLL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLL->GetTag(),vLL));
patch->F(LR[0],LR[1],xx,yy,zz);
FM_Vertex* vLR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vLR->GetTag(),vLR));
patch->F(UL[0],UL[1],xx,yy,zz);
FM_Vertex* vUL = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vUL->GetTag(),vUL));
patch->F(UR[0],UR[1],xx,yy,zz);
FM_Vertex* vUR = new FM_Vertex(++tagVertex,xx,yy,zz);
GMODEL->add(new FVertex(GMODEL,vUR->GetTag(),vUR));
Curve* curveB = new FCurve(0,patch,LL,LR);
Curve* curveR = new FCurve(0,patch,LR,UR);
Curve* curveT = new FCurve(0,patch,UR,UL);
Curve* curveL = new FCurve(0,patch,UL,LL);
int tagEdge = GMODEL->numEdge();
FM_Edge* eB = new FM_Edge(++tagEdge,curveB,vLL,vLR);
i1 = eB->GetStartPoint()->GetTag();
i2 = eB->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eB,eB->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eR = new FM_Edge(++tagEdge,curveR,vLR,vUR);
i1 = eR->GetStartPoint()->GetTag();
i2 = eR->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eR,eR->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eT = new FM_Edge(++tagEdge,curveT,vUR,vUL);
i1 = eT->GetStartPoint()->GetTag();
i2 = eT->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eT,eT->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Edge* eL = new FM_Edge(++tagEdge,curveL,vUL,vLL);
i1 = eL->GetStartPoint()->GetTag();
i2 = eL->GetEndPoint()->GetTag();
GMODEL->add(new FEdge(GMODEL,eL,eL->GetTag(),GMODEL->vertexByTag(i1),
GMODEL->vertexByTag(i2)));
FM_Face* face = new FM_Face(GMODEL->numFace() + 1,patch);
face->AddEdge(eB); face->AddEdge(eR);
face->AddEdge(eT); face->AddEdge(eL);
std::list<GEdge*> l_edges;
for (int j=0;j<face->GetNumEdges();j++) {
int tag = face->GetEdge(j)->GetTag();
l_edges.push_back(GMODEL->edgeByTag(tag));
}
GMODEL->add(new FFace(GMODEL,face,face->GetTag(),l_edges));
}
#else #else
void mesh_parameterize_cb(Fl_Widget* w, void* data) void mesh_parameterize_cb(Fl_Widget* w, void* data)
......
...@@ -36,6 +36,8 @@ void save_cb(Fl_Widget *w, void *data); ...@@ -36,6 +36,8 @@ void save_cb(Fl_Widget *w, void *data);
void compute_cb(Fl_Widget *w, void *data); void compute_cb(Fl_Widget *w, void *data);
void action_cb(Fl_Widget *w, void *data); void action_cb(Fl_Widget *w, void *data);
void makeGFace(Patch* patch);
class uvPlot : public Fl_Window { class uvPlot : public Fl_Window {
private: private:
std::vector<double> _u, _v, _dist; std::vector<double> _u, _v, _dist;
......
...@@ -264,7 +264,7 @@ ContinuationPatch::ContinuationPatch ...@@ -264,7 +264,7 @@ ContinuationPatch::ContinuationPatch
} }
else { else {
for (int j = 0; j < _uM; j++) { for (int j = 0; j < _uM; j++) {
for (int k = 0; k < _vModes; k++) { for (int k = 0; k < _vM; k++) {
_coeffData[j][k] = _PI->coeffCheby[j][k]; _coeffData[j][k] = _PI->coeffCheby[j][k];
_coeffDerivU[j][k] = _PI->coeffDerivU[j][k]; _coeffDerivU[j][k] = _PI->coeffDerivU[j][k];
_coeffDerivV[j][k] = _PI->coeffDerivV[j][k]; _coeffDerivV[j][k] = _PI->coeffDerivV[j][k];
......
...@@ -19,34 +19,25 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -19,34 +19,25 @@ FM_Reader::FM_Reader(const char* fn)
} }
InputFile >> _nPatches; InputFile >> _nPatches;
_ps.resize(_nPatches, 0); _ps.resize(_nPatches, 0);
std::cout << "npatches = " << _nPatches << std::endl;
for (unsigned int i = 0; i < _nPatches; i++) { for (unsigned int i = 0; i < _nPatches; i++) {
char psName[32]; char psName[32];
InputFile >> psName; InputFile >> psName;
std::cout << "psName = " << psName << std::endl;
int psTag; int psTag;
InputFile >> psTag; InputFile >> psTag;
std::cout << "psTag = " << psTag << std::endl;
double origin[3]; double origin[3];
InputFile >> origin[0] >> origin[1] >> origin[2]; InputFile >> origin[0] >> origin[1] >> origin[2];
std::cout << "o = "<<origin[0]<<" "<<origin[1]<<" "<<origin[2]<<std::endl;
double E0[3]; double E0[3];
InputFile >> E0[0] >> E0[1] >> E0[2]; InputFile >> E0[0] >> E0[1] >> E0[2];
std::cout << "E0 = " << E0[0] <<" "<< E0[1] <<" "<< E0[2] << std::endl;
double E1[3]; double E1[3];
InputFile >> E1[0] >> E1[1] >> E1[2]; InputFile >> E1[0] >> E1[1] >> E1[2];
std::cout << "E1 = " << E1[0] <<" "<< E1[1] <<" "<< E1[2] << std::endl;
double scale[3]; double scale[3];
InputFile >> scale[0] >> scale[1] >> scale[2]; InputFile >> scale[0] >> scale[1] >> scale[2];
std::cout << "s = " <<scale[0]<<" "<< scale[1]<<" "<<scale[2]<<std::endl;
int psNumParams; int psNumParams;
InputFile >> psNumParams; InputFile >> psNumParams;
std::cout << "psNumParams = " << psNumParams << std::endl;
double *psParams = new double [psNumParams]; double *psParams = new double [psNumParams];
for (unsigned int j = 0; j < psNumParams; j++) { for (unsigned int j = 0; j < psNumParams; j++) {
double tmp; double tmp;
InputFile >> psParams[j]; InputFile >> psParams[j];
std::cout << "psParams[" << j << "] = " << psParams[j] << std::endl;
} }
if (!strcmp(psName,plane)) if (!strcmp(psName,plane))
_ps[i] = new PlaneProjectionSurface(psTag,origin,E0,E1,scale); _ps[i] = new PlaneProjectionSurface(psTag,origin,E0,E1,scale);
...@@ -63,14 +54,9 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -63,14 +54,9 @@ FM_Reader::FM_Reader(const char* fn)
double R = psParams[0]; double R = psParams[0];
double K[2]; double K[2];
K[0] = psParams[1]; K[1] = psParams[2]; K[0] = psParams[1]; K[1] = psParams[2];
printf("%d :: P : %g %g %g\n",i,R,K[0],K[1]);
printf("%d :: O : %g %g %g\n",i,origin[0],origin[1],origin[2]);
printf("%d :: E0 : %g %g %g\n",i,E0[0],E0[1],E0[2]);
printf("%d :: E1 : %g %g %g\n",i,E1[0],E1[1],E1[2]);
printf("%d :: s : %g %g %g\n",i,scale[0],scale[1],scale[2]);
_ps[i] = new RevolvedParabolaProjectionSurface _ps[i] = new RevolvedParabolaProjectionSurface
(psTag,origin,E0,E1,scale,R,K); (psTag,origin,E0,E1,scale,R,K);
printf("%d : here :: %g %g\n",i,K[0],K[1]);
} }
else { else {
_ps[i] = new CylindricalProjectionSurface(psTag,origin,E0,E1,scale); _ps[i] = new CylindricalProjectionSurface(psTag,origin,E0,E1,scale);
...@@ -78,27 +64,15 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -78,27 +64,15 @@ FM_Reader::FM_Reader(const char* fn)
} }
delete [] psParams; delete [] psParams;
InputFile >> psName; InputFile >> psName;
std::cout << "psName = " << psName << std::endl;
_patchList.push_back(new PatchInfo); _patchList.push_back(new PatchInfo);
InputFile >> _patchList[i]->tag; InputFile >> _patchList[i]->tag;
std::cout << "pTag = " << _patchList[i]->tag << std::endl;
InputFile >> _patchList[i]->derivative; InputFile >> _patchList[i]->derivative;
std::cout << "pDerivative = " << _patchList[i]->derivative << std::endl;
InputFile >> _patchList[i]->uMin >> _patchList[i]->uMax; InputFile >> _patchList[i]->uMin >> _patchList[i]->uMax;
std::cout <<"uLim = "<<_patchList[i]->uMin<<" "<<_patchList[i]->uMax <<
std::endl;
InputFile >> _patchList[i]->vMin >> _patchList[i]->vMax; InputFile >> _patchList[i]->vMin >> _patchList[i]->vMax;
std::cout <<"vLim = "<<_patchList[i]->vMin<<" "<<_patchList[i]->vMax <<
std::endl;
if (strcmp(psName,Exact)) { if (strcmp(psName,Exact)) {
InputFile >> _patchList[i]->hardEdge[0] >> _patchList[i]->hardEdge[1] >> InputFile >> _patchList[i]->hardEdge[0] >> _patchList[i]->hardEdge[1] >>
_patchList[i]->hardEdge[2] >> _patchList[i]->hardEdge[3]; _patchList[i]->hardEdge[2] >> _patchList[i]->hardEdge[3];
std::cout<<"HE : "<< _patchList[i]->hardEdge[0] << " " <<
_patchList[i]->hardEdge[1] << " " << _patchList[i]->hardEdge[2]
<< " " << _patchList[i]->hardEdge[3] << std::endl;
InputFile >> _patchList[i]->nModes[0] >> _patchList[i]->nModes[1]; InputFile >> _patchList[i]->nModes[0] >> _patchList[i]->nModes[1];
std::cout <<"Modes = "<<_patchList[i]->nModes[0] << " " <<
_patchList[i]->nModes[1] << std::endl;
_patchList[i]->coeffFourier.resize(_patchList[i]->nModes[0]); _patchList[i]->coeffFourier.resize(_patchList[i]->nModes[0]);
for (int j=0;j<_patchList[i]->nModes[0];j++) { for (int j=0;j<_patchList[i]->nModes[0];j++) {
_patchList[i]->coeffFourier[j].resize(_patchList[i]->nModes[1]); _patchList[i]->coeffFourier[j].resize(_patchList[i]->nModes[1]);
...@@ -107,14 +81,10 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -107,14 +81,10 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffFourier[j][k] = _patchList[i]->coeffFourier[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
InputFile >> _patchList[i]->nM[0] >> _patchList[i]->nM[1]; InputFile >> _patchList[i]->nM[0] >> _patchList[i]->nM[1];
std::cout <<"M = "<<_patchList[i]->nM[0] << " " <<
_patchList[i]->nM[1] << std::endl;
InputFile >> _patchList[i]->recompute; InputFile >> _patchList[i]->recompute;
std::cout << "pRecompute = " << _patchList[i]->recompute << std::endl;
if ((_patchList[i]->derivative) && (!_patchList[i]->recompute)) { if ((_patchList[i]->derivative) && (!_patchList[i]->recompute)) {
_patchList[i]->coeffCheby.resize(_patchList[i]->nM[0]); _patchList[i]->coeffCheby.resize(_patchList[i]->nM[0]);
for (int j=0;j<_patchList[i]->nM[0];j++) { for (int j=0;j<_patchList[i]->nM[0];j++) {
...@@ -124,7 +94,6 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -124,7 +94,6 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffCheby[j][k] = _patchList[i]->coeffCheby[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
_patchList[i]->coeffDerivU.resize(_patchList[i]->nM[0]); _patchList[i]->coeffDerivU.resize(_patchList[i]->nM[0]);
...@@ -135,7 +104,6 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -135,7 +104,6 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffDerivU[j][k] = _patchList[i]->coeffDerivU[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
_patchList[i]->coeffDerivV.resize(_patchList[i]->nM[0]); _patchList[i]->coeffDerivV.resize(_patchList[i]->nM[0]);
...@@ -146,7 +114,6 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -146,7 +114,6 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffDerivV[j][k] = _patchList[i]->coeffDerivV[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
_patchList[i]->coeffDerivUU.resize(_patchList[i]->nM[0]); _patchList[i]->coeffDerivUU.resize(_patchList[i]->nM[0]);
...@@ -157,7 +124,6 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -157,7 +124,6 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffDerivUU[j][k] = _patchList[i]->coeffDerivUU[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
_patchList[i]->coeffDerivUV.resize(_patchList[i]->nM[0]); _patchList[i]->coeffDerivUV.resize(_patchList[i]->nM[0]);
...@@ -168,7 +134,6 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -168,7 +134,6 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffDerivUV[j][k] = _patchList[i]->coeffDerivUV[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
_patchList[i]->coeffDerivVV.resize(_patchList[i]->nM[0]); _patchList[i]->coeffDerivVV.resize(_patchList[i]->nM[0]);
...@@ -179,7 +144,6 @@ FM_Reader::FM_Reader(const char* fn) ...@@ -179,7 +144,6 @@ FM_Reader::FM_Reader(const char* fn)
InputFile >> realCoeff >> imagCoeff; InputFile >> realCoeff >> imagCoeff;
_patchList[i]->coeffDerivVV[j][k] = _patchList[i]->coeffDerivVV[j][k] =
std::complex<double>(realCoeff,imagCoeff); std::complex<double>(realCoeff,imagCoeff);
std::cout << realCoeff << " " << imagCoeff << std::endl;
} }
} }
} }
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
ProjectionSurface::ProjectionSurface ProjectionSurface::ProjectionSurface
(double uPeriod, double vPeriod) (double uPeriod, double vPeriod)
{ {
printf("here in ProjectoionSufrace\n");
tag_ = -1; tag_ = -1;
name_ = std::string("default"); name_ = std::string("default");
numParameters_ = 0; numParameters_ = 0;
......
...@@ -26,8 +26,6 @@ RevolvedParabolaProjectionSurface::RevolvedParabolaProjectionSurface ...@@ -26,8 +26,6 @@ RevolvedParabolaProjectionSurface::RevolvedParabolaProjectionSurface
(int tag, double O[3], double E0[3], double E1[3], double scale[3], (int tag, double O[3], double E0[3], double E1[3], double scale[3],
double R, double K[2]) : ProjectionSurface(1.) double R, double K[2]) : ProjectionSurface(1.)
{ {
printf("here\n");
SetTag(tag); SetTag(tag);
SetName(std::string("revolvedParabola")); SetName(std::string("revolvedParabola"));
...@@ -46,12 +44,6 @@ RevolvedParabolaProjectionSurface::RevolvedParabolaProjectionSurface ...@@ -46,12 +44,6 @@ RevolvedParabolaProjectionSurface::RevolvedParabolaProjectionSurface
E2_[2] = E0_[0] * E1_[1] - E0_[1] * E1_[0]; E2_[2] = E0_[0] * E1_[1] - E0_[1] * E1_[0];
scale_[0] = scale[0]; scale_[1] = scale[1]; scale_[2] = scale[2]; scale_[0] = scale[0]; scale_[1] = scale[1]; scale_[2] = scale[2];
printf("P : %g %g %g\n",R_,K_[0],K_[1]);
printf("O : %g %g %g\n",O_[0],O_[1],O_[2]);
printf("E0 : %g %g %g\n",E0_[0],E0_[1],E0_[2]);
printf("E1 : %g %g %g\n",E1_[0],E1_[1],E1_[2]);
printf("s : %g %g %g\n",scale_[0],scale_[1],scale_[2]);
} }
void RevolvedParabolaProjectionSurface::F void RevolvedParabolaProjectionSurface::F
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment