Merge branch 'OpenSceneGraph-3.6' into build/windows_clang_3.6_target

This commit is contained in:
Robert Osfield
2020-11-10 14:41:56 +00:00
committed by GitHub
97 changed files with 199 additions and 166 deletions

View File

@@ -277,14 +277,14 @@ void osgDB::convertStringPathIntoFilePathList(const std::string& paths,FilePathL
#if defined(_WIN32) && !defined(__CYGWIN__)
char delimitor = ';';
#else
char delimitor = ':';
char delimiter = ':';
#endif
if (!paths.empty())
{
std::string::size_type start = 0;
std::string::size_type end;
while ((end = paths.find_first_of(delimitor,start))!=std::string::npos)
while ((end = paths.find_first_of(delimiter,start))!=std::string::npos)
{
filepath.push_back(std::string(paths,start,end-start));
start = end+1;
@@ -988,7 +988,7 @@ bool osgDB::containsCurrentWorkingDirectoryReference(const FilePathList& paths)
// The Carbon version is noticeably longer.
// Unfortunately, the Cocoa version requires -lobjc to be
// linked in when creating an executable.
// Rumor is that this will be done autmatically in gcc 3.5/Tiger,
// Rumor is that this will be done automatically in gcc 3.5/Tiger,
// but for now, this will cause a lot of headaches for people
// who aren't familiar with this concept, so the Carbon version
// is preferable.

View File

@@ -576,7 +576,7 @@ void OutputStream::writeImage( const osg::Image* img )
std::string encodedData;
e.encode((char*)img_itr.data(), img_itr.size(), encodedData);
// Each set of data is written into a separate string so we can
// distiguish between main data and all mipmap levels, so writing
// distinguish between main data and all mipmap levels, so writing
// mipmap size is not required for ASCII mode.
writeWrappedString(encodedData);
}
@@ -781,7 +781,7 @@ void OutputStream::start( OutputIterator* outIterator, OutputStream::WriteType t
}
// From SOVERSION 98, start to support binary begin/end brackets so we can easily ignore
// errors and unsupport classes, enabling the attribute bit
// errors and unsupported classes, enabling the attribute bit
if ( _useRobustBinaryFormat )
{
outIterator->setSupportBinaryBrackets( true );

View File

@@ -82,6 +82,7 @@ bool osgDB::queryPlugin(const std::string& fileName, ReaderWriterInfoList& infoL
rwi->protocols = rw->supportedProtocols();
rwi->extensions = rw->supportedExtensions();
rwi->options = rw->supportedOptions();
rwi->environment = rw->supportedEnvironment();
rwi->features = rw->supportedFeatures();
infoList.push_back(rwi.get());
@@ -153,6 +154,13 @@ bool osgDB::outputPluginDetails(std::ostream& out, const std::string& fileName)
if (fdm_itr->first.length()>longestOptionLength) longestOptionLength = fdm_itr->first.length();
}
for(fdm_itr = info.environment.begin();
fdm_itr != info.environment.end();
++fdm_itr)
{
if (fdm_itr->first.length()>longestOptionLength) longestOptionLength = fdm_itr->first.length();
}
unsigned int padLength = longestOptionLength+4;
for(fdm_itr = info.protocols.begin();
@@ -175,6 +183,13 @@ bool osgDB::outputPluginDetails(std::ostream& out, const std::string& fileName)
{
out<<" options : "<<padwithspaces(fdm_itr->first, padLength)<<fdm_itr->second<<std::endl;
}
for(fdm_itr = info.environment.begin();
fdm_itr != info.environment.end();
++fdm_itr)
{
out<<" environment: "<<padwithspaces(fdm_itr->first, padLength)<<fdm_itr->second<<std::endl;
}
out<<" }"<<std::endl;
}
out<<"}"<<std::endl<<std::endl;

View File

@@ -128,6 +128,11 @@ void ReaderWriter::supportsOption(const std::string& fmt, const std::string& des
_supportedOptions[fmt] = description;
}
void ReaderWriter::supportsEnvironment(const std::string& fmt, const std::string& description)
{
_supportedEnvironment[fmt] = description;
}
ReaderWriter::Features ReaderWriter::supportedFeatures() const
{
int features = FEATURE_NONE;

View File

@@ -434,7 +434,7 @@ Registry::Registry()
addFileExtensionAlias("fnt", "freetype"); // Windows bitmap fonts
addFileExtensionAlias("text3d", "freetype"); // use 3D Font instead of 2D Font
// wont't add type1 and type2 until resolve extension collision with Performer binary and ascii files.
// won't add type1 and type2 until resolve extension collision with Performer binary and ascii files.
// addFileExtensionAlias("pfb", "freetype"); // type1 binary
// addFileExtensionAlias("pfa", "freetype"); // type2 ascii