Hi Sukender,
On Thu, Apr 21, 2011 at 4:05 PM, Sukender <[email protected]> wrote:
> First of all: agreed to make it work for all (images, shaders, potatoes...)
Perhaps we should generalize to supporting vegtables rather thean
specifically potatoes ;-)
I think it should be relatively straight forward to handling
osg::Object's and let the class call the appropriate osgDB::write
method.
> About features:
>> 1) Enable writing out of images only once
>> 2) Handling of paths that are absolute or relative.
>> 3) Handles directory creation when paths don't just exist
>
> Additionnal feature:
> 2.1) Also get the absolute path where it was written, as well as the path
> relative to the "main file" (= the 3D model)
> 2.2) Also generate writing paths which may keep original directory structure
> ("_keepRelativePaths" member).
> Ex: Reading model.osg, which has "images/img1.jpg".
> Writing "/somePath/newmodel.osg" and "/somePath/images/img1.jpg"
> Of course, with the option disabled, this may write
> "/somePath/img1.jpg"
> 4) Duplicate handling: avoid writing two different images (or "things") at
> the same place.
So this would be renaming when the same filename is requested but the
actual Object being passed
in isn't the same?
> What should also be added:
> 5) Handling of naming constraints (such as "8.3" names in 3DS)
>
>
> About "caching" values, yes that's true FOR NOW the write() comes just after.
> So, I agree to merge setCurImage() and write() ("writeImage()", then?). But
> this also makes getCurAbsolutePath() and getCurRelativeOrAbsolutePath()
> return paths where image was written. So maybe the writeImage() should return
> a pair of strings (or fill a structure)?
This type of state data associated with an operation should probably
be passed into the write method via a reference or passed back as a
result, these two approaches would avoid state being stored.
> And finally, what about "WriterHelper" or "ExternalFileWriter"?
ExternalFileWriter would probably be my current preference, although I
am sure we could find a better name. Can't think of a better one
right now... Perhaps others can chip in.
Robert.
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org