Implemented KRScene::getLocators()
--HG-- branch : nfb
This commit is contained in:
@@ -93,6 +93,11 @@ std::set<KRReverbZone *> &KRScene::getReverbZones()
|
|||||||
return m_reverbZoneNodes;
|
return m_reverbZoneNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::set<KRLocator *> &KRScene::getLocators()
|
||||||
|
{
|
||||||
|
return m_locatorNodes;
|
||||||
|
}
|
||||||
|
|
||||||
void KRScene::render(KRCamera *pCamera, unordered_map<KRAABB, int> &visibleBounds, const KRViewport &viewport, KRNode::RenderPass renderPass, bool new_frame) {
|
void KRScene::render(KRCamera *pCamera, unordered_map<KRAABB, int> &visibleBounds, const KRViewport &viewport, KRNode::RenderPass renderPass, bool new_frame) {
|
||||||
if(new_frame) {
|
if(new_frame) {
|
||||||
// Expire cached occlusion test results.
|
// Expire cached occlusion test results.
|
||||||
@@ -460,6 +465,10 @@ void KRScene::notify_sceneGraphDelete(KRNode *pNode)
|
|||||||
if(ReverbZoneNode) {
|
if(ReverbZoneNode) {
|
||||||
m_reverbZoneNodes.erase(ReverbZoneNode);
|
m_reverbZoneNodes.erase(ReverbZoneNode);
|
||||||
}
|
}
|
||||||
|
KRLocator *locator = dynamic_cast<KRLocator *>(pNode);
|
||||||
|
if(locator) {
|
||||||
|
m_locatorNodes.erase(locator);
|
||||||
|
}
|
||||||
m_modifiedNodes.erase(pNode);
|
m_modifiedNodes.erase(pNode);
|
||||||
if(!m_newNodes.erase(pNode)) {
|
if(!m_newNodes.erase(pNode)) {
|
||||||
m_nodeTree.remove(pNode);
|
m_nodeTree.remove(pNode);
|
||||||
@@ -481,14 +490,19 @@ void KRScene::updateOctree(const KRViewport &viewport)
|
|||||||
if(node->hasPhysics()) {
|
if(node->hasPhysics()) {
|
||||||
m_physicsNodes.insert(node);
|
m_physicsNodes.insert(node);
|
||||||
}
|
}
|
||||||
KRAmbientZone *AmbientZoneNode = dynamic_cast<KRAmbientZone *>(node);
|
KRAmbientZone *ambientZoneNode = dynamic_cast<KRAmbientZone *>(node);
|
||||||
if(dynamic_cast<KRAmbientZone *>(node)) {
|
if(ambientZoneNode) {
|
||||||
m_ambientZoneNodes.insert(AmbientZoneNode);
|
m_ambientZoneNodes.insert(ambientZoneNode);
|
||||||
}
|
}
|
||||||
KRReverbZone *ReverbZoneNode = dynamic_cast<KRReverbZone *>(node);
|
KRReverbZone *reverbZoneNode = dynamic_cast<KRReverbZone *>(node);
|
||||||
if(dynamic_cast<KRReverbZone *>(node)) {
|
if(reverbZoneNode) {
|
||||||
m_reverbZoneNodes.insert(ReverbZoneNode);
|
m_reverbZoneNodes.insert(reverbZoneNode);
|
||||||
}
|
}
|
||||||
|
KRLocator *locatorNode = dynamic_cast<KRLocator *>(node);
|
||||||
|
if(locatorNode) {
|
||||||
|
m_locatorNodes.insert(locatorNode);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
for(std::set<KRNode *>::iterator itr=modifiedNodes.begin(); itr != modifiedNodes.end(); itr++) {
|
for(std::set<KRNode *>::iterator itr=modifiedNodes.begin(); itr != modifiedNodes.end(); itr++) {
|
||||||
KRNode *node = *itr;
|
KRNode *node = *itr;
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
#include "KRCamera.h"
|
#include "KRCamera.h"
|
||||||
#include "KRMeshManager.h"
|
#include "KRMeshManager.h"
|
||||||
#include "KRNode.h"
|
#include "KRNode.h"
|
||||||
|
#include "KRLocator.h"
|
||||||
#include "KRAmbientZone.h"
|
#include "KRAmbientZone.h"
|
||||||
#include "KRReverbZone.h"
|
#include "KRReverbZone.h"
|
||||||
#include "KROctree.h"
|
#include "KROctree.h"
|
||||||
@@ -84,6 +85,7 @@ public:
|
|||||||
|
|
||||||
std::set<KRAmbientZone *> &getAmbientZones();
|
std::set<KRAmbientZone *> &getAmbientZones();
|
||||||
std::set<KRReverbZone *> &getReverbZones();
|
std::set<KRReverbZone *> &getReverbZones();
|
||||||
|
std::set<KRLocator *> &getLocators();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@@ -98,6 +100,7 @@ private:
|
|||||||
std::set<KRNode *> m_physicsNodes;
|
std::set<KRNode *> m_physicsNodes;
|
||||||
std::set<KRAmbientZone *> m_ambientZoneNodes;
|
std::set<KRAmbientZone *> m_ambientZoneNodes;
|
||||||
std::set<KRReverbZone *> m_reverbZoneNodes;
|
std::set<KRReverbZone *> m_reverbZoneNodes;
|
||||||
|
std::set<KRLocator *> m_locatorNodes;
|
||||||
|
|
||||||
KROctree m_nodeTree;
|
KROctree m_nodeTree;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user