目录
本文主要介绍在OSGEarth中绘制随模型位置变化而动态移动的线段,即两个三维模型通过线段进行连接,在模型移动的过程中,连接的线段跟着模型做相应的位移。
一、编写Callback
#pragma once
class UpdateLink :public osg::NodeCallback
{
public:
osg::Node *plane;
osg::Node *car;
public:
UpdateLink(osg::Node *p, osg::Node *c)
{
plane = p;
car = c;
}
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
{
osg::ref_ptr<osgEarth::Annotation::FeatureNode> m_pLakeFeatureNode =
dynamic_cast<osgEarth::Annotation::FeatureNode*>(node);
if (m_pLakeFeatureNode.get()) {
std::vector<osg::Vec3> m_vecLakePoint;
//获取car节点所在的世界坐标
osgEarth::Features::Feature* m_pLakeFeature = m_pLakeFeatur