Opened 13 years ago

Closed 12 years ago

#854 closed enhancement (fixed)

X3D output functions

Reported by: robe Owned by: robe
Priority: medium Milestone: PostGIS 2.0.0
Component: postgis Version: master
Keywords: history Cc:

Description

Now that X3D dom is coming out http://www.x3dom.org/ and Google Chrome beta can actually show X3D output visually (and other browsers are adding that on), and a few people have been asking me (or on newsgroup) about this output, I'm really shooting to have this done for 2.0 instead of the planned 2.1 even if I do have to do the bulk of the work myself.

Change History (7)

comment:1 by robe, 13 years ago

Owner: changed from pramsey to robe

I've started working on this using the asgml3 code files as a template. Seems pretty straightforward so far. I'll start committing once I've got some useful things implemented.

I'm basing off of http://www.web3d.org/x3d/specifications/schema/ ( version 3.0.2)

Any thoughts or comments? I'm really excited about this since now that the new Fire Fox beta and Google Chrome betas have x3d functionality, this will give us a 3D viewer for our new geometry types right in the browser with hopefully not too much effort.

comment:2 by robe, 13 years ago

Keywords: history added

I think I'm making good progress. I can see my sample TINS and polyhedral surfaces, linestring in freeWrl. Still have to flesh out geometry collections, fix polygons, and multilinestrings and figure out how to handle holes.

Also I think X3D convention is X3D x ⇒ PostGIS x, X3D y ⇒ PostGIS Z and X3D z⇒ PostGIS Y or something like that. I'm not sure how baked in that rule is but I find it mighty confusing so haven't bothered flipping things.

Also have some preliminary documentation in place for those who want to give it a wrl

http://www.postgis.org/documentation/manual-svn/ST_AsX3D.html

After I get the linestring, polygon stuff somewhat working will work on the cunit tests and sql tests.

It also seems that there are X3D parallel types for our curved geometries (in the form of Arc2D, ArcClose2D, Circle2D, and Nurbs). FreeWrl doesn't support Nurbs yet so won't use that.

http://freewrl.sourceforge.net/conformance.html

so might be able to throw in curved support too if I can figure out (or someone else wants to figure out) how that works or we can save for 2.1

comment:3 by nicklas, 13 years ago

Regina, this is great :-)

/Nicklas

in reply to:  2 comment:4 by vitalis, 13 years ago

Replying to robe: Hi, robe, it's really nice to see someone working on X3D here. I'm quite interested in this area as well, and would love to take part in this development. I'm new to Track, but maybe you could help me with the start by enlightening me into some developing details?

comment:5 by robe, 13 years ago

Type: defectenhancement

comment:6 by robe, 13 years ago

Vitalis,

Most of the code I am working on is in: http://www.postgis.org/documentation/postgis-doxygen/d5/d80/lwout__x3d_8c.html (liblwgeom/lwout_x3d.c) vitalis,

Good to know others are interested.

I think I have TIN, POLYHEDRALSURFACE, MULTIPOLYGON, POINT,MULTIPOINT, MULTILINESTRING, LINESTRING (at least for 3D points implemented though not stress tested) and will get back to the others (POLYGON, Geometrycollection, CIRCULARSTRING etc) once I'm done setting up tests for the ones I have working.

Right now I'm working on c-unit tests, postgresql tests and documenting the code a bit better and will commit that probably later next week.

As far as developing in PostGIS, good place to start is probably:

http://trac.osgeo.org/postgis/wiki/DevWikiMain (The Patch Submission Guidelines)

comment:7 by robe, 12 years ago

Resolution: fixed
Status: newclosed

This is more or less done so will close this out to include tickets that cover the enhancements I'm working on.

Note: See TracTickets for help on using tickets.