Added viewer-relative directions
Former-commit-id: 9d80744bd227689426b76df7e3c273de13424041
This commit is contained in:
@@ -134,6 +134,58 @@ NzAbstractBackground* NzScene::GetBackground() const
|
||||
return m_impl->background.get();
|
||||
}
|
||||
|
||||
NzVector3f NzScene::GetBackward() const
|
||||
{
|
||||
#if NAZARA_GRAPHICS_SAFE
|
||||
if (!m_impl->viewer)
|
||||
{
|
||||
NazaraError("No viewer");
|
||||
return NzVector3f::Backward();
|
||||
}
|
||||
#endif
|
||||
|
||||
return -m_impl->viewer->GetGlobalForward();
|
||||
}
|
||||
|
||||
NzVector3f NzScene::GetDown() const
|
||||
{
|
||||
#if NAZARA_GRAPHICS_SAFE
|
||||
if (!m_impl->viewer)
|
||||
{
|
||||
NazaraError("No viewer");
|
||||
return NzVector3f::Down();
|
||||
}
|
||||
#endif
|
||||
|
||||
return -m_impl->viewer->GetGlobalUp();
|
||||
}
|
||||
|
||||
NzVector3f NzScene::GetForward() const
|
||||
{
|
||||
#if NAZARA_GRAPHICS_SAFE
|
||||
if (!m_impl->viewer)
|
||||
{
|
||||
NazaraError("No viewer");
|
||||
return NzVector3f::Forward();
|
||||
}
|
||||
#endif
|
||||
|
||||
return m_impl->viewer->GetGlobalForward();
|
||||
}
|
||||
|
||||
NzVector3f NzScene::GetLeft() const
|
||||
{
|
||||
#if NAZARA_GRAPHICS_SAFE
|
||||
if (!m_impl->viewer)
|
||||
{
|
||||
NazaraError("No viewer");
|
||||
return NzVector3f::Left();
|
||||
}
|
||||
#endif
|
||||
|
||||
return -m_impl->viewer->GetGlobalRight();
|
||||
}
|
||||
|
||||
NzAbstractRenderTechnique* NzScene::GetRenderTechnique() const
|
||||
{
|
||||
if (!m_impl->renderTechnique)
|
||||
@@ -142,6 +194,19 @@ NzAbstractRenderTechnique* NzScene::GetRenderTechnique() const
|
||||
return m_impl->renderTechnique.get();
|
||||
}
|
||||
|
||||
NzVector3f NzScene::GetRight() const
|
||||
{
|
||||
#if NAZARA_GRAPHICS_SAFE
|
||||
if (!m_impl->viewer)
|
||||
{
|
||||
NazaraError("No viewer");
|
||||
return NzVector3f::Right();
|
||||
}
|
||||
#endif
|
||||
|
||||
return m_impl->viewer->GetGlobalRight();
|
||||
}
|
||||
|
||||
NzSceneNode& NzScene::GetRoot() const
|
||||
{
|
||||
return m_impl->root;
|
||||
@@ -152,6 +217,19 @@ NzAbstractViewer* NzScene::GetViewer() const
|
||||
return m_impl->viewer;
|
||||
}
|
||||
|
||||
NzVector3f NzScene::GetUp() const
|
||||
{
|
||||
#if NAZARA_GRAPHICS_SAFE
|
||||
if (!m_impl->viewer)
|
||||
{
|
||||
NazaraError("No viewer");
|
||||
return NzVector3f::Up();
|
||||
}
|
||||
#endif
|
||||
|
||||
return m_impl->viewer->GetGlobalUp();
|
||||
}
|
||||
|
||||
float NzScene::GetUpdateTime() const
|
||||
{
|
||||
return m_impl->updateTime;
|
||||
@@ -197,7 +275,13 @@ void NzScene::SetRenderTechnique(NzAbstractRenderTechnique* renderTechnique)
|
||||
|
||||
void NzScene::SetViewer(NzAbstractViewer* viewer)
|
||||
{
|
||||
m_impl->viewer = viewer;
|
||||
if (m_impl->viewer != viewer)
|
||||
{
|
||||
m_impl->viewer = viewer;
|
||||
|
||||
// Invalidation de tous les nodes de la scène (utile pour la régénération des sommets dépendant du viewer)
|
||||
m_impl->root.InvalidateNode();
|
||||
}
|
||||
}
|
||||
|
||||
void NzScene::SetViewer(NzAbstractViewer& viewer)
|
||||
|
||||
Reference in New Issue
Block a user