Alright then. I guess adopting a kind of Path structure is not on the agenda, 
or is it? :)
Thank your for answering.

Sukender
PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/


Le Mon, 01 Dec 2008 12:12:12 +0100, Robert Osfield <[EMAIL PROTECTED]> a écrit:

> Hi Sukender,
>
> I don't feel this suggestion is appropriate for the OSG.  Adaption of
> external data structures is a better route that directly integrating
> and then using optional compilation to weave a route.
>
> Robert.
>
> On Mon, Dec 1, 2008 at 9:59 AM, Sukender <[EMAIL PROTECTED]> wrote:
>> Hi Robert, hi everyone,
>>
>> Abstract (If you don't have time to read all the mail!): Some dependencies 
>> may be added to OSG when users manually compile OSG with CMake. This would 
>> be a strictly optional feature that would not be included in precompiled 
>> packages. Examples: boost ref pointers, boost paths, etc.
>>
>>
>> Detail:
>> I know core OSG should not have dependencies other than critical ones, but 
>> what about *optional* dependencies?
>> I explain myself... I mainly think about boost, but this may be applied to 
>> more. The idea is that some portions of code *may* use dependencies that the 
>> user chooses while executing the CMake script. But precompiled packackes 
>> would *NEVER* use such dependencies (or else this would be a custom package).
>>
>> Take this example: file and directories paths. All methods using paths 
>> should be written like this:
>>    void readNodeFile(osg::Path & filePath);
>>
>> Then, in <osg/Path> header would be found something like:
>>    #ifdef OSG_USE_BOOST_FILESYSTEM
>>
>>    #include <boost/filesystem/path.hpp>
>>    namespace osg {
>>        typedef boost::filesystem::path Path;
>>    }
>>
>>    #else
>>
>>    #include <string>
>>    namespace osg {
>>        typedef std::string Path;
>>    }
>>    #endif    // OSG_USE_BOOST_FILESYSTEM
>>
>>
>> An option that defines "OSG_USE_BOOST_FILESYSTEM" may then be found in the 
>> CMake, and should be turned OFF by default (and marked as "advanced"). Of 
>> course we would also have "BOOST_INCLUDE" and "BOOST_LIB"-like variables, 
>> created by the FindBoost standard module.
>>
>> Advantages:
>> - Users using use boost::filesystem in their project would benefit from it 
>> into OSG.
>> - It increases the interoperability with other libraries, since the user 
>> would not have to write method overloads that might create compile errors 
>> (try calling an osgDB::readNodeFile(boost::filesystem::path &) overload 
>> giving it a std::string and and you'll get a "ambiguous call" error).
>> - Methods using paths would be clearer (as a path is not necessarily a 
>> string).
>>
>> Drawbacks:
>> - It needs a little tweak in the CMake.
>> - Well, I don't see more drawbacks (As this would be a strictly optional 
>> feature, used and maintained by those who use it).
>>
>> Other options like these may be included by users that want to use some 
>> dependencies, such as boost ref pointers (As it has been discussed before). 
>> These optional features would benefit other users.
>>
>> About using boost::filesystem, I can write the code and send it to 
>> osg-submissions. I just wait for authorization.
>>
>> All users are invited to post suggestions about this!
>> Thanks for reading!
>>
>> Sukender
>> PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/
>> _______________________________________________
>> 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