Fixed code related to creation o fthe XML file
This commit is contained in:
parent
83eb240e34
commit
3f0170846e
|
@ -21,15 +21,18 @@
|
||||||
* *
|
* *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
History
|
History
|
||||||
|
|
||||||
$Log: not supported by cvs2svn $
|
$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
|
Revision 1.2 2005/09/28 10:46:04 rita_borgo
|
||||||
Added possibility of saving File in OFF format
|
Added possibility of saving File in OFF format
|
||||||
|
|
||||||
Revision 1.1 2005/09/20 10:15:27 rita_borgo
|
Revision 1.1 2005/09/20 10:15:27 rita_borgo
|
||||||
Changed file name to uniform with other solution projects,
|
Changed file name to uniform with other solution projects,
|
||||||
before was main.cpp
|
before was main.cpp
|
||||||
|
|
||||||
Revision 1.8 2005/02/15 12:26:06 rita_borgo
|
Revision 1.8 2005/02/15 12:26:06 rita_borgo
|
||||||
Minor changes to self-intersection
|
Minor changes to self-intersection
|
||||||
|
@ -200,18 +203,18 @@ void main(int argc,char ** argv){
|
||||||
bool DEBUG = false;
|
bool DEBUG = false;
|
||||||
|
|
||||||
|
|
||||||
/*------------XML file part ------------------*/
|
/*------------XML file part ------------------*/
|
||||||
|
|
||||||
static char* XML_SCHEMA_NAME = "protegekb";
|
static char* XML_SCHEMA_NAME = "protegekb";
|
||||||
XMLTree doc;
|
XMLTree doc;
|
||||||
MainNode* mn = new MainNode;
|
MainNode* mn = new MainNode;
|
||||||
|
|
||||||
/*--------------------------------------------*/
|
/*--------------------------------------------*/
|
||||||
|
|
||||||
//load the mesh
|
//load the mesh
|
||||||
//argv[1]=(char*)"c:\\checkup\\debug\\column1m.ply";
|
//argv[1]=(char*)"c:\\checkup\\debug\\column1m.ply";
|
||||||
//argv[1] = "C:\\sf\\apps\\msvc\\trimeshinfo\\Release\\prism.off";
|
//argv[1] = "C:\\sf\\apps\\msvc\\trimeshinfo\\Release\\prism.off";
|
||||||
//argv[1] = "C:\\sf\\apps\\msvc\\trimeshinfo\\Release\\prova1.ply";
|
//argv[1] = "C:\\sf\\apps\\msvc\\trimeshinfo\\Release\\prova1.ply";
|
||||||
|
|
||||||
// print program info
|
// print program info
|
||||||
printf("-------------------------------\n"
|
printf("-------------------------------\n"
|
||||||
|
@ -239,7 +242,7 @@ void main(int argc,char ** argv){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
doc.initializeMain(XML_SCHEMA_NAME);
|
doc.initializeMain(XML_SCHEMA_NAME);
|
||||||
char* s1 = "http://www.w3.org/2001/XMLSchema-instance";
|
char* s1 = "http://www.w3.org/2001/XMLSchema-instance";
|
||||||
char* s2 = new(char[50]);
|
char* s2 = new(char[50]);
|
||||||
|
@ -249,6 +252,7 @@ void main(int argc,char ** argv){
|
||||||
s2 = new(char[100]);
|
s2 = new(char[100]);
|
||||||
sprintf(s2,"\"%s\"",s1);
|
sprintf(s2,"\"%s\"",s1);
|
||||||
doc.addHeaders(" xsi:noNamespaceSchemaLocation=", s2);
|
doc.addHeaders(" xsi:noNamespaceSchemaLocation=", s2);
|
||||||
|
/*--------------------------------------------*/
|
||||||
|
|
||||||
FILE * index;
|
FILE * index;
|
||||||
index = fopen((string(argv[1])+string("2.html")).c_str(),"w");
|
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(" M: '%s'\n\t Number of vertices: %d \n", argv[1], m.vn);
|
||||||
printf("\t Number of faces: %d \n", m.fn);
|
printf("\t Number of faces: %d \n", m.fn);
|
||||||
|
|
||||||
//XML
|
|
||||||
|
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
NodeGroup* ng = new NodeGroup;
|
NodeGroup* ng = new NodeGroup;
|
||||||
|
|
||||||
char* s =new(char[25]);
|
char* s =new(char[25]);
|
||||||
|
@ -292,6 +297,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(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]);
|
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]);
|
printf( "\t Object color(4b): %f %f %f \n", Color[0], Color[1], Color[2]);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -314,6 +321,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -352,6 +360,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Manifold: NO </p>");
|
fprintf(index, "<p> Manifold: NO </p>");
|
||||||
printf( "\t Manifold: NO\n");
|
printf( "\t Manifold: NO\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -365,11 +375,14 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Manifold: YES </p>");
|
fprintf(index, "<p> Manifold: YES </p>");
|
||||||
printf( "\t Manifold: YES\n ");
|
printf( "\t Manifold: YES\n ");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -383,6 +396,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(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 internal edges: %d \n", count_e-boundary_e);
|
||||||
printf("\t Number of boundary edges: %i \n", boundary_e);
|
printf("\t Number of boundary edges: %i \n", boundary_e);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -448,6 +463,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -459,6 +475,8 @@ void main(int argc,char ** argv){
|
||||||
count_fd++;
|
count_fd++;
|
||||||
fprintf(index, "<p>Number of degenerated faces: %d </p>\n", count_fd);
|
fprintf(index, "<p>Number of degenerated faces: %d </p>\n", count_fd);
|
||||||
printf("\t Number of degenerated faces: %d \n", count_fd);
|
printf("\t Number of degenerated faces: %d \n", count_fd);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -472,6 +490,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
|
|
||||||
// UNREFERENCED VERTEX
|
// UNREFERENCED VERTEX
|
||||||
|
|
||||||
|
@ -492,6 +511,8 @@ void main(int argc,char ** argv){
|
||||||
++count_uv;
|
++count_uv;
|
||||||
fprintf(index,"<p>Number of unreferenced vertices: %d</p>\n",count_uv);
|
fprintf(index,"<p>Number of unreferenced vertices: %d</p>\n",count_uv);
|
||||||
printf("\t Number of unreferenced vertices: %d\n",count_uv);
|
printf("\t Number of unreferenced vertices: %d\n",count_uv);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -505,9 +526,10 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
// HOLES COUNT
|
// HOLES COUNT
|
||||||
|
|
||||||
int numholes=0;
|
int numholes=0;
|
||||||
int numholev=0;
|
int numholev=0;
|
||||||
|
@ -564,6 +586,8 @@ void main(int argc,char ** argv){
|
||||||
numholes = holes.size();
|
numholes = holes.size();
|
||||||
fprintf(index,"<p>Number of holes/boundaries: %d </p>\n", numholes);
|
fprintf(index,"<p>Number of holes/boundaries: %d </p>\n", numholes);
|
||||||
printf("\t Number of holes/boundaries: %d \n", numholes);
|
printf("\t Number of holes/boundaries: %d \n", numholes);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -577,6 +601,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(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++;}
|
if(i==numholes-1){ printf("%i)\n",holes[i].size()); BEdges++;}
|
||||||
else{ printf("%i, ",holes[i].size()); BEdges++;}
|
else{ printf("%i, ",holes[i].size()); BEdges++;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -601,6 +628,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -614,6 +642,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index,"<p>Volume: %d </p>\n", m.Volume());
|
fprintf(index,"<p>Volume: %d </p>\n", m.Volume());
|
||||||
printf("\t Volume: %f \n", m.Volume());
|
printf("\t Volume: %f \n", m.Volume());
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -627,6 +657,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -676,6 +707,8 @@ void main(int argc,char ** argv){
|
||||||
int numcomponents = nrfaces.size();
|
int numcomponents = nrfaces.size();
|
||||||
fprintf(index, "<p> Number of connected components: %d </p>", numcomponents);
|
fprintf(index, "<p> Number of connected components: %d </p>", numcomponents);
|
||||||
printf("\t Number of connected components: %d\n", numcomponents);
|
printf("\t Number of connected components: %d\n", numcomponents);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -689,6 +722,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
|
|
||||||
//GENUS --> 2( #components - genus ) = #vertices + #faces - #edge - #boundary_loops = eulernumber - #holes
|
//GENUS --> 2( #components - genus ) = #vertices + #faces - #edge - #boundary_loops = eulernumber - #holes
|
||||||
//eulero = (mesh.vn-count_uv) - (count_e)+mesh.fn;
|
//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 );
|
int genus = -( 0.5 * (eulernumber - numholes) - numcomponents );
|
||||||
fprintf(index, "<p> Genus: %d </p> \n ", genus);
|
fprintf(index, "<p> Genus: %d </p> \n ", genus);
|
||||||
printf( "\t Genus: %d \n", genus);
|
printf( "\t Genus: %d \n", genus);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -712,13 +748,14 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else //(!Manifold)
|
else //(!Manifold)
|
||||||
{
|
{
|
||||||
fprintf( index,"<p>Genus: UNDEFINED, mesh is non-manifold </p>\n");
|
fprintf( index,"<p>Genus: UNDEFINED, mesh is non-manifold </p>\n");
|
||||||
printf( "Genus: UNDEFINED, mesh is non-manifold \n");
|
printf( "Genus: UNDEFINED, mesh is non-manifold \n");
|
||||||
}
|
}
|
||||||
// REGULARITY
|
// REGULARITY
|
||||||
|
|
||||||
bool Regular=true;
|
bool Regular=true;
|
||||||
bool Semiregular=true;
|
bool Semiregular=true;
|
||||||
|
@ -766,6 +803,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Type of Mesh: REGULAR</p>");
|
fprintf(index, "<p> Type of Mesh: REGULAR</p>");
|
||||||
printf("\t Type of Mesh: REGULAR\n");
|
printf("\t Type of Mesh: REGULAR\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -779,6 +818,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else if (Semiregular)
|
else if (Semiregular)
|
||||||
{
|
{
|
||||||
|
@ -802,6 +842,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Type of Mesh: IRREGULAR</p>");
|
fprintf(index, "<p> Type of Mesh: IRREGULAR</p>");
|
||||||
printf("\t Type of Mesh: IRREGULAR\n");
|
printf("\t Type of Mesh: IRREGULAR\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -815,8 +857,9 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
// ORIENTABLE E ORIENTED MESH
|
// ORIENTABLE E ORIENTED MESH
|
||||||
|
|
||||||
bool Orientable=true;
|
bool Orientable=true;
|
||||||
bool Oriented=true;
|
bool Oriented=true;
|
||||||
|
@ -824,6 +867,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Orientable Mesh: NO</p>");
|
fprintf(index, "<p> Orientable Mesh: NO</p>");
|
||||||
printf( "\t Orientable Mesh: NO\n");
|
printf( "\t Orientable Mesh: NO\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -837,6 +882,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -929,6 +975,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Orientable Mesh: YES</p>");
|
fprintf(index, "<p> Orientable Mesh: YES</p>");
|
||||||
printf( "\t Orientable Mesh: YES\n");
|
printf( "\t Orientable Mesh: YES\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -942,11 +990,14 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Orientable Mesh: NO</p>");
|
fprintf(index, "<p> Orientable Mesh: NO</p>");
|
||||||
printf( "\t Orientable Mesh: NO\n");
|
printf( "\t Orientable Mesh: NO\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -960,12 +1011,15 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Oriented && Manifold)
|
if (Oriented && Manifold)
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Oriented Mesh: YES</p>");
|
fprintf(index, "<p> Oriented Mesh: YES</p>");
|
||||||
printf( "\t Oriented Mesh: YES\n");
|
printf( "\t Oriented Mesh: YES\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -979,11 +1033,14 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Oriented Mesh: NO</p>");
|
fprintf(index, "<p> Oriented Mesh: NO</p>");
|
||||||
printf( "\t Oriented Mesh: NO\n");
|
printf( "\t Oriented Mesh: NO\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -997,12 +1054,15 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
int dv = DuplicateVertex(m);
|
int dv = DuplicateVertex(m);
|
||||||
if(dv>0)
|
if(dv>0)
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Duplicated vertices: %d</p>", dv);
|
fprintf(index, "<p> Duplicated vertices: %d</p>", dv);
|
||||||
printf( "\t Number of duplicated vertices found: %d\n",dv);
|
printf( "\t Number of duplicated vertices found: %d\n",dv);
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -1016,12 +1076,14 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Duplicated vertices: NO</p>");
|
fprintf(index, "<p> Duplicated vertices: NO</p>");
|
||||||
printf( "\t Duplicated vertices: NO\n");
|
printf( "\t Duplicated vertices: NO\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -1035,6 +1097,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
// SELF INTERSECTION
|
// SELF INTERSECTION
|
||||||
if (m.fn<300000)
|
if (m.fn<300000)
|
||||||
|
@ -1060,6 +1123,8 @@ void main(int argc,char ** argv){
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Self Intersection: YES</p>");
|
fprintf(index, "<p> Self Intersection: YES</p>");
|
||||||
printf( "\t Self Intersection: YES\n");
|
printf( "\t Self Intersection: YES\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -1073,11 +1138,14 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(index, "<p> Self Intersection: NO</p>");
|
fprintf(index, "<p> Self Intersection: NO</p>");
|
||||||
printf( "\t Self Intersection: NO\n");
|
printf( "\t Self Intersection: NO\n");
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
s = new(char[25]);
|
s = new(char[25]);
|
||||||
vn = new ValueNode;
|
vn = new ValueNode;
|
||||||
en = new EntryNode;
|
en = new EntryNode;
|
||||||
|
@ -1091,6 +1159,7 @@ void main(int argc,char ** argv){
|
||||||
osn->addEntry(*en);
|
osn->addEntry(*en);
|
||||||
sn->addOwnSlot(osn);
|
sn->addOwnSlot(osn);
|
||||||
ng->addNode(osn);
|
ng->addNode(osn);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1121,6 +1190,7 @@ void main(int argc,char ** argv){
|
||||||
tri::io::ExporterOFF<MyMesh>::Save(m,filesave);
|
tri::io::ExporterOFF<MyMesh>::Save(m,filesave);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*------------XML file part ------------------*/
|
||||||
doc.addSlots(sn);
|
doc.addSlots(sn);
|
||||||
OwnSlotsNode* ossn = new OwnSlotsNode;
|
OwnSlotsNode* ossn = new OwnSlotsNode;
|
||||||
ossn->addOwnSlot(ng);
|
ossn->addOwnSlot(ng);
|
||||||
|
@ -1134,5 +1204,6 @@ void main(int argc,char ** argv){
|
||||||
doc.finalizeMain("/",XML_SCHEMA_NAME);
|
doc.finalizeMain("/",XML_SCHEMA_NAME);
|
||||||
doc.printXMLTree();
|
doc.printXMLTree();
|
||||||
fclose(index);
|
fclose(index);
|
||||||
|
/*--------------------------------------------*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue