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

#include <M3DFrustumModel.h>

Inheritance diagram for Maria3D::FrustumModel:
Maria3D::SymbolModel STK::GraphicsModel

Public Types

enum class  GeometryType { Rectangular , Elliptic }
 
- Public Types inherited from STK::GraphicsModel
using filter_fn = std::function< bool(const GraphicsModel &)>
 

Public Member Functions

 FrustumModel (const Maria::ItemId &trackId, const std::string &modelType, const std::shared_ptr< LocalOrigin > &origin, const std::shared_ptr< STK::FontManager > &fontManager, const std::shared_ptr< STK::ShaderProgramManager > &shaderManager)
 
void redraw (const STK::Camera &cam, const STK::Viewport &vp, int render_mask, const std::vector< std::shared_ptr< STK::Uniform > > *uniforms) override
 
void UpdateFields (const std::shared_ptr< Maria::GenericGeoObjectAdapter > &obj) override
 
void clearModel ()
 
void setGeometryType (GeometryType geometryType)
 
void setFillColor (const STK::Color4f &fc)
 
void setLineColor (const STK::Color4f &lc)
 
void setFootprintColor (const STK::Color4f &fc)
 
void setLineThickness (float lt)
 
void setFOVX (double fovx)
 
void setFOVY (double fovy)
 
void setDistance (double distance)
 
void setLineDashStyle (const std::string &dashStyle)
 
- Public Member Functions inherited from Maria3D::SymbolModel
 SymbolModel (const Maria::ItemId &trackId, const std::string &modelType, const std::shared_ptr< LocalOrigin > &origin, const std::shared_ptr< STK::GraphicsModel > &model, const std::shared_ptr< STK::FontManager > &fontManager, const std::shared_ptr< STK::ShaderProgramManager > &shaderManager)
 
virtual void UpdateFields (const std::shared_ptr< Maria::GenericGeoObjectAdapter > &obj)
 
void SetPosition (BasicGeoTypes::GeoPos &gp, double alt=0.0)
 
void SetOrientation (double roll, double pitch, double yaw)
 
void SetGeocentricPos (const STK::Vector3d &pos)
 
const STK::Vector3dGetGeocentricPos ()
 
const std::string & GetModelType () const
 
void setLabelText (const std::string &text)
 
void setLabelFontName (const std::string labelFontName)
 
void setLabelFontSize (int size)
 
void setLabelColor (const STK::Color4f &color)
 
void setLabelOutlineWidth (int outline)
 
void setLabelOutlineColor (const STK::Color4f &color)
 
void setLabelBackgroundColor (const STK::Color4f &color)
 
void setLabelFontStyle (const STK::FontStyle &fontWeight)
 
int getLabelFontSize () const
 
const std::string & getLabelText () const
 
const std::string & getLabelFontName () const
 
int getLabelOutlineWidth () const
 
const STK::Color4fgetLabelColor () const
 
const STK::Color4fgetLabelOutlineColor () const
 
const STK::Color4fgetLabelBackgroundColor () const
 
const STK::FontStyle & getLabelFontStyle () const
 
void SetLabel (std::shared_ptr< PointSymbolLabel > label)
 
const std::shared_ptr< PointSymbolLabel > & GetLabel () const
 
void SetScale (float scale)
 
float GetScale () const
 
float GetVerticalScreenOffset () const
 
void SetVerticalScreenOffset (float offset)
 
float GetLabelBase () const
 
float GetAltitudeOffset () const
 
void setIconSize (float sz)
 
float getIconSize () const
 
void setShowGroundLine (bool showGroundLine)
 
bool showGroundLine () const
 
void setAlwaysVisible (bool alwaysVisible)
 
bool alwaysVisible () const
 
void redraw (const STK::Camera &cam, const STK::Viewport &vp, int render_mask, const std::vector< std::shared_ptr< STK::Uniform > > *uniforms) override
 
void drawShadowMap (const STK::Camera &cam, const STK::Viewport &vp, const STK::Camera &shd_cam, const STK::Viewport &shd_vp, STK::ShaderProgram *shader, STK::ShaderProgram *tex_shader) override
 
void calcBoundingSphere (STK::Vector3f &center, double &radius) override
 
void calcBoundingBox (STK::Vector3f &min, STK::Vector3f &max) override
 
- Public Member Functions inherited from STK::GraphicsModel
 GraphicsModel (const std::string &name="")
 
void setName (const std::string &name)
 
const std::string & getName () const
 
virtual void filterChildren (const filter_fn &fn, std::vector< std::shared_ptr< GraphicsModel > > &matched)
 
void setTransform (const STK::Matrix4x4f &transform)
 
const STK::Matrix4x4fgetTransform () const
 
void setEnvironmentMap (const std::shared_ptr< STK::CubeMap > &env_map)
 
std::shared_ptr< STK::CubeMapgetEnvironmentMap ()
 
std::shared_ptr< const STK::CubeMapgetEnvironmentMap () const
 
void setWireframe (bool wireframe)
 
bool getWireframe () const
 
void setInvisible (bool invisible)
 
bool getInvisible () const
 
void setCastShadows (bool cast_shadows)
 
bool getCastShadows () const
 
void setDebugGraphics (bool debug_gfx)
 
bool getDebugGraphics () const
 
virtual void redraw (const STK::Camera &cam, const STK::Viewport &vp, int render_mask=STK::OpaqueMask, const std::vector< std::shared_ptr< STK::Uniform > > *uniforms=nullptr)=0
 
virtual void drawShadowMap (const STK::Camera &cam, const STK::Viewport &vp, const STK::Camera &shd_cam, const STK::Viewport &shd_vp, STK::ShaderProgram *shader, STK::ShaderProgram *tex_shader)=0
 
virtual void calcBoundingSphere (STK::Vector3f &center, double &radius)=0
 
virtual void calcBoundingBox (STK::Vector3f &min, STK::Vector3f &max)=0
 

Protected Member Functions

bool initModel ()
 
bool initRectangularModel ()
 
bool initEllipticModel ()
 
void drawFootprint (const STK::Camera &cam, const STK::Viewport &vp, const STK::Matrix4x4f &m)
 
- Protected Member Functions inherited from Maria3D::SymbolModel
void updateLabel ()
 

Protected Attributes

std::shared_ptr< STK::MeshSimpleColor_meshColors
 
std::shared_ptr< STK::VertexBuffer_vertexBuffer
 
std::shared_ptr< STK::Mesh_mesh
 
std::shared_ptr< STK::MeshNode_frustumNode
 
std::shared_ptr< STK::MeshNode_frameNode
 
std::shared_ptr< STK::ShaderProgram_polygonShader
 
std::shared_ptr< STK::VertexBufferquad_vtx_
 
std::shared_ptr< STK::LineRenderer_lineTop
 
std::shared_ptr< STK::LineRenderer_lineBottom
 
std::shared_ptr< STK::LineRenderer_lineLeft
 
std::shared_ptr< STK::LineRenderer_lineRight
 
std::shared_ptr< STK::LineRenderer_lineCenter
 
double _distance
 
double _sensorRoll
 
double _sensorElevation
 
double _sensorAzimuth
 
double _fovx
 
double _fovy
 
bool _showFrustum
 
bool _showFootprint
 
bool _showFrame
 
STK::Color4f _lineColor
 
STK::Color4f _fillColor
 
STK::Color4f _footprintColor
 
float _lineThickness
 
std::string _lineDashStyle
 
std::vector< unsigned char > _dashes
 
bool _dirty
 
GeometryType _geometryType = GeometryType::Rectangular
 
- Protected Attributes inherited from Maria3D::SymbolModel
Maria::ItemId _trackId
 
std::string _modelType
 
std::shared_ptr< GeoTransform_geoTransform
 
std::shared_ptr< STK::GraphicsModel_model
 
std::shared_ptr< STK::FontManager_fontManager
 
std::shared_ptr< STK::ShaderProgramManager_shaderManager
 
std::shared_ptr< PointSymbolLabel_label
 
std::shared_ptr< STK::LineRenderer_groundLine
 
std::shared_ptr< OffsetLine_offsetLine
 
float _labelBase
 
float _iconSize
 
float _vScreenOffset
 
float _scale
 
bool _showModel
 
bool _showLabel
 
bool _showGroundLine
 
bool _alwaysVisible
 
int _labelFontSize = 32
 
std::string _labelText
 
std::string _labelFontName
 
STK::Color4f _labelColor = { 1, 1, 1, 1 }
 
STK::Color4f _labelOutlineColor = { 0, 0, 0, 1 }
 
STK::Color4f _labelBackgroundColor = { 0, 0, 0, 0}
 
int _labelOutlineWidth = 2
 
STK::FontStyle _labelFontWeight = STK::FontStyle::Regular
 
- Protected Attributes inherited from STK::GraphicsModel
std::string name_
 
STK::Matrix4x4f transform_
 
std::shared_ptr< STK::CubeMapenv_map_
 
bool wireframe_
 
bool invisible_
 
bool cast_shadows_
 
bool debug_gfx_
 

Detailed Description

FrustumModel - A frustum graphics model with optional ground footprint.

Member Function Documentation

◆ UpdateFields()

void FrustumModel::UpdateFields ( const std::shared_ptr< Maria::GenericGeoObjectAdapter > &  obj)
overridevirtual

Reimplemented from Maria3D::SymbolModel.


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