节点访问器
#pragma once
#include<Windows.h>
#include<osg/Node>
#include<osgDB/ReadFile>
#include<osg/MatrixTransform>
#include<iostream>
using namespace std;
class findNode : public osg::NodeVisitor
{
public:
findNode() :osg::NodeVisitor(TRAVERSE_ALL_CHILDREN)
{
}
void setFindName(const std::string& name)
{
m_name = name;
}
virtual void apply(osg::Node& searchNode)
{
if (searchNode.getName() == m_name)
{
std::cout << "The Node named of: " << m_name << " is found" << std::endl;
m_NodeToFind = &searchNode;
return;
}
traverse(searchNode);
}
//返回查询到的节点指针
osg::Node* getFindNode() {return m_NodeToFind;};
public:
std::string m_n