Utility/OBJParser: Prepare for saving

Former-commit-id: 89d82ac533c72033927557251278dd1544002a54 [formerly dc3b1ff5e00608ed0dfdee9b57ff6986a1d5ac33]
Former-commit-id: ee2b46fbfb0a0f7cd96ae1b35ec1af30342cd2fb
This commit is contained in:
Lynix
2016-07-08 08:34:45 +02:00
parent 9a6de9f7ac
commit 26289139a3
5 changed files with 117 additions and 32 deletions

View File

@@ -8,6 +8,20 @@
namespace Nz
{
inline void OBJParser::Clear()
{
m_materials.clear();
m_meshes.clear();
m_positions.clear();
m_normals.clear();
m_texCoords.clear();
}
inline String* OBJParser::GetMaterials()
{
return m_materials.data();
}
inline const String* OBJParser::GetMaterials() const
{
return m_materials.data();
@@ -18,6 +32,11 @@ namespace Nz
return m_materials.size();
}
inline OBJParser::Mesh* OBJParser::GetMeshes()
{
return m_meshes.data();
}
inline const OBJParser::Mesh* OBJParser::GetMeshes() const
{
return m_meshes.data();
@@ -33,6 +52,11 @@ namespace Nz
return m_mtlLib;
}
inline Vector3f* OBJParser::GetNormals()
{
return m_normals.data();
}
inline const Vector3f* OBJParser::GetNormals() const
{
return m_normals.data();
@@ -43,6 +67,11 @@ namespace Nz
return m_normals.size();
}
inline Vector4f* OBJParser::GetPositions()
{
return m_positions.data();
}
inline const Vector4f* OBJParser::GetPositions() const
{
return m_positions.data();
@@ -53,6 +82,11 @@ namespace Nz
return m_positions.size();
}
inline Vector3f* OBJParser::GetTexCoords()
{
return m_texCoords.data();
}
inline const Vector3f* OBJParser::GetTexCoords() const
{
return m_texCoords.data();
@@ -63,6 +97,36 @@ namespace Nz
return m_texCoords.size();
}
inline String* OBJParser::SetMaterialCount(std::size_t materialCount)
{
m_materials.resize(materialCount);
return m_materials.data();
}
inline OBJParser::Mesh* OBJParser::SetMeshCount(std::size_t meshCount)
{
m_meshes.resize(meshCount);
return m_meshes.data();
}
inline Vector3f* OBJParser::SetNormalCount(std::size_t normalCount)
{
m_normals.resize(normalCount);
return m_normals.data();
}
inline Vector4f* OBJParser::SetPositionCount(std::size_t positionCount)
{
m_positions.resize(positionCount);
return m_positions.data();
}
inline Vector3f* OBJParser::SetTexCoordCount(std::size_t texCoordCount)
{
m_texCoords.resize(texCoordCount);
return m_texCoords.data();
}
template<typename T>
void OBJParser::Emit(const T& text) const
{