#pragma once #include "K3DTypes.h" //#include class CTerrainSpeedGrass { public: CTerrainSpeedGrass(); virtual ~CTerrainSpeedGrass(); public: int GetID() { return m_nGrassID; } void SetID( int nGrasID ) { m_nGrassID = nGrasID; } void AddGrass( K3DVector & vPosition, K3DVector & vNorMal ); void CreateGrassSeq( struct GrassColonyInfo* pGrassColonyInfo ); int GetSceneBladesSize() { return (int)m_vSceneBlades.size(); } K3DVector GetPosition( int nInstance ) { return m_vSceneBlades.at( nInstance ).m_vPositioin; } K3DVector GetNormal( int nInstance ) { return m_vSceneBlades.at( nInstance ).m_vNormal; } public: void Process( DWORD dwTime ); void Render( class KViewportObject* pViewport ); private: struct SpeedGrassInfo { K3DVector m_vPositioin; K3DVector m_vNormal; SpeedGrassInfo( K3DVector & vPosition, K3DVector & vNormal ) : m_vPositioin(vPosition), m_vNormal(vNormal) {} }; int m_nGrassID; std::vector< SpeedGrassInfo > m_vSceneBlades; class KSeqSpeedGrass* m_pGrassSeq; };