Subversion Repositories gelsvn

Rev

Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
625 4505 d 7 h jerf /trunk/apps/OBJViewer/ Adding a keyboard switch for turning hardware antialiasing on/off in the OBJViewer.  
/trunk/apps/OBJViewer/objview.cpp
618 4605 d 17 h jab /trunk/ Some changes to make curvature visualization work  
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/README
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/src/GLGraphics/ManifoldRenderer.cpp
616 4605 d 17 h jab /trunk/ A few changes to CMakeLists.txt  
/trunk/CMakeLists.txt
/trunk/apps/Raytracer/Camera.h
614 4606 d 18 h jab /trunk/ Fixed a problem with global variables in harmonics.cpp causing meshedit to crash on exit.  
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/src/GLGraphics/ManifoldRenderer.cpp
609 4606 d 22 h jab /trunk/ I have added some patches to make cmake work for Unix Makefiles on Mac.
The old Makefile system has been removed.
Slight change to XCode project
Minor changes
 
/trunk/Makefile
/trunk/apps/MeshDistance/Makefile
/trunk/apps/OBJViewer/Makefile
/trunk/apps/Pathtracer/Makefile
/trunk/apps/Raytracer/Makefile
/trunk/makefiles
/trunk/src/CGLA/Makefile
/trunk/src/GLGraphics/Makefile
/trunk/src/Geometry/Makefile
/trunk/src/HMesh/Makefile
/trunk/src/LinAlg/Makefile
/trunk/src/Util/Makefile
/trunk/test/CGLA-covariance/Makefile
/trunk/test/CGLA-mat/Makefile
/trunk/test/CGLA-ogl/Makefile
/trunk/test/CGLA-simple/Makefile
/trunk/test/CGLA-vec/Makefile
/trunk/test/Geometry-kdtree/Makefile
/trunk/test/LinAlg-eigensolver/Makefile
/trunk/test/LinAlg-leastsq/Makefile
/trunk/test/Util-resman/Makefile
/trunk/CMakeLists.txt
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/src/GLGraphics/QuatTrackBall.cpp
/trunk/src/Geometry/AABox.cpp
/trunk/src/Geometry/Polygonizer.cpp
/trunk/src/Geometry/Polygonizer.h
/trunk/src/Geometry/Ray.h
/trunk/src/Geometry/rply.c
/trunk/src/Util/HashKey.cpp
/trunk/src/Util/XmlParser.cpp
/trunk/src/Util/XmlParser.h
607 4609 d 6 h jrf /trunk/ removing Visual Studio warnings and some CMake problems  
/trunk/CMakeLists.txt
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/polarize.cpp
/trunk/src/GLGraphics/ManifoldRenderer.cpp
/trunk/src/Geometry/tessellate.cpp
/trunk/src/HMesh/cleanup.cpp
/trunk/src/HMesh/curvature.cpp
/trunk/src/HMesh/mesh_optimization.cpp
/trunk/src/HMesh/triangulate.cpp
602 4613 d 21 h jab /trunk/ Removed the stale app rangescanviewer. Several changes to the XCode project which now compiles a proper framework for GEL and also compiles all test apps.  
/trunk/apps/RangeScanViewer
/trunk/GEL.xcodeproj/project.pbxproj
600 4617 d 16 h jab / Build system. I have both edited the bespoke Xcode project file, played with a premake4 build generator and our cmake system. Nothing works perfectly, but cmake might end up as the best solution. The cmake file now automatically finds the GEL files, but this entails that cmake is run when a new file is added.

Functions were added to Manifold: remove_face, remove_edge, remove_vertex. These do as advertised. I also added an add_face function (not tested but very simple ... hmmm famous last words)
the cpp/h file pairs close_holes and caps_and_needles were merged into "cleanup". To cleanup I added some functions that stitch meshes together, i.e. edges which share geometric end points are stitched.
 
/trunk/premake4.lua
/trunk/src/HMesh/cleanup.cpp
/trunk/src/HMesh/cleanup.h
/trunk/src/CGLA/CMakeLists.txt
/trunk/src/GLGraphics/CMakeLists.txt
/trunk/src/Geometry/CMakeLists.txt
/trunk/src/HMesh/CMakeLists.txt
/trunk/src/HMesh/caps_and_needles.cpp
/trunk/src/HMesh/caps_and_needles.h
/trunk/src/HMesh/close_holes.cpp
/trunk/src/HMesh/close_holes.h
/trunk/src/LinAlg/CMakeLists.txt
/trunk/src/Util/CMakeLists.txt
/branches/ctl/hmesh_vector/GEL.xcodeproj/project.pbxproj
/trunk/CMakeLists.txt
/trunk/apps/MeshDistance/CMakeLists.txt
/trunk/apps/MeshEdit/CMakeLists.txt
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/OBJViewer/CMakeLists.txt
/trunk/apps/OBJViewer/objview.cpp
/trunk/apps/Pathtracer/CMakeLists.txt
/trunk/apps/RangeScanViewer/CMakeLists.txt
/trunk/apps/Raytracer/CMakeLists.txt
/trunk/src/HMesh/Manifold.cpp
/trunk/src/HMesh/Manifold.h
/trunk/test/CGLA-covariance/CMakeLists.txt
/trunk/test/CGLA-mat/CMakeLists.txt
/trunk/test/CGLA-ogl/CMakeLists.txt
/trunk/test/CGLA-simple/CMakeLists.txt
/trunk/test/CGLA-vec/CMakeLists.txt
/trunk/test/GLGraphics-console/CMakeLists.txt
/trunk/test/Geometry-kdtree/CMakeLists.txt
/trunk/test/LinAlg-eigensolver/CMakeLists.txt
/trunk/test/LinAlg-leastsq/CMakeLists.txt
/trunk/test/Util-resman/CMakeLists.txt
596 4618 d 22 h jab /trunk/ merging  
/trunk/GELDependencyConfig.cmake
/trunk/MeshEdit
/trunk/apps/MeshEdit/polarize.cpp
/trunk/apps/MeshEdit/polarize.h
/trunk/apps/OBJViewer/objviewer.cpp
/trunk/data/Armadillo.ply
/trunk/data/bunny.obj
/trunk/doc/halfedge-entities.pdf
/trunk/makefiles/Darwin_x86_64_cc.mk
/trunk/GELFindGlconsole.cmake
/trunk/GELFindLapack.cmake
/trunk/apps/BloomenthalPolygonize
/trunk/apps/BoundaryCollapse
/trunk/apps/Decimator
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/curvature.cpp
/trunk/apps/MeshEdit/curvature.h
/trunk/apps/VolumePolygonize
/trunk/makefiles/MPC
/trunk
/trunk/CMakeLists.txt
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/README
/trunk/README_MSVC
/trunk/apps/MeshDistance/CMakeLists.txt
/trunk/apps/MeshDistance/meshdist.cpp
/trunk/apps/MeshEdit/CMakeLists.txt
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/OBJViewer/CMakeLists.txt
/trunk/apps/OBJViewer/objview.cpp
/trunk/apps/Pathtracer/CMakeLists.txt
/trunk/apps/RangeScanViewer/CMakeLists.txt
/trunk/apps/RangeScanViewer/rsview.cpp
/trunk/apps/Raytracer/CMakeLists.txt
/trunk/apps/Raytracer/raytrace.cpp
/trunk/data/bunny-little.x3d
/trunk/doc/intro.tex
/trunk/makefiles/findcompiler.sh
/trunk/test-bundle-Info.plist
/trunk/test/CGLA-covariance/covariance_test.cpp
/trunk/test/CGLA-ogl/CMakeLists.txt
555 5015 d 19 h jrf /trunk/ Update of the stb image library used by SOIL such that it can now also write png. I haven't yet extended the SOIL API, so call stbi_write_png(...) to use the new functionality.  
/trunk/src/GLGraphics/stb_image.c
/trunk/src/GLGraphics/stb_image.h
/trunk/src/GLGraphics/stb_image_write.c
/trunk/src/GLGraphics/stb_image_write.h
/trunk/src/GLGraphics/stb_image_aug.c
/trunk/src/GLGraphics/stb_image_aug.h
/trunk/apps/OBJViewer/objview.cpp
/trunk/src/GLGraphics/CMakeLists.txt
/trunk/src/GLGraphics/SOIL.c
/trunk/src/GLGraphics/stbi_DDS_aug.h
492 5613 d 18 h jrf /trunk/ Repairing and cleaning the OBJ Viewer app:
- load.h and load.cpp were missing in the cmake list of the Geometry package (causing the viewer not to compile in VS).
- It was previously illegal to include draw.h after including gel_glut.h (the problem was inclusion of glew.h in header files included by draw.h. This is undesirable as an application does not necessarily need glew.h when using draw.h).
- A lot of unnecessary header files were included here and there.
 
/trunk/apps/OBJViewer/objview.cpp
/trunk/src/GLGraphics/draw.cpp
/trunk/src/GLGraphics/draw.h
/trunk/src/GLGraphics/gel_glut.h
/trunk/src/Geometry/CMakeLists.txt
/trunk/src/Geometry/load.h
464 5711 d 18 h jab /trunk/apps/MeshEdit/ Sparse matrix class needed for harmonics analysis  
/trunk/apps/MeshEdit/CSCMatrixBuilder.h
459 5711 d 18 h jab /trunk/apps/MeshDistance/ Minor changes.  
/trunk/apps/MeshDistance/meshdist.cpp
458 5711 d 18 h jab /trunk/apps/MeshEdit/ Oops. The name of the MeshEdit window was harmonics. Changed to MeshEdit  
/trunk/apps/MeshEdit/meshedit.cpp
457 5711 d 18 h jab /trunk/apps/MeshEdit/ Now Kasia's sparse matrix based Laplace Beltrami operator works. To NOT use itm set USE_SPARSE_MATRIX to 0 in harmonics.h  
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
456 5711 d 18 h jab /trunk/apps/MeshEdit/ Long overdue commit. Mostly minor changes  
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/meshedit.cpp
442 5902 d 18 h jab /trunk/apps/OBJViewer/ Loading of textures is now longer part of OBJViewer since image loading has been included in GEL via SOIL  
/trunk/apps/OBJViewer/objview.cpp
439 5902 d 18 h jab /trunk/apps/VolumePolygonize/ Minor changes to be able to deal with short I seem to recall  
/trunk/apps/VolumePolygonize/volpoly.cpp
434 5935 d 21 h jab /trunk/apps/MeshEdit/ Minor changes to incorporate that we can now load off files. Also some experimental facilities  
/trunk/apps/MeshEdit/meshedit.cpp
418 5970 d 20 h jrf /trunk/ gel_rand.cpp now added to CMakeList  
/trunk/apps/Raytracer/raytrace.cpp
/trunk/src/CGLA/CMakeLists.txt
417 5971 d 14 h jrf /trunk/ Introducing gel_rand: a speed-optimized linear congruential pseudo-random number generator. It has been placed in CGLA.h. And all references to rand, srand, and RAND_MAX have been changed to gel_rand, gel_srand and GEL_RAND_MAX.  
/trunk/src/CGLA/gel_rand.cpp
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/Pathtracer/mesh.cpp
/trunk/apps/Raytracer/raytrace.cpp
/trunk/src/CGLA/CGLA.h
/trunk/src/Geometry/Polygonizer.cpp
/trunk/src/Geometry/Ray.h
/trunk/src/HMesh/mesh_optimization.cpp
/trunk/src/HMesh/quadric_simplify.cpp
/trunk/src/Util/HashKey.cpp
/trunk/test/CGLA-covariance/covariance_test.cpp
/trunk/test/CGLA-mat/mat_test.cpp
/trunk/test/CGLA-vec/vec_test.cpp
/trunk/test/Geometry-kdtree/CMakeLists.txt
/trunk/test/Geometry-kdtree/kdtree-test.cpp
/trunk/test/LinAlg-eigensolver/CMakeLists.txt
/trunk/test/LinAlg-eigensolver/eigensolvertest.cpp
/trunk/test/LinAlg-leastsq/CMakeLists.txt
/trunk/test/LinAlg-leastsq/leastsq-test.cpp
416 6027 d 16 h jab /trunk/ Minor changes  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/meshedit.cpp
415 6044 d 21 h jab /trunk/ Small changes to MeshEdit to make it compatible withe latest version of GLConsole  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/apps/MeshEdit/meshedit.cpp
412 6066 d 10 h jab /trunk/apps/MeshEdit/ A numberof changes  
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/curvature.cpp
/trunk/apps/MeshEdit/curvature.h
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/meshedit.cpp
411 6066 d 16 h jrf /trunk/apps/MeshEdit/ Bug: harmonics.partial_reconstruct crash  
/trunk/apps/MeshEdit/meshedit.cpp
409 6067 d 17 h jrf /trunk/ bashing Visual Studio warnings  
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/src/GLGraphics/IDBufferWireFrameRenderer.cpp
/trunk/src/GLGraphics/test_SOIL.cpp
/trunk/src/Geometry/IndexedFaceSet.h
/trunk/src/Util/ArgExtracter.h
407 6067 d 17 h jab /trunk/apps/OBJViewer/ Some files were moved and I have updated CMakeLists.txt  
/trunk/apps/OBJViewer/CMakeLists.txt
406 6079 d 21 h jab /trunk/apps/MeshEdit/ A nice corroded copper renderer was added.  
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/meshedit.cpp
403 6080 d 17 h jab /trunk/apps/MeshEdit/ I added curvature visualization and made the Renderer interface much nicer.  
/trunk/apps/MeshEdit/curvature.cpp
/trunk/apps/MeshEdit/curvature.h
/trunk/apps/MeshEdit/CMakeLists.txt
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
402 6081 d 20 h mkm /trunk/ CMake files updated after jab's changes.  
/trunk/GELFindGlconsole.cmake
/trunk/apps/MeshEdit/CMakeLists.txt
/trunk/CMakeLists.txt
/trunk/src/GLGraphics/CMakeLists.txt
401 6083 d 22 h jab /trunk/ Some adjustments to the renderers.  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/meshedit.cpp
399 6085 d 8 h jab /trunk/apps/MeshEdit/ VisObj which is responsible for drawing a single mesh in the MeshEdit application is now in its own file.
I have created a class hierarchy of renderers. This leads to a homogeneous way for drawing different appearances.
I have added some renderers: A reflection line renderer, an isophote renderer, a metallic renderer, and also
a gouraud renderer and a wireframe renderer. So far these are just for MeshEdit but could perhaps migrate to
GLGraphics.

The dual function in MeshEdit was made robust, but it will bite off a layer of polygons around any boundary.

Overall, the code is now much cleaner.
 
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/wireframe.cpp
/trunk/apps/MeshEdit/wireframe.h
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
398 6086 d 16 h jab /trunk/apps/OBJViewer/ Wireframe drawing is now handled in GLGraphics  
/trunk/apps/OBJViewer/wireframe.cpp
/trunk/apps/OBJViewer/wireframe.h
/trunk/apps/OBJViewer/objview.cpp
397 6086 d 16 h jab /trunk/apps/MeshEdit/ I embedded the two shader programs used for drawing
harmonics and tweaked the code to provide generic
wireframe support.
 
/trunk/apps/MeshEdit/tri.frag
/trunk/apps/MeshEdit/tri.vert
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/wireframe.cpp
394 6087 d 18 h jab /trunk/ Minor changes to the viewcontroller and the MeshEdit application  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/tri.frag
/trunk/doc/CGLA-usage.tex
/trunk/src/GLGraphics/GLViewController.cpp
/trunk/src/GLGraphics/GLViewController.h
/trunk/src/HMesh/x3d_save.cpp
391 6097 d 17 h jab /trunk/apps/MeshEdit/ A number of changes were made, and the MeshEdit application now supports
almost all of the functions that operate on the Manifold objects.
 
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
388 6102 d 7 h jab /trunk/apps/MeshEdit/ MeshEdit now really works. It contains a simple console interface which
allows you to try out almost any of the functions in HMesh which modify
a Manifold: Smoothing, edge refinement, face refinement, triangulation of
polygons, optimization of triangulations, Garland Heckbert simplification,
and more.

It is not perfect however, the harmonics analysis which started the whole thing
only works for small meshes, and wireframe drawing simply does not work for
non-triangles. Moreover to be really useful it should provide for plugins.
 
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
387 6103 d 17 h jab /trunk/apps/MeshEdit/ I added a lot of editing functions already in GEL  
/trunk/apps/MeshEdit/meshedit.cpp
386 6104 d 17 h jab /trunk/apps/MeshEdit/ Added MeshEdit. So far it can only do harmonic analysis but more should be
added
 
/trunk/apps/MeshEdit
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/tri.frag
/trunk/apps/MeshEdit/tri.vert
/trunk/apps/MeshEdit/wireframe.cpp
/trunk/apps/MeshEdit/wireframe.h
385 6109 d 15 h jab /trunk/ CMakefiles included.

Note that exceptions were removed from Geometry/Polygonize.cpp since it did not play nice with visual studio 2005. An improved solution is needed so that the program does not just abort.
 
/trunk/CMakeLists.txt
/trunk/GELConfig.cmake.in
/trunk/GELFindGlew.cmake
/trunk/GELFindGlut.cmake
/trunk/GELFindLapack.cmake
/trunk/GELUse.cmake
/trunk/apps/BloomenthalPolygonize/CMakeLists.txt
/trunk/apps/BoundaryCollapse/CMakeLists.txt
/trunk/apps/Decimator/CMakeLists.txt
/trunk/apps/MeshDistance/CMakeLists.txt
/trunk/apps/OBJViewer/CMakeLists.txt
/trunk/apps/Pathtracer/CMakeLists.txt
/trunk/apps/RangeScanViewer/CMakeLists.txt
/trunk/apps/Raytracer/CMakeLists.txt
/trunk/apps/VolumePolygonize/CMakeLists.txt
/trunk/src/CGLA/CMakeLists.txt
/trunk/src/GLGraphics/CMakeLists.txt
/trunk/src/Geometry/CMakeLists.txt
/trunk/src/HMesh/CMakeLists.txt
/trunk/src/LinAlg/CMakeLists.txt
/trunk/src/Util/CMakeLists.txt
/trunk/test/CGLA-covariance/CMakeLists.txt
/trunk/test/CGLA-mat/CMakeLists.txt
/trunk/test/CGLA-ogl/CMakeLists.txt
/trunk/test/CGLA-simple/CMakeLists.txt
/trunk/test/CGLA-vec/CMakeLists.txt
/trunk/test/Geometry-kdtree/CMakeLists.txt
/trunk/test/LinAlg-eigensolver/CMakeLists.txt
/trunk/test/LinAlg-leastsq/CMakeLists.txt
/trunk/test/Util-resman/CMakeLists.txt
/trunk/apps/BoundaryCollapse/boundary_collapse.cpp
/trunk/src/Geometry/Polygonizer.cpp