Fixed code related to creation o fthe XML file
This commit is contained in:
parent
83eb240e34
commit
3f0170846e
|
@ -24,6 +24,9 @@
|
|||
History
|
||||
|
||||
$Log: not supported by cvs2svn $
|
||||
Revision 1.3 2005/09/28 13:57:09 rita_borgo
|
||||
Fixed some printout not alligned
|
||||
|
||||
Revision 1.2 2005/09/28 10:46:04 rita_borgo
|
||||
Added possibility of saving File in OFF format
|
||||
|
||||
|
@ -239,7 +242,7 @@ void main(int argc,char ** argv){
|
|||
|
||||
|
||||
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
doc.initializeMain(XML_SCHEMA_NAME);
|
||||
char* s1 = "http://www.w3.org/2001/XMLSchema-instance";
|
||||
char* s2 = new(char[50]);
|
||||
|
@ -249,6 +252,7 @@ void main(int argc,char ** argv){
|
|||
s2 = new(char[100]);
|
||||
sprintf(s2,"\"%s\"",s1);
|
||||
doc.addHeaders(" xsi:noNamespaceSchemaLocation=", s2);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
FILE * index;
|
||||
index = fopen((string(argv[1])+string("2.html")).c_str(),"w");
|
||||
|
@ -261,8 +265,9 @@ void main(int argc,char ** argv){
|
|||
printf(" M: '%s'\n\t Number of vertices: %d \n", argv[1], m.vn);
|
||||
printf("\t Number of faces: %d \n", m.fn);
|
||||
|
||||
//XML
|
||||
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
NodeGroup* ng = new NodeGroup;
|
||||
|
||||
char* s =new(char[25]);
|
||||
|
@ -292,6 +297,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
|
@ -301,6 +307,7 @@ void main(int argc,char ** argv){
|
|||
fprintf(index, "<p>Object color(4b): %f %f %f </p>\n\n", Color[0], Color[1], Color[2]);
|
||||
printf( "\t Object color(4b): %f %f %f \n", Color[0], Color[1], Color[2]);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -314,6 +321,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -352,6 +360,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index, "<p> Manifold: NO </p>");
|
||||
printf( "\t Manifold: NO\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -365,11 +375,14 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(index, "<p> Manifold: YES </p>");
|
||||
printf( "\t Manifold: YES\n ");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -383,6 +396,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
|
||||
|
||||
|
@ -435,6 +449,7 @@ void main(int argc,char ** argv){
|
|||
printf("\t Number of internal edges: %d \n", count_e-boundary_e);
|
||||
printf("\t Number of boundary edges: %i \n", boundary_e);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -448,6 +463,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
|
@ -459,6 +475,8 @@ void main(int argc,char ** argv){
|
|||
count_fd++;
|
||||
fprintf(index, "<p>Number of degenerated faces: %d </p>\n", count_fd);
|
||||
printf("\t Number of degenerated faces: %d \n", count_fd);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -472,6 +490,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
// UNREFERENCED VERTEX
|
||||
|
||||
|
@ -492,6 +511,8 @@ void main(int argc,char ** argv){
|
|||
++count_uv;
|
||||
fprintf(index,"<p>Number of unreferenced vertices: %d</p>\n",count_uv);
|
||||
printf("\t Number of unreferenced vertices: %d\n",count_uv);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -505,6 +526,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
|
||||
// HOLES COUNT
|
||||
|
@ -564,6 +586,8 @@ void main(int argc,char ** argv){
|
|||
numholes = holes.size();
|
||||
fprintf(index,"<p>Number of holes/boundaries: %d </p>\n", numholes);
|
||||
printf("\t Number of holes/boundaries: %d \n", numholes);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -577,6 +601,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
|
@ -589,6 +614,8 @@ void main(int argc,char ** argv){
|
|||
if(i==numholes-1){ printf("%i)\n",holes[i].size()); BEdges++;}
|
||||
else{ printf("%i, ",holes[i].size()); BEdges++;}
|
||||
}
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -601,6 +628,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -614,6 +642,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index,"<p>Volume: %d </p>\n", m.Volume());
|
||||
printf("\t Volume: %f \n", m.Volume());
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -627,6 +657,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -676,6 +707,8 @@ void main(int argc,char ** argv){
|
|||
int numcomponents = nrfaces.size();
|
||||
fprintf(index, "<p> Number of connected components: %d </p>", numcomponents);
|
||||
printf("\t Number of connected components: %d\n", numcomponents);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -689,6 +722,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
|
||||
//GENUS --> 2( #components - genus ) = #vertices + #faces - #edge - #boundary_loops = eulernumber - #holes
|
||||
//eulero = (mesh.vn-count_uv) - (count_e)+mesh.fn;
|
||||
|
@ -699,6 +733,8 @@ void main(int argc,char ** argv){
|
|||
int genus = -( 0.5 * (eulernumber - numholes) - numcomponents );
|
||||
fprintf(index, "<p> Genus: %d </p> \n ", genus);
|
||||
printf( "\t Genus: %d \n", genus);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -712,6 +748,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else //(!Manifold)
|
||||
{
|
||||
|
@ -766,6 +803,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index, "<p> Type of Mesh: REGULAR</p>");
|
||||
printf("\t Type of Mesh: REGULAR\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -779,6 +818,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else if (Semiregular)
|
||||
{
|
||||
|
@ -802,6 +842,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index, "<p> Type of Mesh: IRREGULAR</p>");
|
||||
printf("\t Type of Mesh: IRREGULAR\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -815,6 +857,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
// ORIENTABLE E ORIENTED MESH
|
||||
|
||||
|
@ -824,6 +867,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index, "<p> Orientable Mesh: NO</p>");
|
||||
printf( "\t Orientable Mesh: NO\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -837,6 +882,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -929,6 +975,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index, "<p> Orientable Mesh: YES</p>");
|
||||
printf( "\t Orientable Mesh: YES\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -942,11 +990,14 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(index, "<p> Orientable Mesh: NO</p>");
|
||||
printf( "\t Orientable Mesh: NO\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -960,12 +1011,15 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
}
|
||||
if (Oriented && Manifold)
|
||||
{
|
||||
fprintf(index, "<p> Oriented Mesh: YES</p>");
|
||||
printf( "\t Oriented Mesh: YES\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -979,11 +1033,14 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(index, "<p> Oriented Mesh: NO</p>");
|
||||
printf( "\t Oriented Mesh: NO\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -997,12 +1054,15 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
int dv = DuplicateVertex(m);
|
||||
if(dv>0)
|
||||
{
|
||||
fprintf(index, "<p> Duplicated vertices: %d</p>", dv);
|
||||
printf( "\t Number of duplicated vertices found: %d\n",dv);
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -1016,12 +1076,14 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(index, "<p> Duplicated vertices: NO</p>");
|
||||
printf( "\t Duplicated vertices: NO\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -1035,6 +1097,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
// SELF INTERSECTION
|
||||
if (m.fn<300000)
|
||||
|
@ -1060,6 +1123,8 @@ void main(int argc,char ** argv){
|
|||
{
|
||||
fprintf(index, "<p> Self Intersection: YES</p>");
|
||||
printf( "\t Self Intersection: YES\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -1073,11 +1138,14 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(index, "<p> Self Intersection: NO</p>");
|
||||
printf( "\t Self Intersection: NO\n");
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
s = new(char[25]);
|
||||
vn = new ValueNode;
|
||||
en = new EntryNode;
|
||||
|
@ -1091,6 +1159,7 @@ void main(int argc,char ** argv){
|
|||
osn->addEntry(*en);
|
||||
sn->addOwnSlot(osn);
|
||||
ng->addNode(osn);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1121,6 +1190,7 @@ void main(int argc,char ** argv){
|
|||
tri::io::ExporterOFF<MyMesh>::Save(m,filesave);
|
||||
}
|
||||
|
||||
/*------------XML file part ------------------*/
|
||||
doc.addSlots(sn);
|
||||
OwnSlotsNode* ossn = new OwnSlotsNode;
|
||||
ossn->addOwnSlot(ng);
|
||||
|
@ -1134,5 +1204,6 @@ void main(int argc,char ** argv){
|
|||
doc.finalizeMain("/",XML_SCHEMA_NAME);
|
||||
doc.printXMLTree();
|
||||
fclose(index);
|
||||
/*--------------------------------------------*/
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue