Thanks, Robert.

I've attached two source files, which, when compiled with VS, display the 70
warnings below.

In this case, the file doesn't actually need to #include <osgDB/Registry>,
and removing that #include eliminates _all_ warnings. While this was a good
catch, I have another source file that _does_ need to #include
<osgDB/Registry>, and it spews out an identical set of warnings. So, please
view the attached files and warnings below as an example of a real issue,
not resolvable by simply removing the #include.

Obviously, there's some benefit to me going through all my projects and
looking for such mistakes. I'm just looking for a quick way to avoid doing
that _right_now_ so that it doesn't impact my productivity regarding my
current projects and deadlines. Unfortunately there doesn't appear to be a
way to easily return to my previous "zero warnings" state, short of rolling
back OSG.

Paul Martz
Skew Matrix Software LLC
http://www.skew-matrix.com
+1 303 859 9466


1>------ Build started: Project: osgdb_PolyTrans, Configuration: Release
Win32 ------
1>Compiling...
1>OptionLoader.cpp
1>C:\Program Files\OpenSceneGraph\include\osg/Shape(612) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Shape(634) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/PrimitiveSet(496) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/PrimitiveSet(504) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/PrimitiveSet(571) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/PrimitiveSet(579) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/PrimitiveSet(645) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/PrimitiveSet(653) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/StateAttribute(259) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/Uniform(318) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Program(86) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/StateSet(92) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/State(137) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Node(147) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Node(282) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Group(100) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Group(142) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Image(276) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/OperationThread(111) : warning
C4267: 'return' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/Stats(41) : warning C4267:
'return' : conversion from 'size_t' to 'int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Stats(105) : warning C4267:
'return' : conversion from 'size_t' to 'int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/View(134) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Drawable(157) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Geometry(202) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Geometry(222) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/Geometry(234) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/KdTree(134) : warning C4267:
'initializing' : conversion from 'size_t' to 'int', possible loss of data
1>C:\Program Files\OpenSceneGraph\include\osg/KdTree(150) : warning C4267:
'initializing' : conversion from 'size_t' to 'unsigned int', possible loss
of data
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=GLfloat,
1>            ARRAYTYPE=FloatArrayType,
1>            DataSize=1,
1>            DataType=5126
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Shape(511) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLfloat,
1>            ARRAYTYPE=FloatArrayType,
1>            DataSize=1,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLfloat,
1>            ARRAYTYPE=FloatArrayType,
1>            DataSize=1,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec3,
1>            ARRAYTYPE=Vec3ArrayType,
1>            DataSize=3,
1>            DataType=5126
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(29) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec3,
1>            ARRAYTYPE=Vec3ArrayType,
1>            DataSize=3,
1>            DataType=5126
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(29) : while
compiling class template member function 'osg::ref_ptr<T>::ref_ptr(T *)'
1>        with
1>        [
1>            T=osg::Vec3Array
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Shape(458) : see
reference to class template instantiation 'osg::ref_ptr<T>' being compiled
1>        with
1>        [
1>            T=osg::Vec3Array
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec3,
1>            ARRAYTYPE=Vec3ArrayType,
1>            DataSize=3,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec4d,
1>            ARRAYTYPE=Vec4dArrayType,
1>            DataSize=4,
1>            DataType=5130
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec4d,
1>            ARRAYTYPE=Vec4dArrayType,
1>            DataSize=4,
1>            DataType=5130
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : while
compiling class template member function 'void
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::accept(osg::ConstArrayVis
itor &) const'
1>        with
1>        [
1>            T=GLfloat,
1>            ARRAYTYPE=FloatArrayType,
1>            DataSize=1,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec4d,
1>            ARRAYTYPE=Vec4dArrayType,
1>            DataSize=4,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec3d,
1>            ARRAYTYPE=Vec3dArrayType,
1>            DataSize=3,
1>            DataType=5130
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec3d,
1>            ARRAYTYPE=Vec3dArrayType,
1>            DataSize=3,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec3d,
1>            ARRAYTYPE=Vec3dArrayType,
1>            DataSize=3,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec2d,
1>            ARRAYTYPE=Vec2dArrayType,
1>            DataSize=2,
1>            DataType=5130
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec2d,
1>            ARRAYTYPE=Vec2dArrayType,
1>            DataSize=2,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec2d,
1>            ARRAYTYPE=Vec2dArrayType,
1>            DataSize=2,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec4s,
1>            ARRAYTYPE=Vec4sArrayType,
1>            DataSize=4,
1>            DataType=5122
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec4s,
1>            ARRAYTYPE=Vec4sArrayType,
1>            DataSize=4,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec4s,
1>            ARRAYTYPE=Vec4sArrayType,
1>            DataSize=4,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec3s,
1>            ARRAYTYPE=Vec3sArrayType,
1>            DataSize=3,
1>            DataType=5122
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec3s,
1>            ARRAYTYPE=Vec3sArrayType,
1>            DataSize=3,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec3s,
1>            ARRAYTYPE=Vec3sArrayType,
1>            DataSize=3,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec2s,
1>            ARRAYTYPE=Vec2sArrayType,
1>            DataSize=2,
1>            DataType=5122
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec2s,
1>            ARRAYTYPE=Vec2sArrayType,
1>            DataSize=2,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec2s,
1>            ARRAYTYPE=Vec2sArrayType,
1>            DataSize=2,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec4b,
1>            ARRAYTYPE=Vec4bArrayType,
1>            DataSize=4,
1>            DataType=5120
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec4b,
1>            ARRAYTYPE=Vec4bArrayType,
1>            DataSize=4,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec4b,
1>            ARRAYTYPE=Vec4bArrayType,
1>            DataSize=4,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec3b,
1>            ARRAYTYPE=Vec3bArrayType,
1>            DataSize=3,
1>            DataType=5120
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec3b,
1>            ARRAYTYPE=Vec3bArrayType,
1>            DataSize=3,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec3b,
1>            ARRAYTYPE=Vec3bArrayType,
1>            DataSize=3,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec2b,
1>            ARRAYTYPE=Vec2bArrayType,
1>            DataSize=2,
1>            DataType=5120
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec2b,
1>            ARRAYTYPE=Vec2bArrayType,
1>            DataSize=2,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec2b,
1>            ARRAYTYPE=Vec2bArrayType,
1>            DataSize=2,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec4ub,
1>            ARRAYTYPE=Vec4ubArrayType,
1>            DataSize=4,
1>            DataType=5121
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec4ub,
1>            ARRAYTYPE=Vec4ubArrayType,
1>            DataSize=4,
1>            DataType=5121
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec4ub,
1>            ARRAYTYPE=Vec4ubArrayType,
1>            DataSize=4,
1>            DataType=5121
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec4,
1>            ARRAYTYPE=Vec4ArrayType,
1>            DataSize=4,
1>            DataType=5126
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec4,
1>            ARRAYTYPE=Vec4ArrayType,
1>            DataSize=4,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec4,
1>            ARRAYTYPE=Vec4ArrayType,
1>            DataSize=4,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=osg::Vec2,
1>            ARRAYTYPE=Vec2ArrayType,
1>            DataSize=2,
1>            DataType=5126
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=osg::Vec2,
1>            ARRAYTYPE=Vec2ArrayType,
1>            DataSize=2,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=osg::Vec2,
1>            ARRAYTYPE=Vec2ArrayType,
1>            DataSize=2,
1>            DataType=5126
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(229) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(229) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(void)
const'
1>        with
1>        [
1>            T=GLdouble,
1>            ARRAYTYPE=DoubleArrayType,
1>            DataSize=1,
1>            DataType=5130
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLdouble,
1>            ARRAYTYPE=DoubleArrayType,
1>            DataSize=1,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(230) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(230) : while
compiling class template member function 'unsigned int
osg::TemplateArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLdouble,
1>            ARRAYTYPE=DoubleArrayType,
1>            DataSize=1,
1>            DataType=5130
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(315) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(315) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(voi
d) const'
1>        with
1>        [
1>            T=GLuint,
1>            ARRAYTYPE=UIntArrayType,
1>            DataSize=1,
1>            DataType=5125
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLuint,
1>            ARRAYTYPE=UIntArrayType,
1>            DataSize=1,
1>            DataType=5125
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(316) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(316) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLuint,
1>            ARRAYTYPE=UIntArrayType,
1>            DataSize=1,
1>            DataType=5125
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(315) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(315) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(voi
d) const'
1>        with
1>        [
1>            T=GLushort,
1>            ARRAYTYPE=UShortArrayType,
1>            DataSize=1,
1>            DataType=5123
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLushort,
1>            ARRAYTYPE=UShortArrayType,
1>            DataSize=1,
1>            DataType=5123
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(316) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(316) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLushort,
1>            ARRAYTYPE=UShortArrayType,
1>            DataSize=1,
1>            DataType=5123
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(315) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(315) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(voi
d) const'
1>        with
1>        [
1>            T=GLubyte,
1>            ARRAYTYPE=UByteArrayType,
1>            DataSize=1,
1>            DataType=5121
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLubyte,
1>            ARRAYTYPE=UByteArrayType,
1>            DataSize=1,
1>            DataType=5121
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(316) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(316) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLubyte,
1>            ARRAYTYPE=UByteArrayType,
1>            DataSize=1,
1>            DataType=5121
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(315) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(315) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(voi
d) const'
1>        with
1>        [
1>            T=GLint,
1>            ARRAYTYPE=IntArrayType,
1>            DataSize=1,
1>            DataType=5124
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLint,
1>            ARRAYTYPE=IntArrayType,
1>            DataSize=1,
1>            DataType=5124
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(316) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(316) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLint,
1>            ARRAYTYPE=IntArrayType,
1>            DataSize=1,
1>            DataType=5124
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(315) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(315) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(voi
d) const'
1>        with
1>        [
1>            T=GLshort,
1>            ARRAYTYPE=ShortArrayType,
1>            DataSize=1,
1>            DataType=5122
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLshort,
1>            ARRAYTYPE=ShortArrayType,
1>            DataSize=1,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(316) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(316) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLshort,
1>            ARRAYTYPE=ShortArrayType,
1>            DataSize=1,
1>            DataType=5122
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(315) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(315) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getTotalDataSize(voi
d) const'
1>        with
1>        [
1>            T=GLbyte,
1>            ARRAYTYPE=ByteArrayType,
1>            DataSize=1,
1>            DataType=5120
1>        ]
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(500) : see
reference to class template instantiation
'osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>' being compiled
1>        with
1>        [
1>            T=GLbyte,
1>            ARRAYTYPE=ByteArrayType,
1>            DataSize=1,
1>            DataType=5120
1>        ]
1>C:\Program Files\OpenSceneGraph\include\osg/Array(316) : warning C4267:
'return' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>        C:\Program Files\OpenSceneGraph\include\osg/Array(316) : while
compiling class template member function 'unsigned int
osg::TemplateIndexArray<T,ARRAYTYPE,DataSize,DataType>::getNumElements(void)
const'
1>        with
1>        [
1>            T=GLbyte,
1>            ARRAYTYPE=ByteArrayType,
1>            DataSize=1,
1>            DataType=5120
1>        ]
1>Build log was saved at
"file://c:\Projects\Physics\PolyTrans\osgPT\osgdb_PolyTrans\VS8\src\osgdb_Po
lyTrans\Release\BuildLog.htm"
1>osgdb_PolyTrans - 0 error(s), 70 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
#include "OptionLoader.h"
#include <osg/Notify>
#include <osgDB/Registry>
#include <osgDB/FileNameUtils>
#include <iostream>
#include <sstream>

OptionLoader::OptionLoader()
{
}

OptionLoader::~OptionLoader()
{
}

bool
OptionLoader::load( std::istream& in )
{
    bool valid( true );
    int lineNum( 0 );
    while (in.good())
    {
        std::string raw;
        ++lineNum;
        std::getline( in, raw );
        std::string ln = trim( raw );
        if (ln.empty()) continue;
        if (ln[0] == '#') continue;
        if (ln[0] == '/') continue;

        std::string::size_type spIdx = ln.find_first_of( " \t" );
        if (spIdx == ln.npos)
        {
            // mapExt and toExt must be on the same line, separated by a space.
            osg::notify( osg::WARN) << "osgdb_PolyTrans: Options line " << 
lineNum << ": Syntax error: missing space in \"" << raw << "\"." << std::endl;
            valid = false;
            continue;
        }

        const std::string option = trim( ln.substr( 0, spIdx ) );
        const std::string value = trim( ln.substr( spIdx+1 ) );
        _opts[ option ] = value;
    }

    return valid;
}

// If the option exists, return its string value and "true".
// Return "false" and do not modify the value otherwise.
bool
OptionLoader::getOption( const std::string& option, std::string& value ) const
{
    bool found( false );
    OptionMap::const_iterator it = _opts.find( option );
    if (it != _opts.end())
    {
        value = (*it).second;
        found = true;
    }
    return found;
}

// If the option exists and its value is a Boolean, return the Boolean value 
and "true".
// Return "false" and do not modify the value otherwise.
bool
OptionLoader::getOption( const std::string& option, bool& value ) const
{
    bool found( false );
    OptionMap::const_iterator it = _opts.find( option );
    if (it != _opts.end())
    {
        std::string optStr = (*it).second;
        if (osgDB::equalCaseInsensitive( optStr, "true" ) ||
            osgDB::equalCaseInsensitive( optStr, "on" ) ||
            osgDB::equalCaseInsensitive( optStr, "1" ) ||
            osgDB::equalCaseInsensitive( optStr, "y" ) ||
            osgDB::equalCaseInsensitive( optStr, "yes" ) )
        {
            found = true;
            value = true;
        }
        else if (osgDB::equalCaseInsensitive( optStr, "false" ) ||
            osgDB::equalCaseInsensitive( optStr, "off" ) ||
            osgDB::equalCaseInsensitive( optStr, "0" ) ||
            osgDB::equalCaseInsensitive( optStr, "n" ) ||
            osgDB::equalCaseInsensitive( optStr, "no" ) )
        {
            found = true;
            value = false;
        }
    }
    return found;
}

// If the option exists and its value is an integer, return the int value and 
"true".
// Return "false" and do not modify the value otherwise.
bool
OptionLoader::getOption( const std::string& option, int& value ) const
{
    bool found( false );
    OptionMap::const_iterator it = _opts.find( option );
    if (it != _opts.end())
    {
            std::istringstream iStr( (*it).second );
            int optInt;
            iStr >> optInt;
            if (!iStr.fail())
        {
                value = optInt;
            found = true;
        }
    }
    return found;
}

// If the option exists and its value is a float, return the float value and 
"true".
// Return "false" and do not modify the value otherwise.
bool
OptionLoader::getOption( const std::string& option, float& value ) const
{
    bool found( false );
    OptionMap::const_iterator it = _opts.find( option );
    if (it != _opts.end())
    {
            std::istringstream iStr( (*it).second );
            float optFloat;
            iStr >> optFloat;
            if (!iStr.fail())
        {
                value = optFloat;
            found = true;
        }
    }
    return found;
}

std::string
OptionLoader::trim( const std::string& str )
{
    if (!str.size()) return str;
    std::string::size_type first = str.find_first_not_of( " \t" );
    std::string::size_type last = str.find_last_not_of( "  \t\r\n" );
    if ((first==str.npos) || (last==str.npos)) return std::string( "" );
    return str.substr( first, last-first+1 );
}
#ifndef __OPTION_LOADER_H__
#define __OPTION_LOADER_H__ 1

#include <string>
#include <map>


// This class is designed to parse a text istream consisting of comment lines
//   and parameter / value(s) lines.
//
// Leading blanks before the start of the parameter name are skipped. Any
//   number of spaces or tabs can separate the parameter from its value(s).
//   The parameter name can't contain whitespace.
//
// osgdb_PolyTrans uses semicolons to separate osgDB::ReaderWriter::Options
//   strings, which is passes to this class for parameter/value parsing.
//   Some osgdb_PolyTrans values use commas internally. However, this class
//   is ignorant of semicolons and commas.
//
// A parameter/value line has the following syntax:
//   [whitespace]parameter<whitespace>value[whitespace]
// For example:
//   CachedLoad true
//
// Recognized Booleans:
//   true: "true", "1", "on", "y", "yes"
//   false: "false", "0", "off", "n", "no"
//
// Comments are defined as lines starting with '/' or '#'.
class OptionLoader
{
public:
    OptionLoader();
    ~OptionLoader();

    // Load possibly multiple parameter/value(s) from the given istream.
    bool load( std::istream& in );

    bool getOption( const std::string& option, std::string& value ) const;
    bool getOption( const std::string& option, bool& value ) const;
    bool getOption( const std::string& option, int& value ) const;
    bool getOption( const std::string& option, float& value ) const;

private:
    typedef std::map<std::string,std::string> OptionMap;
    OptionMap _opts;

    static std::string trim( const std::string& str );
};


#endif
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to