DYTSrouce/src/effects/DottedLine.h
2025-01-04 12:12:51 +08:00

33 lines
756 B
C++

#pragma once
#include "effects/TrackWave.h"
class DottedLine : public TrackWave {
public:
explicit DottedLine(ElectricWave* pElectricWave);
virtual ~DottedLine(void);
int m_i;
// 设置宽度
void SetWidth(int nWidth);
// 获得宽度
int GetWidth(void);
// 设置起始和终点
void SetStartAndEnd(const osg::Vec3d& vStart, const osg::Vec3d& vEnd);
protected:
// 创建圆环
virtual void CreateSingleVertex(double index, osg::Vec3dArray* pVertexArray);
// 获得渲染体
// virtual osg::PrimitiveSet* GetPrimitiveSet(int nStart, int nCount);
virtual void CreatePrimitiveSet(osg::Geometry* pGeometry, int nStart, int nCount);
// 获得属性
virtual void SetStateSet(osg::StateSet* pStateSet);
private:
int width_;
osg::Vec3d temp_;
osg::Vec3d height_;
};