#pragma once #include "MGL.h" #include "IndexedGeometryAxes.h" namespace Aftr { class IndexedGeometryQuad; class MGLLightWave : public MGL { public: MGLLightWave(WO* parentWO, WO* source, WO* sink, Camera** cam, float width ); MGLLightWave( WO* parentWO, const Vector& source, const Vector& sink, Camera** cam, float width ); virtual ~MGLLightWave(); virtual void render( const Camera& cam ); virtual void renderSelection( const Camera& cam, GLubyte red, GLubyte green, GLubyte blue ); void setLightWaveWidth( float width ); float getLightWaveWidth(); void setSourceOfLightWave( const Vector& src ) { this->src = src; } void setSinkOfLightWave( const Vector& sink ) { this->snk = sink; } void setCamera( Camera** camPtr ); Camera** getCamera(); protected: WO* source; WO* sink; Vector src; Vector snk; float width; Camera** cam; IndexedGeometryQuad* quad; IndexedGeometryAxes* axes; void render21(const Camera& cam); void render32(const Camera& cam); void renderSelection21(const Camera& cam, GLubyte red, GLubyte green, GLubyte blue); void renderSelection32(const Camera& cam, GLubyte red, GLubyte green, GLubyte blue); }; } //namespace Aftr