Version 11 (modified by 11 years ago) ( diff ) | ,
---|
Google Summer of Code 2013
Student Name
Vishal Tiwari
Mentor Name
strk
Project Aim
The aim of the project is as follows:
- Porting the Voronoi classes from JTS to GEOS: Providing the functionality of constructing Voronoi diagrams to GEOS by porting it from JTS to GEOS.
- Writing C++ test cases: This will include porting the Voronoi Test file from JTS to GEOS. Furthermore one or two test cases will be written from scratch.
- Exposing the functions through C-API: It provides a wrapper for the C++ functions. All the reference functions are implemented in geos_ts_c.cpp. (These are the thread safe apis). These functions are also exposed via the non-thread apis that are implemented in geos_c.cpp file. Such wrapper will be provided for the functions/methods that will be ported for Voronoi Class.
- Writing C test cases: Test cases to test the Voronoi class methods wrapper functions written in geos_ts_c.cpp and geos_c.cpp will be written to test all the methods exposed via the apis.
Week 1 Report
1. Work Done :
- Have ported the methods that are in geos/triangualte/quadedge/QuadEdgeSubdivion.cpp. The methods are as such:
- getVoronoiDiagram : Gets the cells in the Voronoi diagram for a triangulation.
- getVoronoiCellPolygons : Gets the polygons for the Voronoi Cells for a triangulation.
- getVoronoiCellPolygon : Gets the Voronoi cell around a site specified by the origin of a QuadEdge.
- getVertexUniqueEdges : Gets a collection of QuadEdges whose origin vertices are a unique set which includes all vertices in the subdivision. The frame vertices can be included if required.
- Class TriangleCircumcentreVisitor was also ported.
- More methods like geos::geom::Triangle::circumcentre, and geos::geom::closeRing that were required in the above functions were also ported.
2. Problem Faced :
- I am having some silly problems during compilation which i am working out with strk, it will be solved soon.
3. Work to be done in the next week :
- Solve the errors that are coming as of now.
- Port the classes left, and see the working of the methods ported.
- Start with the port of class VoronoiDiagramBuilder.
Week 2 Report
1. Work Done:
- I have fixed the problems that i was facing the previous week.
- I have ported all the methods and classes that are required for VoronoiDiagramBuilder.
- I have started the port of VoronoiDiagramBuilder class.
2. Problems Faced :
- During the port of one of the methods i was stuck with some C++ STL data structure, which required a different compiler, but it was solved, as i used a different STL data structure.
3. Work to be done in the next week:
- Finish the port of VoronoiDiagramBuilder class.
- Write the testcases for QuadEdgeSubdivision class, and related methods that i have ported earlier.
Week 3 Report
1. Work Done:
- Came across with some more methods related to VoronoiDiagram in other class and also ported them.
- Done with the port of VoronoiDiagram.
2. Problems Faced :
- No problems faced as such.
3. Work to be done in the next week:
- Write C++ testcases for QuadEdgeSubdivision class and VoronoiDiagramBuilder class.
Note:
See TracWiki
for help on using the wiki.