Added SceneNode::GetAABB()

Former-commit-id: 3ed0a0140e6afabeb915e763e6ead33c7f12fba5
This commit is contained in:
Lynix 2012-12-02 17:01:39 +01:00
parent b06acfcffd
commit 325ac4e642
3 changed files with 16 additions and 0 deletions

View File

@ -29,6 +29,7 @@ class NAZARA_API NzModel : public NzSceneNode
~NzModel(); ~NzModel();
const NzAnimation* GetAnimation() const; const NzAnimation* GetAnimation() const;
const NzAxisAlignedBox& GetAABB() const;
const NzMaterial* GetMaterial(unsigned int matIndex) const; const NzMaterial* GetMaterial(unsigned int matIndex) const;
const NzMaterial* GetMaterial(unsigned int skinIndex, unsigned int matIndex) const; const NzMaterial* GetMaterial(unsigned int skinIndex, unsigned int matIndex) const;
unsigned int GetMaterialCount() const; unsigned int GetMaterialCount() const;

View File

@ -9,6 +9,7 @@
#include <Nazara/Prerequesites.hpp> #include <Nazara/Prerequesites.hpp>
#include <Nazara/3D/Enums.hpp> #include <Nazara/3D/Enums.hpp>
#include <Nazara/Utility/AxisAlignedBox.hpp>
#include <Nazara/Utility/Node.hpp> #include <Nazara/Utility/Node.hpp>
class NzSceneNode : public NzNode class NzSceneNode : public NzNode
@ -16,6 +17,7 @@ class NzSceneNode : public NzNode
public: public:
virtual ~NzSceneNode(); virtual ~NzSceneNode();
virtual const NzAxisAlignedBox& GetAABB() const = 0;
virtual nzSceneNodeType GetSceneNodeType() const = 0; virtual nzSceneNodeType GetSceneNodeType() const = 0;
}; };

View File

@ -47,6 +47,19 @@ const NzAnimation* NzModel::GetAnimation() const
return m_animation; return m_animation;
} }
const NzAxisAlignedBox& NzModel::GetAABB() const
{
#if NAZARA_3D_SAFE
if (!m_mesh)
{
NazaraError("Model has no mesh");
return NzAxisAlignedBox::Null;
}
#endif
return m_mesh->GetAABB();
}
const NzMaterial* NzModel::GetMaterial(unsigned int matIndex) const const NzMaterial* NzModel::GetMaterial(unsigned int matIndex) const
{ {
#if NAZARA_3D_SAFE #if NAZARA_3D_SAFE