[geos-devel] Gsoc 2013

Sandro Santilli strk at keybit.net
Wed Apr 10 03:08:44 PDT 2013


On Wed, Apr 10, 2013 at 02:17:44PM +0530, vishal tiwari wrote:
> Hey,
> I suppose only those test cases needs to be ported that correspond to
> Voronoi class. But i see many other test cases for other class that are
> missing. So just asking for clarification, do we need to ported other test
> cases as well?

For the purpose of Voronoi you only need to port tests for the Voronoi
class and any class used by the Voronoi class. But if you find yourself
having more time porting more tests would be very useful

> And as for the C-API this is what i have understood: it provides a wrapper
> to the C++ functions. All the reference functions are implemented in
> geos_ts_c.cpp. And all the functions that are exposed to the users are in
> geos_c.cpp and its header file, geos_c.h.

More or less. Actually geos_ts.cpp contains the _Thread_Safe_ (supposedly)
version of the functions. It's been added later so the old API (officially
non thread-safe) is retained. In theory, new functions could STOP exposing
a non-thread-safe version of the signature but I haven't started this to
avoid having a mix of new and old APIs around. So at the moment it's
recommended to always keep both APIs.

Both TS and non-TS function are found in geos_c.h. The non-TS function are
all simple wrappers to the TS ones.

> Regarding the Gsoc proposal in the 'Describe your idea' section of the
> OSGeo proposal Application, this is what i have thought about from our
> discussion on the project:
> 
> https://docs.google.com/document/d/1biGlOqTnS7SnlxPOcFKrxj7_QEMYd1VtAFDms6L3AnY/edit

Sounds good to me. Maybe Anne has some suggestions for the
gsoc-specific needs.

--strk;

> 
> 
> Looking for your feedback on how it can further be improved.
> 
> 
> Thanks and kind regards,
> 
> Vishal
> 
> 
> 
> *
> 
> 
> On 4 April 2013 19:46, Sandro Santilli <strk at keybit.net> wrote:
> 
> > On Thu, Apr 04, 2013 at 05:02:56PM +0530, vishal tiwari wrote:
> > > Hey,
> > > Here is the structure of classes that is required by the *
> > > VoronoiDiagramBuilder* class: (The ones in *bold* needs to be ported)
> > >
> > >    1. Geometry
> > >    2. Geometry Factor
> > >    3. QuadEdgeSubdivision:
> > >       - Methods required for *VoronoiDigramBuilder*:
> > >          - *getVoronoiDiagram*
> > >          - *getVoronoiCellPolugons*
> > >          - *getVoronoiCellPolugon*
> > >          - visitTriangle
> > >          - *getVertexUniqueEdges*
> > >          - TriangleCoordinateVisitor
> > >          - *TriangleCircumcenterVisitor*
> > >          - *TriangleEdgeListVisitor*
> > >          - *TriangleVertexListVisitor*
> > >          - *isFrameVertex*
> > >       4. TriangleVisitor(Interface)
> > >
> > > Plz let me know if i am missing some method or class which is required
> > > for VoronoiDiagramBuilder port.
> >
> > Again, looking is part of the work.
> > You'll find out as you start porting if anything is missing.
> >
> > > Is it me or its very few work for a Gsoc Project?
> >
> > Don't forget the testcases for the C++ implementation,
> > the C-API exposure and relative testcases and audit for
> > memory leakage.
> >
> > After you've done, if you still have time it'd be nice to
> > work on improving the performance of it :)
> >
> > --strk;
> >
> 
> 
> 
> -- 
> Vishal Tiwari
> Undergraduate
> Computer Science and Engineering
> Lab for Spatial Informatics
> IIIT-Hyderabad


More information about the geos-devel mailing list