I think it should work

look at
std::string Registry::createLibraryNameForExtension(const std::string& ext)

Nick

http://www.linkedin.com/in/tnick
Sent from Ünalan, İstanbul, Turkey

On Mon, Dec 14, 2009 at 10:27 PM, Paul Martz <[email protected]> wrote:

> I have always been able to register an extension alias by calling
> addFileExtensionAlias directly from my code, the calling readNodeFile
> passing in a file name using the alias.
>
> I have never tried the asserts that you are using.
>
> If this is broke, this is a new breakage. Perhaps by debugging the code,
> you can determine what's going wrong?
>
> Paul Martz
> Skew Matrix Software LLC
> _http://www.skew-matrix.com_ <http://www.skew-matrix.com/>
> +1 303 859 9466
>
>
>
>
> Jan Pečiva wrote:
>
>> Hi Robert,
>>
>>  Extension alias certainly does work
>>>
>>
>> Yes and no. It works in Registry.cpp by
>>  Registry::addFileExtensionAlias(from,to);
>>
>> But
>>
>>  Registry::addFileExtensionAlias("my_new_ext","osg");
>>
>> will certainly not work. You have to go to
>> osgPlugin/osg/ReaderWriterOSG.cpp and put
>>  supportsExtension("my_new_ext","My new extension");
>>
>> to the OSGReaderWriter constructor. And that is sick idea - you have to
>> hack osgPlugin sources to create extensions aliases. No way around. This is
>> the painful point.
>>
>> It is simple to test the problem on few lines:
>>  assert(osgDB::Registry::instance()->getReaderWriterForExtension("iv") !=
>> NULL);
>>  osgDB::Registry::instance()->addFileExtensionAlias("ivx", "iv");
>>  assert(osgDB::Registry::instance()->getReaderWriterForExtension("ivx") !=
>> NULL);
>>
>> Unless
>>  supportsExtension("ivx","Inventor format");
>> is put to ReaderWriterIV constructor, the second assert ALWAYS fails.
>>
>> John
>>
>>
>>
>> Robert Osfield wrote:
>>
>>> Hi John,
>>>
>>> Extension alias certainly does work - it's used all the time by osgDB,
>>> go look inside src/osgDB/Registry.cpp to see lots of examples of it in
>>> action.  What is happening at your end I can't guess, I don't have
>>> your code.
>>>
>>> Robert.
>>>
>>> On Mon, Dec 14, 2009 at 2:08 PM, Jan Pečiva <[email protected]> wrote:
>>>
>>>
>>>> Robert,
>>>> thanks for the comment, however it does not work. Do I need to
>>>> extend/patch
>>>> OSG?
>>>>
>>>> An investigation showed that many plugins check once again in readNode
>>>> method whether the extension is accepted. At this moment, ivx is
>>>> refused. I
>>>> am not sure, but the explicit alias that user makes should be stronger
>>>> than
>>>> what plugin thinks about itself. Reasons: Sometimes, software developers
>>>> just decide to change file extension while the format stays the same.
>>>> The
>>>> application for interiors design may want to use "int" extension while
>>>> file
>>>> format is still osg, or whatever. I think, OSG should allow to do that.
>>>>
>>>> Ideas?
>>>>
>>>> I suggest to change
>>>>
>>>>  bool ReaderWriter::acceptsExtension(const std::string& extension)
>>>> const;
>>>>
>>>> to accept even the extensions added by:
>>>>
>>>>  osgDB::Registry::instance()->addFileExtensionAlias(from,to);
>>>>
>>>> Comments?
>>>>
>>>> Thx,
>>>> John
>>>>
>>>>
>>>> Robert Osfield wrote:
>>>>
>>>>
>>>>> Hi John,
>>>>>
>>>>> On Mon, Dec 14, 2009 at 1:17 PM, Jan Pečiva <[email protected]>
>>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Question: Is is possible to register the ivx alias?
>>>>>>
>>>>>>
>>>>>>
>>>>> You have two options, to preload your plugin so it gets tried before
>>>>> any other plugin so can intercept and handle all .iv file reads, or to
>>>>> use an osgDB::Registry file extension alias.  The later is probably
>>>>> the neatest solution can be done via:
>>>>>
>>>>>  osgDB::Registry::instance()->addFileExtensionAlias("iv","ivx");
>>>>>
>>>>> Robert.
>>>>> _______________________________________________
>>>>> osg-users mailing list
>>>>> [email protected]
>>>>>
>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> [email protected]
>>>>
>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> [email protected]
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>>
>>>
>> _______________________________________________
>> osg-users mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to