minor changes

This commit is contained in:
Nico Pietroni 2004-09-01 12:08:39 +00:00
parent 14a1c4c1e7
commit c3227ae7a0
2 changed files with 58 additions and 86 deletions

View File

@ -7,9 +7,6 @@
#include <vcg/complex/tetramesh/base.h> #include <vcg/complex/tetramesh/base.h>
#include <vcg/simplex/tetrahedron/with/atavtq.h> #include <vcg/simplex/tetrahedron/with/atavtq.h>
// the trackball
#include <wrap/gui/trackball.h>
// io // io
#include <wrap/io_tetramesh/import_ply.h> #include <wrap/io_tetramesh/import_ply.h>
#include <wrap/io_tetramesh/export_ply.h> #include <wrap/io_tetramesh/export_ply.h>
@ -25,28 +22,25 @@ class MyTetrahedron : public vcg::TetraATAVTQ<MyVertex,MyTetrahedron>{};
class MyTMesh: public vcg::tetra::Tetramesh< std::vector<MyVertex>, std::vector<MyTetrahedron > >{}; class MyTMesh: public vcg::tetra::Tetramesh< std::vector<MyVertex>, std::vector<MyTetrahedron > >{};
#include <vcg/complex/local_optimization/base.h> #include <vcg/complex/local_optimization.h>
#include <vcg/complex/local_optimization/tetra_edge_collapse.h> #include <vcg/complex/local_optimization/tetra_edge_collapse.h>
vcg::LocalOptimization<MyTMesh> loc; vcg::LocalOptimization<MyTMesh> *loc;
vcg::tetra::TetraEdgeCollapse<MyTMesh> c; //vcg::tetra::TetraEdgeCollapse<MyTMesh> c;
MyTMesh mesh; MyTMesh mesh;
int main(int,char**argv){ int main(int,char**argv,int num_op){
loc=new vcg::LocalOptimization<MyTMesh>(mesh);
loc.m = & mesh;
vcg::tetra::io::ImporterTS<MyTMesh>::Open(mesh,argv[1]); vcg::tetra::io::ImporterTS<MyTMesh>::Open(mesh,argv[1]);
//vcg::tetra::io::ImporterTS<MyTMesh>::Open(mesh,"d:/sphere.ts");
printf("mesh loaded %d %d \n",mesh.vn,mesh.tn); printf("mesh loaded %d %d \n",mesh.vn,mesh.tn);
// vcg::tetra::io::ExporterPLY<MyTMesh>::Save(mesh,(string(argv[1])+string(".ply")).c_str());
/*vcg::tetra::TetraEdgeCollapse<MyTMesh> *_ ;
bool res;*/
vcg::tetra::TetraEdgeCollapse<MyTMesh> *_ ; vcg::tetra::UpdateTetraTopology<MyTMesh::VertexContainer,MyTMesh::TetraContainer>
bool res;
do{
vcg::tetra::UpdateTetraTopology<MyTMesh::VertexContainer,MyTMesh::TetraContainer>
::VTTopology(mesh.vert,mesh.tetra); ::VTTopology(mesh.vert,mesh.tetra);
vcg::tetra::UpdateTetraTopology<MyTMesh::VertexContainer,MyTMesh::TetraContainer> vcg::tetra::UpdateTetraTopology<MyTMesh::VertexContainer,MyTMesh::TetraContainer>
@ -55,13 +49,13 @@ int main(int,char**argv){
vcg::tetra::UpdateTetraTopology<MyTMesh::VertexContainer,MyTMesh::TetraContainer> vcg::tetra::UpdateTetraTopology<MyTMesh::VertexContainer,MyTMesh::TetraContainer>
::setExternalVertices(mesh.vert,mesh.tetra); ::setExternalVertices(mesh.vert,mesh.tetra);
_=new vcg::tetra::TetraEdgeCollapse<MyTMesh>(); vcg::tetra::TetraEdgeCollapse<MyTMesh>::Init(mesh,loc->h);
loc.h.push_back(vcg::LocalOptimization<MyTMesh>::HeapElem(_));
bool res;
loc.Init(); do{
loc.SetTargetSimplices(10); loc->SetTargetOperations(num_op);
res = loc.DoOptimization(); res = loc->DoOptimization();
printf("ood %d\n bor %d\n vol %d \n lkv %d \n lke %d \n lkf %d \n", printf("ood %d\n bor %d\n vol %d \n lkv %d \n lke %d \n lkf %d \n",
FAIL::OFD(), FAIL::OFD(),
@ -74,7 +68,7 @@ int main(int,char**argv){
printf("mesh %d %d \n",mesh.vn,mesh.tn); printf("mesh %d %d \n",mesh.vn,mesh.tn);
}while(!res); }while(!res);
vcg::tetra::io::ExporterPLY<MyTMesh>::Save(mesh,"out.ply"); vcg::tetra::io::ExporterPLY<MyTMesh>::Save(mesh,"out.ply");
return 0; return 0;

View File

@ -1,26 +1,26 @@
<?xml version="1.0" encoding="Windows-1252"?> <?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject <VisualStudioProject
ProjectType="Visual C++" ProjectType="Visual C++"
Version="7.10" Version="7.10"
Name="tetra_decimator" Name="tetra_decimator"
ProjectGUID="{50882E8E-9870-44A2-8038-2932E460C872}" ProjectGUID="{50882E8E-9870-44A2-8038-2932E460C872}"
Keyword="Win32Proj"> Keyword="Win32Proj">
<Platforms> <Platforms>
<Platform <Platform
Name="Win32"/> Name="Win32"/>
</Platforms> </Platforms>
<Configurations> <Configurations>
<Configuration <Configuration
Name="Debug|Win32" Name="Debug|Win32"
OutputDirectory="Debug" OutputDirectory="Debug"
IntermediateDirectory="Debug" IntermediateDirectory="Debug"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="2"> CharacterSet="2">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
EnableIntrinsicFunctions="FALSE" EnableIntrinsicFunctions="FALSE"
AdditionalIncludeDirectories="d:/sf" AdditionalIncludeDirectories="d:/sf;d:/;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="TRUE" MinimalRebuild="TRUE"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
@ -28,18 +28,10 @@
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="TRUE" Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="4"> DebugInformationFormat="4"/>
<IntelOptions <Tool
Optimization="0"
EnableIntrinsicFunctions="0"
MinimalRebuild="1"
BasicRuntimeChecks="3"
RuntimeLibrary="5"
AllOptions="/c /I &quot;d:/sf&quot; /ZI /nologo /W3 /Wp64 /Od /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_CONSOLE&quot; /D &quot;_MBCS&quot; /Gm /EHsc /RTC1 /MLd /Fo&quot;Debug/&quot; /Fd&quot;Debug/vc70.pdb&quot; /Gd /TP"/>
</Tool>
<Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile="$(OutDir)/tetra_decimator.exe" OutputFile="$(OutDir)/tetra_decimator.exe"
LinkIncremental="2" LinkIncremental="2"
@ -47,52 +39,45 @@
GenerateDebugInformation="TRUE" GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/tetra_decimator.pdb" ProgramDatabaseFile="$(OutDir)/tetra_decimator.pdb"
SubSystem="1" SubSystem="1"
TargetMachine="1"> TargetMachine="1"/>
<IntelOptions <Tool
AllOptions="/NOLOGO /OUT:&quot;Debug/tetra_decimator.exe&quot; /INCREMENTAL /DEBUG /PDB:&quot;Debug/tetra_decimator.pdb&quot; /SUBSYSTEM:CONSOLE /TLBID:1 /MACHINE:IX86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"/>
</Tool>
<Tool
Name="VCMIDLTool"/> Name="VCMIDLTool"/>
<Tool <Tool
Name="VCPostBuildEventTool"/> Name="VCPostBuildEventTool"/>
<Tool <Tool
Name="VCPreBuildEventTool"/> Name="VCPreBuildEventTool"/>
<Tool <Tool
Name="VCPreLinkEventTool"/> Name="VCPreLinkEventTool"/>
<Tool <Tool
Name="VCResourceCompilerTool"/> Name="VCResourceCompilerTool"/>
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool"/> Name="VCWebServiceProxyGeneratorTool"/>
<Tool <Tool
Name="VCXMLDataGeneratorTool"/> Name="VCXMLDataGeneratorTool"/>
<Tool <Tool
Name="VCWebDeploymentTool"/> Name="VCWebDeploymentTool"/>
<Tool <Tool
Name="VCManagedWrapperGeneratorTool"/> Name="VCManagedWrapperGeneratorTool"/>
<Tool <Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/> Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration> </Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="Release" OutputDirectory="Release"
IntermediateDirectory="Release" IntermediateDirectory="Release"
ConfigurationType="1" ConfigurationType="1"
CharacterSet="2"> CharacterSet="2">
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="4" RuntimeLibrary="4"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="TRUE" Detect64BitPortabilityProblems="TRUE"
DebugInformationFormat="3"> DebugInformationFormat="3"/>
<IntelOptions <Tool
RuntimeLibrary="4"
AllOptions="/c /Zi /nologo /W3 /Wp64 /O2 /D &quot;WIN32&quot; /D &quot;NDEBUG&quot; /D &quot;_CONSOLE&quot; /D &quot;_MBCS&quot; /FD /EHsc /ML /Fo&quot;Release/&quot; /Fd&quot;Release/vc70.pdb&quot; /Gd /TP"/>
</Tool>
<Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
OutputFile="$(OutDir)/tetra_decimator.exe" OutputFile="$(OutDir)/tetra_decimator.exe"
LinkIncremental="1" LinkIncremental="1"
@ -101,61 +86,55 @@
SubSystem="1" SubSystem="1"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
TargetMachine="1"> TargetMachine="1"/>
<IntelOptions <Tool
AllOptions="/NOLOGO /OUT:&quot;Release/tetra_decimator.exe&quot; /INCREMENTAL:NO /DEBUG /PDB:&quot;Release/tetra_decimator.pdb&quot; /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /TLBID:1 /MACHINE:IX86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"/>
</Tool>
<Tool
Name="VCMIDLTool"/> Name="VCMIDLTool"/>
<Tool <Tool
Name="VCPostBuildEventTool"/> Name="VCPostBuildEventTool"/>
<Tool <Tool
Name="VCPreBuildEventTool"/> Name="VCPreBuildEventTool"/>
<Tool <Tool
Name="VCPreLinkEventTool"/> Name="VCPreLinkEventTool"/>
<Tool <Tool
Name="VCResourceCompilerTool"/> Name="VCResourceCompilerTool"/>
<Tool <Tool
Name="VCWebServiceProxyGeneratorTool"/> Name="VCWebServiceProxyGeneratorTool"/>
<Tool <Tool
Name="VCXMLDataGeneratorTool"/> Name="VCXMLDataGeneratorTool"/>
<Tool <Tool
Name="VCWebDeploymentTool"/> Name="VCWebDeploymentTool"/>
<Tool <Tool
Name="VCManagedWrapperGeneratorTool"/> Name="VCManagedWrapperGeneratorTool"/>
<Tool <Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/> Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration> </Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>
<Files> <Files>
<Filter <Filter
Name="Source Files" Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File <File
RelativePath="..\main.cpp"> RelativePath="..\main.cpp">
</File> </File>
<File <File
RelativePath="..\..\..\wrap\ply\plylib.cpp"> RelativePath="..\..\..\wrap\ply\plylib.cpp">
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Header Files" Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd" Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
<File <File
RelativePath="..\..\..\vcg\complex\local_optimization\base.h">
</File>
<File
RelativePath="..\..\..\vcg\complex\tetramesh\edge_collapse.h"> RelativePath="..\..\..\vcg\complex\tetramesh\edge_collapse.h">
</File> </File>
<File <File
RelativePath="..\..\..\vcg\complex\local_optimization\tetra_edge_collapse.h"> RelativePath="..\..\..\vcg\complex\local_optimization\tetra_edge_collapse.h">
</File> </File>
</Filter> </Filter>
<Filter <Filter
Name="Resource Files" Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
@ -164,4 +143,3 @@
<Globals> <Globals>
</Globals> </Globals>
</VisualStudioProject> </VisualStudioProject>