View previous topic :: View next topic |
|
Author |
Message |
Santosh Guest
|
Posted: Wed Apr 01, 2009 5:44 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi All
Attached is the osg-plugin for reading ply ( Stanford Triangle Format ) file. I have written the plugin according to OSG standard and have also added cmake build system. The plugin is working fine on both Linux and Windows and should behave similarly on other OS as well.
I would like to contribute this plug-in to osg community.
Cheers
-Santosh
--
false false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 <![endif]--> <![endif]--> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";} <![endif]--> <![endif]--> <![endif]-->
Santosh Gaikwad
MTS Design
Darshan Solutions Limited
www.darshan3d.com
# +91-99530-99053
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
mgb_osg (Martin Beckett) Appreciator
Joined: 18 Feb 2009 Posts: 239
|
Posted: Wed Apr 01, 2009 8:24 pm Post subject: |
|
|
Thanks - I had just started working on this!
A couple of points -
I can't get this to work with binary models, is it limited to certain features in the binary ply?
The normals seem to be the wrong way round (at least for the Stanford bunny model)
I think you need the attached CMakeLists.txt to build this and add ADD_SUBDIRECTORY(ply) to the CMakeLists.txt in osg-Plugins |
|
Back to top |
|
 |
Ulrich Hertlein Guest
|
Posted: Wed Apr 01, 2009 9:34 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi Santosh,
On 2/4/09 4:44 AM, Santosh wrote:
Quote:
|
Attached is the osg-plugin for reading ply ( Stanford Triangle Format )
file. I have written the plugin according to OSG standard and have also
added cmake build system. The plugin is working fine on both Linux and
Windows and should behave similarly on other OS as well.
|
I had trouble compiling this on OS X, it was complaining about undefined symbols which I
believe is because you're only linking against osg, not osgUtil, etc.
However, I had a look at the CMakeFile and it contains way more than is necessary to
compile a plugin. Attached is a shorter version modelled on the obj plugin. This builds
fine on OS X.
Cheers!
/ulrich
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
Santosh Guest
|
Posted: Thu Apr 02, 2009 6:00 am Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Martin Beckett wrote:
Quote:
|
Thanks - I had just started working on this!
A couple of points -
I can't get this to work with binary models, is it limited to certain features in the binary ply?
The normals seem to be the wrong way round (at least for the Stanford bunny model)
|
I have tested this plugin with UNC Power Plant data which is available
at ( http://www.cs.unc.edu/~geom/Powerplant
<http://www.cs.unc.edu/%7Egeom/Powerplant> ) which is binary file.
I will check some other ply files like you mentioned bunny model.
Quote:
|
I think you need the attached CMakeLists.txt to build this and add ADD_SUBDIRECTORY(ply) to the CMakeLists.txt in osg-Plugins
|
Cheers
Santosh
Quote:
|
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=9574#9574
------------------------------------------------------------------------
|
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
Santosh Guest
|
Posted: Sun Apr 05, 2009 11:00 am Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi All
Sorry for the late reply.
I fixed some bugs and updated code is attached with this mail in zip format.
I tested this with the Stanford ply models and UNC power plant data.
The normal calculation is correct.
Cheers
Santosh
false false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 <![endif]--> <![endif]--> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";} <![endif]--> <![endif]--> <![endif]-->
Santosh Gaikwad
MTS Design
Darshan Solutions Limited
www.darshan3d.com
# +91-99530-99053
Martin Beckett wrote: Quote:
|
Quote:
|
Thanks - I had just started working on this!
A couple of points -
I can't get this to work with binary models, is it limited to certain features in the binary ply?
The normals seem to be the wrong way round (at least for the Stanford bunny model)
I think you need the attached CMakeLists.txt to build this and add ADD_SUBDIRECTORY(ply) to the CMakeLists.txt in osg-Plugins
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=9574#9574
Quote:
|
_______________________________________________
osg-submissions mailing list
(Only registered users can see emails on this board! Get registred or enter the forums! | )
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
|
|
|
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
mgb_osg (Martin Beckett) Appreciator
Joined: 18 Feb 2009 Posts: 239
|
Posted: Mon Apr 06, 2009 3:18 pm Post subject: |
|
|
|
|
Back to top |
|
 |
Santosh Guest
|
Posted: Mon Apr 06, 2009 10:00 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
HI Martin
I have updated the CMakeList file according to the osg. I only listed the files and called the osg Macro SETUP_PLUGIN(ply)
Attached is the source with updated CMakeLists.txt file
false false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 <![endif]--> <![endif]--> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";} <![endif]--> <![endif]--> <![endif]-->
Santosh Gaikwad
MTS Design
Darshan Solutions Limited
www.darshan3d.com
# +91-99530-99053
Martin Beckett wrote: Quote:
|
Quote:
|
All the stanford models I have from http://www-graphics.stanford.edu/data/3Dscanrep/ rendered correctly in ascii and binary.
There is another good collection of test files at http://www.cc.gatech.edu/projects/large_models/
Great work - thanks.
Martin
ps. The CMakefile included with your last post is too much - it generates a standalone project for the plugin, you only need the minimal cmake just listing the files.
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=9799#9799
_______________________________________________
osg-submissions mailing list
(Only registered users can see emails on this board! Get registred or enter the forums! | )
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
|
|
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
mgb_osg (Martin Beckett) Appreciator
Joined: 18 Feb 2009 Posts: 239
|
Posted: Mon Apr 06, 2009 10:14 pm Post subject: |
|
|
That works great for me - I just added "ADD_SUBDIRECTORY(ply)" to the CMakelists in src\osgPlugins and dropped your files in a new folder.
I am looking at adapting a '3d model from point cloud' generator to OSG, and their sample app generates .ply so this was a great help - thanks
Martin |
|
Back to top |
|
 |
robertosfield OSG Project Lead
Joined: 18 Mar 2009 Posts: 12205
|
Posted: Thu Apr 09, 2009 3:31 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi Santosh,
I'm just reviewing the code and mostly everything looks fine but need to clarify the license on vertexData.h and vertexData.cpp and typedefs.h. The notice is:
/*
vertexData.h
Copyright (c) 2007, Tobias Wolf < ( Only registered users can see emails on this board! Get registred or enter the forums! |
)>
All rights reserved.
Header file of the VertexData class.
*/
There isn't mention of the license that it's copyrighted under. Was this code taken from another body of work? Have you contacted Tobias at all?
The noticed on ReaderWriterPLY.cpp is:
/*
* PLY ( Stanford Triangle Format ) File Loader for OSG
* Copyright (C) 2009 by VizExperts Limited
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or (at
* your option) any later version.
which is fine, but makes me wonder who the original author was, and who the various contributors have been on the code. When I do a check into svn/trunk I want to enumerate the various authors.
Cheers,
Robert.
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
mgb_osg (Martin Beckett) Appreciator
Joined: 18 Feb 2009 Posts: 239
|
Posted: Thu Apr 09, 2009 4:33 pm Post subject: |
|
|
The ply file format is by Greg Turk at Stanford and is BSD licenced.
The original VertexData class is by Tobias Wolf and is LGPL
But most of the original functionality in VertexData (calcualting normals, kd-tree etc) is in OSG anyway so this plugin only uses a minimal set of file reading functions.
There are BSD licenced file routines from Greg Turk that could be used instead if the LGPL is a problem. |
|
Back to top |
|
 |
Santosh Guest
|
Posted: Thu Apr 09, 2009 5:33 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi Robert
I developed this plugin while working on a project based on Equalizer. So VertexData which I am using is taken from equalizer and modified to make them work as separate OSG plugin.
Before contributing this plugin to OSG community, I asked project manager of Equalizer project Stefen regarding potential licensing issues and this is what he has said
"The kd-Tree (VertexBuffer*) is LGPL-licensed, and the base ply loader (ply*) is BSD. As long as you leave the copyright notices intact, there is no issue."
so I think using these files in OSG should not be a problem.
As far as author of ReaderWriterPLY.cpp is concerned I am the author. I am working for Darshan3d which is a subsidiary of VizExperts thats why I have put VizExperts copyright.
I hope this make things clear to you.
Cheers
Santosh Gaikwad
--
Santosh Gaikwad
MTS Design
Darshan Solutions Limited
www.darshan3d.com
# +91-99530-99053
Robert Osfield wrote: Quote:
|
Hi Santosh,
I'm just reviewing the code and mostly everything looks fine but need to clarify the license on vertexData.h and vertexData.cpp and typedefs.h. The notice is:
/*
vertexData.h
Copyright (c) 2007, Tobias Wolf < (Only registered users can see emails on this board! Get registred or enter the forums! | )>
All rights reserved.
Header file of the VertexData class.
*/
There isn't mention of the license that it's copyrighted under. Was this code taken from another body of work? Have you contacted Tobias at all?
The noticed on ReaderWriterPLY.cpp is:
/*
* PLY ( Stanford Triangle Format ) File Loader for OSG
* Copyright (C) 2009 by VizExperts Limited
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or (at
* your option) any later version.
which is fine, but makes me wonder who the original author was, and who the various contributors have been on the code. When I do a check into svn/trunk I want to enumerate the various authors.
Cheers,
Robert.
Quote:
|
_______________________________________________
osg-submissions mailing list
(Only registered users can see emails on this board! Get registred or enter the forums! | )
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
|
|
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
robertosfield OSG Project Lead
Joined: 18 Mar 2009 Posts: 12205
|
Posted: Thu Apr 09, 2009 6:29 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi Santosh,
Thanks for clarification. Earlier I pulled down Equalizer and worked out the derivation of the files that weren't well copyrighted. I've added a single clarification to each of the files that didn't mention the license.
I've just checked in the new plugin to get the ball roliing. Things are perfect yet though, gcc is emitting a number of warings. Could you have a look at resolving these?
Cheers,
Robert.
home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp: In function ‘void get_binary_item(PlyFile*, int, int*, unsigned int*, double*)’:
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2272: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2279: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2285: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2299: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2314: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2328: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2343: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2357: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
[ 84%] Built target osgdb_dicom
[ 85%] Built target osgWidget
[100%] Built target osgdb_ive
[100%] Built target osgdb_osgwidget
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp: In member function ‘void ply::VertexData::readVertices(PlyFile*, int, bool)’:
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:80: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp: In member function ‘void ply::VertexData::readTriangles(PlyFile*, int)’:
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:118: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:120: warning: deprecated conversion from string constant to ‘char*’
Linking CXX shared module ../../../lib/osgPlugins-2.9.2/osgdb_ply.so
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
Santosh Guest
|
Posted: Thu Apr 09, 2009 9:26 pm Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
Hi Robert
Attached is the updated ply.h and plyfile.cpp in which I resolved the warnings of vertexData.cpp.()
On my system I didn't got the warnings of fread() in plyfile.cpp so I couldn't fix those warnings.
I compiled with gcc version 4.2.1. I think these warnings are getting due to some standard include file need to be included explicitly in particular OS or gcc version.
Cheers
Santosh
Robert Osfield wrote: Quote:
|
Hi Santosh,
Thanks for clarification. Earlier I pulled down Equalizer and worked out the derivation of the files that weren't well copyrighted. I've added a single clarification to each of the files that didn't mention the license.
I've just checked in the new plugin to get the ball roliing. Things are perfect yet though, gcc is emitting a number of warings. Could you have a look at resolving these?
Cheers,
Robert.
home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp: In function ‘void get_binary_item(PlyFile*, int, int*, unsigned int*, double*)’:
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2272: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’,
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2279: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2285: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2299: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2314: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2328: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2343: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
/home/robert/OpenSceneGraph/src/osgPlugins/ply/plyfile.cpp:2357: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
[ 84%] Built target osgdb_dicom
[ 85%] Built target osgWidget
[100%] Built target osgdb_ive
[100%] Built target osgdb_osgwidget
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp: In member function ‘void ply::VertexData::readVertices(PlyFile*, int, bool)’:
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:75: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:80: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp: In member function ‘void ply::VertexData::readTriangles(PlyFile*, int)’:
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:118: warning: deprecated conversion from string constant to ‘char*’
/home/robert/OpenSceneGraph/src/osgPlugins/ply/vertexData.cpp:120: warning: deprecated conversion from string constant to ‘char*’
Linking CXX shared module ../../../lib/osgPlugins-2.9.2/osgdb_ply.so
Quote:
|
_______________________________________________
osg-submissions mailing list
(Only registered users can see emails on this board! Get registred or enter the forums! | )
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
|
|
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
James Killian Guest
|
Posted: Fri Apr 10, 2009 2:35 am Post subject: 10000 woot |
|
|
Just thought I remark today the rev has hit >10000
(or it could have been yesterday)
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
robertosfield OSG Project Lead
Joined: 18 Mar 2009 Posts: 12205
|
Posted: Fri Apr 10, 2009 9:32 am Post subject: Would like to contribute osg-plugin for ply file (Stanford Triangle Format) |
|
|
On Thu, Apr 9, 2009 at 10:18 PM, Santosh < ( Only registered users can see emails on this board! Get registred or enter the forums! |
)> wrote:
Quote:
|
Hi Robert
Attached is the updated ply.h and plyfile.cpp in which I resolved the warnings of vertexData.cpp.()
|
Thanks changes now merged and submitted to snv/trunk.
Quote:
|
On my system I didn't got the warnings of fread() in plyfile.cpp so I couldn't fix those warnings.
I compiled with gcc version 4.2.1. I think these warnings are getting due to some standard include file need to be included explicitly in particular OS or gcc version.
|
The error is down to the result from fread not being used at all. This highlights the fact that the code doesn't have any proper error detection mechanism - it's just ignoring problems such as file errors. A quick review of the code shows that the is an exit() in there, something which is really bad news for live code, it would be far better to throw an exception and catch this in the ReaderWriterPLY.cpp.
I'm not too familiar with this code base yet so could you have a look at adding checks into the fread operations that fix the warning and provide a error mechanism that provides the plugin with an graceful recrovery from error.
Thanks,
Robert.
------------------
Post generated by Mail2Forum |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|