From Brede Johansen, added missing array handling into Geometry::accept(AttributeFunctor&

af) and Geometry::accept(ConstAttributeFunctor& af).
This commit is contained in:
Robert Osfield 2006-02-28 19:46:02 +00:00
parent 93f514109f
commit c64f527925

View File

@ -1804,15 +1804,22 @@ class AttributeFunctorArrayVisitor : public ArrayVisitor
void Geometry::accept(AttributeFunctor& af)
{
AttributeFunctorArrayVisitor afav(af);
afav.applyArray(VERTICES,_vertexData.array.get());
afav.applyArray(NORMALS,_normalData.array.get());
afav.applyArray(COLORS,_colorData.array.get());
afav.applyArray(SECONDARY_COLORS,_secondaryColorData.array.get());
afav.applyArray(FOG_COORDS,_fogCoordData.array.get());
for(unsigned unit=0;unit<_texCoordList.size();++unit)
{
afav.applyArray((AttributeType)(TEXTURE_COORDS_0+unit),_texCoordList[unit].array.get());
}
for(unsigned int index=0; index<_vertexAttribList.size(); ++index)
{
afav.applyArray(index,_vertexAttribList[index].array.get());
}
}
class ConstAttributeFunctorArrayVisitor : public ConstArrayVisitor
@ -1857,11 +1864,18 @@ void Geometry::accept(ConstAttributeFunctor& af) const
afav.applyArray(VERTICES,_vertexData.array.get());
afav.applyArray(NORMALS,_normalData.array.get());
afav.applyArray(COLORS,_colorData.array.get());
afav.applyArray(SECONDARY_COLORS,_secondaryColorData.array.get());
afav.applyArray(FOG_COORDS,_fogCoordData.array.get());
for(unsigned unit=0;unit<_texCoordList.size();++unit)
{
afav.applyArray((AttributeType)(TEXTURE_COORDS_0+unit),_texCoordList[unit].array.get());
}
for(unsigned int index=0; index<_vertexAttribList.size(); ++index)
{
afav.applyArray(index,_vertexAttribList[index].array.get());
}
}
void Geometry::accept(PrimitiveFunctor& functor) const