Fix compilation for gcc/clang + tests for serialization
Former-commit-id: db9c93a1db3c57f268fc17e411402e071fc8675a
This commit is contained in:
@@ -636,7 +636,7 @@ namespace Nz
|
||||
if (extend > Extend_Max)
|
||||
return false;
|
||||
|
||||
boundingVolume->extend = extend;
|
||||
boundingVolume->extend = static_cast<Extend>(extend);
|
||||
|
||||
if (!Unserialize(context, &boundingVolume->aabb))
|
||||
return false;
|
||||
|
||||
@@ -55,6 +55,11 @@ namespace Nz
|
||||
|
||||
String ToString() const;
|
||||
|
||||
template<typename U>
|
||||
friend bool Serialize(SerializationContext& context, const Frustum<U>& frustum);
|
||||
template<typename U>
|
||||
friend bool Unserialize(SerializationContext& context, Frustum<U>* frustum);
|
||||
|
||||
private:
|
||||
Vector3<T> m_corners[BoxCorner_Max+1];
|
||||
Plane<T> m_planes[FrustumPlane_Max+1];
|
||||
@@ -62,9 +67,6 @@ namespace Nz
|
||||
|
||||
typedef Frustum<double> Frustumd;
|
||||
typedef Frustum<float> Frustumf;
|
||||
|
||||
template<typename T> bool Serialize(SerializationContext& context, const Frustum<T>& frustum);
|
||||
template<typename T> bool Unserialize(SerializationContext& context, Frustum<T>* frustum);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
||||
@@ -688,13 +688,13 @@ namespace Nz
|
||||
{
|
||||
for (unsigned int i = 0; i <= BoxCorner_Max; ++i)
|
||||
{
|
||||
if (!Serialize(context, m_corners[i]))
|
||||
if (!Serialize(context, frustum.m_corners[i]))
|
||||
return false;
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i <= FrustumPlane_Max; ++i)
|
||||
{
|
||||
if (!Serialize(context, m_planes[i]))
|
||||
if (!Serialize(context, frustum.m_planes[i]))
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -702,24 +702,24 @@ namespace Nz
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Unserializes a Matrix4
|
||||
* \brief Unserializes a Frustum
|
||||
* \return true if successfully unserialized
|
||||
*
|
||||
* \param context Serialization context
|
||||
* \param matrix Output matrix
|
||||
* \param matrix Output frustum
|
||||
*/
|
||||
template<typename T>
|
||||
bool Unserialize(SerializationContext& context, Frustum<T>* frustum)
|
||||
{
|
||||
for (unsigned int i = 0; i <= BoxCorner_Max; ++i)
|
||||
{
|
||||
if (!Unserialize(context, &m_corners[i]))
|
||||
if (!Unserialize(context, &frustum->m_corners[i]))
|
||||
return false;
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i <= FrustumPlane_Max; ++i)
|
||||
{
|
||||
if (!Unserialize(context, &m_planes[i]))
|
||||
if (!Unserialize(context, &frustum->m_planes[i]))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user