Maria GDK 5.0.0.760
Documentation of native code in develop branch
Loading...
Searching...
No Matches
Maria3D::VolumePolygon Class Reference

#include <M3DVolumePolygon.h>

Public Member Functions

 VolumePolygon (const std::shared_ptr< STK::ShaderProgramManager > &shader_mgr)
 
 VolumePolygon (const std::shared_ptr< STK::ShaderProgramManager > &shader_mgr, const STK::Polygon3d &geo, const STK::Vector4f &fillColor, const STK::Vector4f &lineColor, double lineThickness, const std::vector< unsigned char > &lineDashes=std::vector< unsigned char >(), double hUpper=10000.0, double hLower=-10000.0, bool hOutline=true, bool vOutline=false, double sharpAngle=10.0)
 
 VolumePolygon (const std::shared_ptr< STK::ShaderProgramManager > &shader_mgr, const STK::Polygon3d &geo, const STK::Vector4f &fillColor, const STK::Vector4f &lineColor, const STK::Vector4f &footprintColor, double lineThickness, const std::vector< unsigned char > &lineDashes=std::vector< unsigned char >(), double hUpper=10000.0, double hLower=-10000.0, bool hOutline=true, bool vOutline=false, bool drawGeometry=false, bool drawFootprint=false, double sharpAngle=10.0)
 
void setLineColor (const STK::Vector4f &c)
 
const STK::Vector4fgetLineColor () const
 
void setFillColor (const STK::Vector4f &c)
 
const STK::Vector4fgetFillColor () const
 
void setFootprintColor (const STK::Vector4f &c)
 
const STK::Vector4fgetFootprintColor () const
 
void setLineThickness (double l)
 
double getLineThickness () const
 
void setDashes (std::vector< unsigned char > &d)
 
const std::vector< unsigned char > & getDashes () const
 
void setUpperAltitude (double hUpper)
 
void setLowerAltitude (double hLower)
 
double getUpperAltitude () const
 
double getLowerAltitude () const
 
void setHorizontalOutline (bool hOutline)
 Draw outlines along the horizontal outer edges of the upper and lower polygons.
 
void setVerticalOutline (bool vOutline)
 Draw vertical lines in the vertices from lower to upper polygon.
 
void setSharpAngle (double sharpAngle)
 
double getSharpAngle () const
 
bool getHorizontalOutline () const
 
bool getVerticalOutline () const
 
void setDrawFootprint (bool drawFootprint)
 
bool getDrawFootprint () const
 
void setDrawGeometry (bool drawGeometry)
 
bool getDrawGeometry () const
 
void setGeometry (const STK::Polygon3d &poly)
 Geometry is given as Lon,Lat points.
 
const STK::Polygon3dgetGeometry () const
 
void renderVolume (const STK::Camera &cam, STK::ShaderProgram &shader, const Maria3D::LocalOrigin &localOrigin)
 
void renderOutline (const STK::Camera &cam, const STK::Viewport &vp, const Maria3D::LocalOrigin &localOrigin)
 
void renderFootprint (const STK::Camera &cam, STK::ShaderProgram &polygonShader, STK::VertexBufferP &quad_vtx, const LocalOrigin &localOrigin)
 
void clearBuffers ()
 

Protected Member Functions

bool calcBuffers ()
 

Protected Attributes

std::shared_ptr< STK::ShaderProgramManager_shader_mgr
 
STK::Vector4f _fillColor = STK::Vector4f(0.0, 1.0, 0.0, 1.0)
 
STK::Vector4f _lineColor = STK::Vector4f(0.0, 0.0, 1.0, 0.6f)
 
STK::Vector4f _footprintColor = STK::Vector4f(1.0, 0.0, 0.0, 0.5f)
 
double _lineThickness = 2.0
 
std::vector< unsigned char > _lineDashes
 
std::shared_ptr< STK::VertexBuffer_vtxBuffer
 
GLuint _idxBuffer = 0
 
int _idxBufferSize = 0
 
STK::Vector3d _origin
 
STK::Polygon3d _geometry
 
double _hUpper = 10000.0
 
double _hLower = -10000.0
 
bool _drawHorizOutline = true
 
bool _drawVertOutline = false
 
bool _drawGeometry = true
 
bool _drawFootprint = false
 
double _sharpAngle = 10.0
 
std::vector< std::shared_ptr< STK::LineRenderer > > _outlines
 

Detailed Description

VolumePolygon - A vertically extruded polygonal 3D volume.


The documentation for this class was generated from the following files: