void FaceSpatializeIndexed<BasicTraits>::CategoryGeneral::addData (OpenSGFaceBase<OpenSGTraits>* node, const FaceIterator& face)
{
   u32 offsetSize = m_offset.size();
   CategoryColor::addData(node, face);
   if (m_hasTex) {
      if (offsetSize < m_offset.size()) {
 	 m_offsetIt->second.tex1 = m_texCoord->size();
	 GeoTexCoords2f::StoredFieldType* t = m_texCoord->getFieldPtr();
	 GeoTexCoordsPtr faceT = m_original.getTexCoords();
	 for (u32 k=0; k<faceT->getSize(); ++k) {
	    t->addValue(faceT->getValue(k));
	 }
      }

      // set indices for TexCoords
      if (face.getLength() == 3) {
 	 u32 i = m_quadOffset - 3*m_indexStride + m_indexOffset.tex1;
	 for (u32 k=0; k<3; ++k) {
	    m_index->setValue(face.getTexCoordsIndex(k)+m_offsetIt->second.tex1, i);
	    assert(face.getTexCoordsIndex(k)+m_offsetIt->second.tex1 < m_texCoord->size());
	    i += m_indexStride;
	 }
      } else {
 	 u32 i = m_index->size() - 4*m_indexStride + m_indexOffset.tex1;
	 for (u32 k=0; k<4; ++k) {
	    m_index->setValue(face.getTexCoordsIndex(k)+m_offsetIt->second.tex1, i);
	    assert(face.getTexCoordsIndex(k)+m_offsetIt->second.tex1 < m_texCoord->size());
	    i += m_indexStride;
	 }
      }
   }
}