Build fixes to reflect removal of deprecated_osg::Geometry
This commit is contained in:
parent
62fd0ef368
commit
7d34e8f441
@ -288,73 +288,4 @@ inline Geometry* createTexturedQuadGeometry(const Vec3& corner,const Vec3& width
|
|||||||
|
|
||||||
} // namespace osg
|
} // namespace osg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Contains deprecated features of namespace osg. */
|
|
||||||
namespace deprecated_osg {
|
|
||||||
|
|
||||||
/** Geometry class contaning deprecated features.
|
|
||||||
* Users should only use deprecated_osg::Geometry when absolutely necessary for keeping things compiling,
|
|
||||||
* it is recommended that you should migrate your code to work just with osg::Geometry as existing
|
|
||||||
* deprecated_osg::Geometry will be removed in future release.
|
|
||||||
*/
|
|
||||||
class OSG_EXPORT Geometry : public osg::Geometry
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
Geometry() : osg::Geometry() {}
|
|
||||||
Geometry(const Geometry& geometry,const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY) : osg::Geometry(geometry, copyop) {}
|
|
||||||
|
|
||||||
/** Same values as Array::Binding.*/
|
|
||||||
enum AttributeBinding
|
|
||||||
{
|
|
||||||
BIND_OFF=0,
|
|
||||||
BIND_OVERALL=1,
|
|
||||||
BIND_PER_PRIMITIVE_SET=2,
|
|
||||||
BIND_PER_PRIMITIVE=3,
|
|
||||||
BIND_PER_VERTEX=4
|
|
||||||
};
|
|
||||||
|
|
||||||
void setNormalBinding(AttributeBinding ab);
|
|
||||||
AttributeBinding getNormalBinding() const;
|
|
||||||
|
|
||||||
void setColorBinding(AttributeBinding ab);
|
|
||||||
AttributeBinding getColorBinding() const;
|
|
||||||
|
|
||||||
void setSecondaryColorBinding(AttributeBinding ab);
|
|
||||||
AttributeBinding getSecondaryColorBinding() const;
|
|
||||||
|
|
||||||
void setFogCoordBinding(AttributeBinding ab);
|
|
||||||
AttributeBinding getFogCoordBinding() const;
|
|
||||||
|
|
||||||
void setVertexAttribBinding(unsigned int index,AttributeBinding ab);
|
|
||||||
AttributeBinding getVertexAttribBinding(unsigned int index) const;
|
|
||||||
|
|
||||||
void setVertexAttribNormalize(unsigned int index,GLboolean norm);
|
|
||||||
GLboolean getVertexAttribNormalize(unsigned int index) const;
|
|
||||||
|
|
||||||
void setVertexIndices(osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getVertexIndices() const;
|
|
||||||
|
|
||||||
void setNormalIndices(osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getNormalIndices() const;
|
|
||||||
|
|
||||||
void setColorIndices(osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getColorIndices() const;
|
|
||||||
|
|
||||||
void setSecondaryColorIndices(osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getSecondaryColorIndices() const;
|
|
||||||
|
|
||||||
void setFogCoordIndices(osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getFogCoordIndices() const;
|
|
||||||
|
|
||||||
void setTexCoordIndices(unsigned int unit,osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getTexCoordIndices(unsigned int unit) const;
|
|
||||||
|
|
||||||
void setVertexAttribIndices(unsigned int index,osg::IndexArray* array);
|
|
||||||
const osg::IndexArray* getVertexAttribIndices(unsigned int index) const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace deprecated_osg
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -20,8 +20,8 @@ using namespace osgDB;
|
|||||||
bool Geometry_readLocalData(Object& obj, Input& fr);
|
bool Geometry_readLocalData(Object& obj, Input& fr);
|
||||||
bool Geometry_writeLocalData(const Object& obj, Output& fw);
|
bool Geometry_writeLocalData(const Object& obj, Output& fw);
|
||||||
|
|
||||||
bool Geometry_matchBindingTypeStr(const char* str,deprecated_osg::Geometry::AttributeBinding& mode);
|
bool Geometry_matchBindingTypeStr(const char* str,osg::Array::Binding& mode);
|
||||||
const char* Geometry_getBindingTypeStr(deprecated_osg::Geometry::AttributeBinding mode);
|
const char* Geometry_getBindingTypeStr(const osg::Array* array);
|
||||||
|
|
||||||
bool Geometry_matchPrimitiveModeStr(const char* str,GLenum& mode);
|
bool Geometry_matchPrimitiveModeStr(const char* str,GLenum& mode);
|
||||||
const char* Geometry_getPrimitiveModeStr(GLenum mode);
|
const char* Geometry_getPrimitiveModeStr(GLenum mode);
|
||||||
@ -45,7 +45,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
{
|
{
|
||||||
bool iteratorAdvanced = false;
|
bool iteratorAdvanced = false;
|
||||||
|
|
||||||
deprecated_osg::Geometry& geom = static_cast<deprecated_osg::Geometry&>(obj);
|
osg::Geometry& geom = static_cast<osg::Geometry&>(obj);
|
||||||
|
|
||||||
if (fr.matchSequence("Primitives %i {") || fr.matchSequence("PrimitiveSets %i {") )
|
if (fr.matchSequence("Primitives %i {") || fr.matchSequence("PrimitiveSets %i {") )
|
||||||
{
|
{
|
||||||
@ -127,14 +127,14 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setVertexIndices(indices);
|
OSG_WARN<<"Warning: Geometry with vertex indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
deprecated_osg::Geometry::AttributeBinding normalBinding = deprecated_osg::Geometry::BIND_OFF;
|
osg::Array::Binding normalBinding = osg::Array::BIND_OFF;
|
||||||
if (fr[0].matchWord("NormalBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),normalBinding))
|
if (fr[0].matchWord("NormalBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),normalBinding))
|
||||||
{
|
{
|
||||||
fr+=2;
|
fr+=2;
|
||||||
@ -170,7 +170,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
geom.setNormalArray(normals);
|
geom.setNormalArray(normals, normalBinding);
|
||||||
|
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
++fr;
|
++fr;
|
||||||
@ -182,25 +182,24 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
Array* normals = Array_readLocalData(fr);
|
Array* normals = Array_readLocalData(fr);
|
||||||
if (normals)
|
if (normals)
|
||||||
{
|
{
|
||||||
geom.setNormalArray(normals);
|
geom.setNormalArray(normals, normalBinding);
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
geom.setNormalBinding(normalBinding);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fr[0].matchWord("NormalIndices"))
|
if (fr[0].matchWord("NormalIndices"))
|
||||||
{
|
{
|
||||||
++fr;
|
++fr;
|
||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setNormalIndices(indices);
|
OSG_WARN<<"Warning: Geometry with normal indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
deprecated_osg::Geometry::AttributeBinding colorBinding = deprecated_osg::Geometry::BIND_OFF;
|
osg::Array::Binding colorBinding = osg::Array::BIND_OFF;
|
||||||
if (fr[0].matchWord("ColorBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),colorBinding))
|
if (fr[0].matchWord("ColorBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),colorBinding))
|
||||||
{
|
{
|
||||||
fr+=2;
|
fr+=2;
|
||||||
@ -213,8 +212,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
Array* colors = Array_readLocalData(fr);
|
Array* colors = Array_readLocalData(fr);
|
||||||
if (colors)
|
if (colors)
|
||||||
{
|
{
|
||||||
geom.setColorArray(colors);
|
geom.setColorArray(colors, colorBinding);
|
||||||
geom.setColorBinding(colorBinding);
|
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
@ -225,13 +223,13 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setColorIndices(indices);
|
OSG_WARN<<"Warning: Geometry with color indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
deprecated_osg::Geometry::AttributeBinding secondaryColorBinding = deprecated_osg::Geometry::BIND_OFF;
|
osg::Array::Binding secondaryColorBinding = osg::Array::BIND_OFF;
|
||||||
if (fr[0].matchWord("SecondaryColorBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),secondaryColorBinding))
|
if (fr[0].matchWord("SecondaryColorBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),secondaryColorBinding))
|
||||||
{
|
{
|
||||||
fr+=2;
|
fr+=2;
|
||||||
@ -244,8 +242,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
Array* colors = Array_readLocalData(fr);
|
Array* colors = Array_readLocalData(fr);
|
||||||
if (colors)
|
if (colors)
|
||||||
{
|
{
|
||||||
geom.setSecondaryColorArray(colors);
|
geom.setSecondaryColorArray(colors, secondaryColorBinding);
|
||||||
geom.setSecondaryColorBinding(secondaryColorBinding);
|
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
@ -256,13 +253,13 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setSecondaryColorIndices(indices);
|
OSG_WARN<<"Warning: Geometry with secondary color indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
deprecated_osg::Geometry::AttributeBinding fogCoordBinding = deprecated_osg::Geometry::BIND_OFF;
|
osg::Array::Binding fogCoordBinding = osg::Array::BIND_OFF;
|
||||||
if (fr[0].matchWord("FogCoordBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),fogCoordBinding))
|
if (fr[0].matchWord("FogCoordBinding") && Geometry_matchBindingTypeStr(fr[1].getStr(),fogCoordBinding))
|
||||||
{
|
{
|
||||||
fr+=2;
|
fr+=2;
|
||||||
@ -275,8 +272,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
Array* fogcoords = Array_readLocalData(fr);
|
Array* fogcoords = Array_readLocalData(fr);
|
||||||
if (fogcoords)
|
if (fogcoords)
|
||||||
{
|
{
|
||||||
geom.setFogCoordArray(fogcoords);
|
geom.setFogCoordArray(fogcoords, fogCoordBinding);
|
||||||
geom.setFogCoordBinding(fogCoordBinding);
|
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
@ -287,7 +283,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setFogCoordIndices(indices);
|
OSG_WARN<<"Warning: Geometry with fog coord indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
@ -317,12 +313,12 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setTexCoordIndices(unit,indices);
|
OSG_WARN<<"Warning: Geometry with texture coord indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
deprecated_osg::Geometry::AttributeBinding vertexAttribBinding = deprecated_osg::Geometry::BIND_OFF;
|
osg::Array::Binding vertexAttribBinding = osg::Array::BIND_OFF;
|
||||||
if (fr.matchSequence("VertexAttribBinding %i %w") && Geometry_matchBindingTypeStr(fr[2].getStr(),vertexAttribBinding))
|
if (fr.matchSequence("VertexAttribBinding %i %w") && Geometry_matchBindingTypeStr(fr[2].getStr(),vertexAttribBinding))
|
||||||
{
|
{
|
||||||
int unit=0;
|
int unit=0;
|
||||||
@ -353,9 +349,10 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
Array* vertexattrib = Array_readLocalData(fr);
|
Array* vertexattrib = Array_readLocalData(fr);
|
||||||
if (vertexattrib)
|
if (vertexattrib)
|
||||||
{
|
{
|
||||||
|
vertexattrib->setBinding(vertexAttribBinding);
|
||||||
|
vertexattrib->setNormalize(vertexAttribNormalize);
|
||||||
|
|
||||||
geom.setVertexAttribArray(unit,vertexattrib);
|
geom.setVertexAttribArray(unit,vertexattrib);
|
||||||
geom.setVertexAttribBinding(unit,vertexAttribBinding);
|
|
||||||
geom.setVertexAttribNormalize(unit,vertexAttribNormalize);
|
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
|
|
||||||
@ -370,7 +367,7 @@ bool Geometry_readLocalData(Object& obj, Input& fr)
|
|||||||
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
IndexArray* indices = dynamic_cast<IndexArray*>(Array_readLocalData(fr));
|
||||||
if (indices)
|
if (indices)
|
||||||
{
|
{
|
||||||
geom.setVertexAttribIndices(unit,indices);
|
OSG_WARN<<"Warning: Geometry with vertex attrib indices no longer supported."<<std::endl;
|
||||||
}
|
}
|
||||||
iteratorAdvanced = true;
|
iteratorAdvanced = true;
|
||||||
}
|
}
|
||||||
@ -1276,7 +1273,7 @@ bool Primitive_writeLocalData(const PrimitiveSet& prim,Output& fw)
|
|||||||
|
|
||||||
bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
||||||
{
|
{
|
||||||
const deprecated_osg::Geometry& geom = static_cast<const deprecated_osg::Geometry&>(obj);
|
const osg::Geometry& geom = static_cast<const osg::Geometry&>(obj);
|
||||||
|
|
||||||
const Geometry::PrimitiveSetList& primitives = geom.getPrimitiveSetList();
|
const Geometry::PrimitiveSetList& primitives = geom.getPrimitiveSetList();
|
||||||
if (!primitives.empty())
|
if (!primitives.empty())
|
||||||
@ -1305,16 +1302,11 @@ bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
|||||||
Array_writeLocalData(*geom.getVertexArray(),fw);
|
Array_writeLocalData(*geom.getVertexArray(),fw);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (geom.getVertexIndices())
|
|
||||||
{
|
|
||||||
fw.indent()<<"VertexIndices ";
|
|
||||||
Array_writeLocalData(*geom.getVertexIndices(),fw);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (geom.getNormalArray())
|
if (geom.getNormalArray())
|
||||||
{
|
{
|
||||||
|
|
||||||
fw.indent()<<"NormalBinding "<<Geometry_getBindingTypeStr(geom.getNormalBinding())<<std::endl;
|
fw.indent()<<"NormalBinding "<<Geometry_getBindingTypeStr(geom.getNormalArray())<<std::endl;
|
||||||
|
|
||||||
// const Vec3Array& normals = *geom.getNormalArray();
|
// const Vec3Array& normals = *geom.getNormalArray();
|
||||||
// fw.indent()<<"NormalArray "<<normals.size()<<std::endl;
|
// fw.indent()<<"NormalArray "<<normals.size()<<std::endl;
|
||||||
@ -1324,47 +1316,27 @@ bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
|||||||
Array_writeLocalData(*geom.getNormalArray(),fw);
|
Array_writeLocalData(*geom.getNormalArray(),fw);
|
||||||
|
|
||||||
}
|
}
|
||||||
if (geom.getNormalIndices())
|
|
||||||
{
|
|
||||||
fw.indent()<<"NormalIndices ";
|
|
||||||
Array_writeLocalData(*geom.getNormalIndices(),fw);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (geom.getColorArray())
|
if (geom.getColorArray())
|
||||||
{
|
{
|
||||||
fw.indent()<<"ColorBinding "<<Geometry_getBindingTypeStr(geom.getColorBinding())<<std::endl;
|
fw.indent()<<"ColorBinding "<<Geometry_getBindingTypeStr(geom.getColorArray())<<std::endl;
|
||||||
fw.indent()<<"ColorArray ";
|
fw.indent()<<"ColorArray ";
|
||||||
Array_writeLocalData(*geom.getColorArray(),fw);
|
Array_writeLocalData(*geom.getColorArray(),fw);
|
||||||
}
|
}
|
||||||
if (geom.getColorIndices())
|
|
||||||
{
|
|
||||||
fw.indent()<<"ColorIndices ";
|
|
||||||
Array_writeLocalData(*geom.getColorIndices(),fw);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (geom.getSecondaryColorArray())
|
if (geom.getSecondaryColorArray())
|
||||||
{
|
{
|
||||||
fw.indent()<<"SecondaryColorBinding "<<Geometry_getBindingTypeStr(geom.getSecondaryColorBinding())<<std::endl;
|
fw.indent()<<"SecondaryColorBinding "<<Geometry_getBindingTypeStr(geom.getSecondaryColorArray())<<std::endl;
|
||||||
fw.indent()<<"SecondaryColorArray ";
|
fw.indent()<<"SecondaryColorArray ";
|
||||||
Array_writeLocalData(*geom.getSecondaryColorArray(),fw);
|
Array_writeLocalData(*geom.getSecondaryColorArray(),fw);
|
||||||
}
|
}
|
||||||
if (geom.getSecondaryColorIndices())
|
|
||||||
{
|
|
||||||
fw.indent()<<"SecondayColorIndices ";
|
|
||||||
Array_writeLocalData(*geom.getSecondaryColorIndices(),fw);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (geom.getFogCoordArray())
|
if (geom.getFogCoordArray())
|
||||||
{
|
{
|
||||||
fw.indent()<<"FogCoordBinding "<<Geometry_getBindingTypeStr(geom.getFogCoordBinding())<<std::endl;
|
fw.indent()<<"FogCoordBinding "<<Geometry_getBindingTypeStr(geom.getFogCoordArray())<<std::endl;
|
||||||
fw.indent()<<"FogCoordArray ";
|
fw.indent()<<"FogCoordArray ";
|
||||||
Array_writeLocalData(*geom.getFogCoordArray(),fw);
|
Array_writeLocalData(*geom.getFogCoordArray(),fw);
|
||||||
}
|
}
|
||||||
if (geom.getFogCoordIndices())
|
|
||||||
{
|
|
||||||
fw.indent()<<"FogCoordIndices ";
|
|
||||||
Array_writeLocalData(*geom.getFogCoordIndices(),fw);
|
|
||||||
}
|
|
||||||
|
|
||||||
const Geometry::ArrayList& tcal=geom.getTexCoordArrayList();
|
const Geometry::ArrayList& tcal=geom.getTexCoordArrayList();
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
@ -1376,13 +1348,6 @@ bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
|||||||
fw.indent()<<"TexCoordArray "<<i<<" ";
|
fw.indent()<<"TexCoordArray "<<i<<" ";
|
||||||
Array_writeLocalData(*array,fw);
|
Array_writeLocalData(*array,fw);
|
||||||
}
|
}
|
||||||
|
|
||||||
const osg::IndexArray* indices = (array!=0) ? dynamic_cast<const osg::IndexArray*>(array->getUserData()) : 0;
|
|
||||||
if (indices)
|
|
||||||
{
|
|
||||||
fw.indent()<<"TexCoordIndices "<<i<<" ";
|
|
||||||
Array_writeLocalData(*indices,fw);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const Geometry::ArrayList& vaal=geom.getVertexAttribArrayList();
|
const Geometry::ArrayList& vaal=geom.getVertexAttribArrayList();
|
||||||
@ -1392,7 +1357,7 @@ bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
|||||||
|
|
||||||
if (array)
|
if (array)
|
||||||
{
|
{
|
||||||
fw.indent()<<"VertexAttribBinding "<<i<<" "<<Geometry_getBindingTypeStr(static_cast<deprecated_osg::Geometry::AttributeBinding>(array->getBinding()))<<std::endl;
|
fw.indent()<<"VertexAttribBinding "<<i<<" "<<Geometry_getBindingTypeStr(array)<<std::endl;
|
||||||
|
|
||||||
if (array->getNormalize())
|
if (array->getNormalize())
|
||||||
fw.indent()<<"VertexAttribNormalize "<<i<<" TRUE"<<std::endl;
|
fw.indent()<<"VertexAttribNormalize "<<i<<" TRUE"<<std::endl;
|
||||||
@ -1402,39 +1367,32 @@ bool Geometry_writeLocalData(const Object& obj, Output& fw)
|
|||||||
fw.indent()<<"VertexAttribArray "<<i<<" ";
|
fw.indent()<<"VertexAttribArray "<<i<<" ";
|
||||||
Array_writeLocalData(*array,fw);
|
Array_writeLocalData(*array,fw);
|
||||||
}
|
}
|
||||||
|
|
||||||
const osg::IndexArray* indices = (array!=0) ? dynamic_cast<const osg::IndexArray*>(array->getUserData()) : 0;
|
|
||||||
if (indices)
|
|
||||||
{
|
|
||||||
fw.indent()<<"VertexAttribIndices "<<i<<" ";
|
|
||||||
Array_writeLocalData(*indices,fw);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Geometry_matchBindingTypeStr(const char* str,deprecated_osg::Geometry::AttributeBinding& mode)
|
bool Geometry_matchBindingTypeStr(const char* str,osg::Array::Binding& mode)
|
||||||
{
|
{
|
||||||
if (strcmp(str,"OFF")==0) mode = deprecated_osg::Geometry::BIND_OFF;
|
if (strcmp(str,"OFF")==0) mode = osg::Array::BIND_OFF;
|
||||||
else if (strcmp(str,"OVERALL")==0) mode = deprecated_osg::Geometry::BIND_OVERALL;
|
else if (strcmp(str,"OVERALL")==0) mode = osg::Array::BIND_OVERALL;
|
||||||
else if (strcmp(str,"PER_PRIMITIVE")==0) mode = deprecated_osg::Geometry::BIND_PER_PRIMITIVE;
|
else if (strcmp(str,"PER_PRIMITIVE")==0) mode = (osg::Array::Binding)3;
|
||||||
else if (strcmp(str,"PER_PRIMITIVE_SET")==0) mode = deprecated_osg::Geometry::BIND_PER_PRIMITIVE_SET;
|
else if (strcmp(str,"PER_PRIMITIVE_SET")==0) mode = osg::Array::BIND_PER_PRIMITIVE_SET;
|
||||||
else if (strcmp(str,"PER_VERTEX")==0) mode = deprecated_osg::Geometry::BIND_PER_VERTEX;
|
else if (strcmp(str,"PER_VERTEX")==0) mode = osg::Array::BIND_PER_VERTEX;
|
||||||
else return false;
|
else return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char* Geometry_getBindingTypeStr(deprecated_osg::Geometry::AttributeBinding mode)
|
const char* Geometry_getBindingTypeStr(const osg::Array* array)
|
||||||
{
|
{
|
||||||
switch(mode)
|
osg::Array::Binding binding = array ? array->getBinding() : osg::Array::BIND_OFF;
|
||||||
|
switch(binding)
|
||||||
{
|
{
|
||||||
case (deprecated_osg::Geometry::BIND_OVERALL) : return "OVERALL";
|
case (osg::Array::BIND_OVERALL) : return "OVERALL";
|
||||||
case (deprecated_osg::Geometry::BIND_PER_PRIMITIVE) : return "PER_PRIMITIVE";
|
case (osg::Array::BIND_PER_PRIMITIVE_SET) : return "PER_PRIMITIVE_SET";
|
||||||
case (deprecated_osg::Geometry::BIND_PER_PRIMITIVE_SET) : return "PER_PRIMITIVE_SET";
|
case (osg::Array::BIND_PER_VERTEX) : return "PER_VERTEX";
|
||||||
case (deprecated_osg::Geometry::BIND_PER_VERTEX) : return "PER_VERTEX";
|
case (osg::Array::BIND_OFF) :
|
||||||
case (deprecated_osg::Geometry::BIND_OFF) :
|
|
||||||
default : return "OFF";
|
default : return "OFF";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user