int main(){ clearCoordinate(); writeCoordinate(6,5,4,3,2,1); writeCoordinate(1,2,3,4,5,6); int* p; p = readCoordinate(); cout << "read:"; for(int i=0; i < 12; i++) { cout << *(p + i); } // std::cout << "\n Test"; return 0; }
QVector4D readBuffer(const BufferInfo &info, uint index) { switch (info.type) { case QAttribute::Byte: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::Byte>(info.data, info.byteOffset), index); case QAttribute::UnsignedByte: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::UnsignedByte>(info.data, info.byteOffset), index); case QAttribute::Short: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::Short>(info.data, info.byteOffset), index); case QAttribute::UnsignedShort: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::UnsignedShort>(info.data, info.byteOffset), index); case QAttribute::Int: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::Int>(info.data, info.byteOffset), index); case QAttribute::UnsignedInt: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::UnsignedInt>(info.data, info.byteOffset), index); case QAttribute::Float: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::Float>(info.data, info.byteOffset), index); case QAttribute::Double: return readCoordinate(info, BufferTypeInfo::castToType<QAttribute::Double>(info.data, info.byteOffset), index); default: break; } return QVector4D(); }