本文整理汇总了C++中CDataReader::readVector4ui8ArrayAsStdVector方法的典型用法代码示例。如果您正苦于以下问题:C++ CDataReader::readVector4ui8ArrayAsStdVector方法的具体用法?C++ CDataReader::readVector4ui8ArrayAsStdVector怎么用?C++ CDataReader::readVector4ui8ArrayAsStdVector使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDataReader
的用法示例。
在下文中一共展示了CDataReader::readVector4ui8ArrayAsStdVector方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void CRWSection_Geometry::unserialize(void)
{
CDataReader *pDataReader = CDataReader::getInstance();
m_usFlags = pDataReader->readUint16();
m_ucUVCoordinateCount = pDataReader->readUint8();
if (m_usFlags & 4)
{
m_ucUVCoordinateCount = 1;
}
m_ucGeometryNativeFlags = pDataReader->readUint8();
m_uiTriangleCount = pDataReader->readUint32();
m_uiVertexCount = pDataReader->readUint32();
m_uiFrameCount = pDataReader->readUint32();
if (m_uiSectionRWVersion < 0x1003FFFF)
{
m_uiAmbientColour = pDataReader->readUint32();
m_uiDiffuseColour = pDataReader->readUint32();
m_uiSpecularColour = pDataReader->readUint32();
}
else
{
m_uiAmbientColour = 1;
m_uiDiffuseColour = 1;
m_uiSpecularColour = 1;
}
if (!m_ucGeometryNativeFlags)
{
if (m_usFlags & 8)
{
m_vecVertexColours = pDataReader->readVector4ui8ArrayAsStdVector(m_uiVertexCount);
}
if (m_usFlags & 4)
{
m_vecTextureCoordinates = pDataReader->readVector2DArrayAsStdVector(m_uiVertexCount);
}
if (m_usFlags & 128)
{
for (uint32 i = 0, j = m_ucUVCoordinateCount; i < j; i++)
{
m_vecTextureCoordinates = pDataReader->readVector2DArrayAsStdVector(m_uiVertexCount);
}
}
m_vecVertexIndices = pDataReader->readVector4ui16ArrayAsStdVector(m_uiTriangleCount);
}
m_boundingInfo.setCenter(pDataReader->readVector3D());
m_boundingInfo.setCenterRadius(pDataReader->readFloat32());
m_boundingInfo.setHasPosition(pDataReader->readUint32() != 0);
m_boundingInfo.setHasNormals(pDataReader->readUint32() != 0);
if (!m_ucGeometryNativeFlags)
{
if ((m_usFlags & 2) || m_boundingInfo.doesHavePosition() /* || true */)
{
m_vecTextureCoordinates = pDataReader->readVector2DArrayAsStdVector(m_uiVertexCount); // todo - store multiple texture coordinates so data loss doesn't occur
}
if ((m_usFlags & 16) || m_boundingInfo.doesHaveNormals())
{
m_vecVertexNormals = pDataReader->readVector3DArrayAsStdVector(m_uiVertexCount);
}
}
}