I have a fix that allows URI's to be used

I have gone for the quick fix in that I'm not converting a UNC to a URI ( as
that could get messy )

But the loader now works with a URI


I'll post to submissions shortly

Gordon

 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Monday, November 19, 2007 5:45 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] Collada plugin DAE flaws

Hi Roger,

The Dae plugin needn't call findDataFiles() at all if the Collada DOM will
do this for you, alternatively you could parse the URI string and then make
it into something that findDataFiles() can parse then pass this final file
back to the rest of the plugin in a form it can handle.

Robert.

On Nov 18, 2007 7:56 PM, Roger James <[EMAIL PROTECTED]> wrote:
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:osg-users- 
> > [EMAIL PROTECTED] On Behalf Of Gordon Tomlinson
> > Sent: 18 November 2007 19:17
> > To: 'OpenSceneGraph Users'
> > Subject: Re: [osg-users] Collada plugin DAE flaws
> >
> > Hi Roger
> >
> > I cannot seem to get a URI that will load of a network location, I have
> > tried "/////SomeMachine/somedir/somefile.dae"   and
> > "file://///SomeMachine/somedir/somefile.dae" and variations but 
> > cannot load I just get a file note found while it works locally
> >
> > Can you load of a networked file ?
> >
> > Sadly I only have access to release files for a while so cannot 
> > really step into it to find the issue  ;(
> >
> >
> >
> [Roger James]
>
> Hi Gordon.
>
> I am afraid it worse than I intimated in my last message. Dae uses 
> uris internally but osg only expects file names to be passed to plugins.
>
> The dae reader contains the following code
>
> osgDB::ReaderWriter::ReadResult
> ReaderWriterDAE::readNode(const std::string& fname,
>         const osgDB::ReaderWriter::Options* options) const {
>     SERIALIZER();
>
>     std::string ext( osgDB::getLowerCaseFileExtension(fname) );
>     if( ! acceptsExtension(ext) ) return ReadResult::FILE_NOT_HANDLED;
>
>     std::string fileName( osgDB::findDataFile( fname, options ) );
>     if( fileName.empty() ) return ReadResult::FILE_NOT_FOUND;
>
>
> findDataFile will choke on the uri you passed to it.
>
> You can browse the source at www.openscenegraph.org just select the 
> "Browse Source" option from the menu bar. You might have saved 
> yourself a bit of head scratching that way :-)
>
> This means that only simple path names get through complex windows 
> ones break it.
>
> I doubt if
>
> "\\?\UNC\<server>\<share>"
>
> Will work :-)
>
> Roger
>
>
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.
> org
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to