Search Toolkit Book for CTreeGraphicsModel
class CTreeGraphicsModel Model for rendering tree graphics data. More...
#include <gui/widgets/phylo_tree/tree_graphics_model.hpp>
class CTreeGraphicsModel Model for rendering tree graphics data.
Only holds data currently needed to render the model. Actual rendering is all done by objects derived from CGlRenderNode. Where there is a lot to render (nodes, edges) that is done by vertex buffer objects. Where there is less (marker nodes) that may be
For nodes and edges in the model, they are currently first copied to arrays (m_Nodes and m_Edges) prior to rendering. This allows the data to be shared with collision detection.
Definition at line 124 of file tree_graphics_model.hpp.
◆ CTreeGraphicsModel() CTreeGraphicsModel::CTreeGraphicsModel ( )Definition at line 131 of file tree_graphics_model.cpp.
References CAttribMenu::AddFloatReadOnly(), CAttribMenu::AddIntReadOnly(), CAttribMenu::AddSubMenuUnique(), CAttribMenuInstance::GetInstance(), m_BoundaryRenderTime, m_CDUpdateTime, m_LineRenderTime, m_NodeRenderCount, m_NodesRenderTime, m_RenderTime, and m_TotalTime.
◆ ~CTreeGraphicsModel() CTreeGraphicsModel::~CTreeGraphicsModel ( ) virtual ◆ AddTempCollapsedNode()Return a node that can be used to represent a collapsed tree.
Definition at line 327 of file tree_graphics_model.cpp.
References CGlModel2D::AddGeomObject(), CGlModel2D::AddTempGeomNode(), IRender::Begin(), IRender::Color4f(), IRender::Disable(), IRender::End(), CGlModel2D::FindGeomObject(), GetGl(), IRender::GetModelViewMatrix(), CRef< C, Locker >::GetNCPointer(), IRender::GetProjectionMatrix(), CGlResMgr::Instance(), IRender::LoadIdentity(), IRender::LoadMatrixd(), m_CollapseTexture, IRender::MatrixMode(), n, IRender::Ortho(), IRender::PolygonMode(), CRef< C, Locker >::Reset(), IRender::Vertex3f(), and IRender::Viewport().
Referenced by IPhyloTreeRender::x_AddCollapsedTextureNode().
◆ ClearArrays() void CTreeGraphicsModel::ClearArrays ( ) virtual ◆ EnableCircularLabelTrimming() void CTreeGraphicsModel::EnableCircularLabelTrimming ( const CVect2< float > & cladogram_center ) ◆ GetBoundaryNode() ◆ GetCollisionData() [1/2] ◆ GetCollisionData() [2/2] ◆ GetColorTable() ◆ GetCurrentRotationAngle() ◆ GetNodeIndices() vector<size_t>& CTreeGraphicsModel::GetNodeIndices ( ) inline ◆ GetRenderTooltips() bool CTreeGraphicsModel::GetRenderTooltips ( ) const inline ◆ GetRotateLabels() bool CTreeGraphicsModel::GetRotateLabels ( ) const inline ◆ GetTree() ◆ GetTriFanNode() ◆ Init()Allocate any default buffers etc.
Definition at line 171 of file tree_graphics_model.cpp.
References CGlModel2D::AddGeomNode(), CGlState::BlendFunc(), CGlState::ColorC(), CGlState::Disable(), IGlState::eButtCap, IGlState::eMiteredJoin, CGlState::Enable(), eRenderPDF, IGlState::eRoundCap, IGlState::eRoundedJoin, CGlModel2D::FindGeomNode(), CRef< C, Locker >::GetObject(), CRef< C, Locker >::GetPointerOrNull(), CGlRenderNode::GetState(), CGlVboNode::GetVBOGeom(), CGlResMgr::Instance(), CGlState::LineCapStyle(), CGlState::LineJoinStyle(), CGlState::LineWidth(), m_BoundaryNode, m_ColorTable, m_SL, m_Tree, m_TriFanNode, NULL, CGlState::PointSize(), CGlState::PolygonMode(), CRef< C, Locker >::Reset(), CTreeBoundaryNode::SetScheme(), CGlVboNode::SetVBOGeom(), CGlRenderNode::SetVisible(), CGlState::ShadeModel(), CGlRenderNode::SkipTarget(), and t.
Referenced by CPhyloTree::Clear(), and CPhyloTree::GetGraphicsModel().
◆ Render() void CTreeGraphicsModel::Render ( CGlPane & pane ) virtualDraw all the nodes.
Reimplemented from CGlModel2D.
Definition at line 863 of file tree_graphics_model.cpp.
References CGlUtils::CheckGlError(), CGlPane::Close(), IRender::Disable(), CStopWatch::Elapsed(), GetGl(), CTreeTriFanNode::GetLabelVisibility(), CGlObject::GetName(), CGlPane::GetScale(), CGlPane::GetScaleX(), CGlPane::GetScaleY(), CGlRenderNode::GetState(), glColorC(), i, CGlRenderNode::IsVisible(), m_BoundaryNode, m_BoundaryRenderTime, m_LineRenderTime, m_NodesRenderTime, m_RenderTime, CGlModel2D::m_TempGeomNodes, m_TriFanNode, NULL, CGlPane::OpenOrtho(), CGlRenderNode::Render(), CGlModel2D::Render(), CGlState::ScaleInvarient(), CTreeBoundaryNode::SetIncludeLabels(), CTreeBoundaryNode::SetPane(), CStopWatch::Start(), t, and x_RenderNodes().
◆ RenderPDF()Draw to PDF file.
Reimplemented from CGlModel2D.
Definition at line 1170 of file tree_graphics_model.cpp.
References CGlRect< T >::Bottom(), CGlPane::Close(), GetGl(), CTreeTriFanNode::GetLabelVisibility(), IRender::GetModelViewMatrix(), CGlObject::GetName(), CRef< C, Locker >::GetPointer(), IRender::GetProjectionMatrix(), CGlPane::GetScale(), CGlPane::GetScaleX(), CGlPane::GetScaleY(), CGlRenderNode::GetState(), CGlPane::GetViewport(), CGlRect< T >::Height(), i, CGlRenderNode::IsVisible(), CGlRect< T >::Left(), m_BoundaryNode, m_ColorTable, CGlModel2D::m_ModelviewMatrix, CGlModel2D::m_ProjectionMatrix, CGlModel2D::m_TempGeomNodes, m_TriFanNode, CGlModel2D::m_Viewport, NULL, CGlPane::OpenOrtho(), CPdf::PrintModel(), CTreeBoundaryNode::RenderPdf(), CGlState::ScaleInvarient(), CTreeBoundaryNode::SetIncludeLabels(), CTreeBoundaryNode::SetPane(), CGlRect< T >::Width(), x_RenderNodeLabelsPdf(), and x_RenderNodesPdf().
◆ SetRenderTooltips() void CTreeGraphicsModel::SetRenderTooltips ( bool b ) inline ◆ SetRotateLabels() void CTreeGraphicsModel::SetRotateLabels ( bool b ) inline ◆ SetScheme() ◆ SyncBuffers() void CTreeGraphicsModel::SyncBuffers ( ) virtualUpdate buffers as needed.
Reimplemented from CGlModel2D.
Definition at line 427 of file tree_graphics_model.cpp.
References _ASSERT, CPhyloNodeData::eHideChildren, CGlModel2D::FindGeomNode(), CGlRenderNode::GetState(), CRgbaGradColorTable::GetTexture(), CGlVboNode::GetVertexCount(), i, CGlRenderNode::IsVisible(), m_ColorTable, m_NodeIndices, n, NULL, CGlRenderNode::SetDefaultPosition(), CGlState::SetTexture(), CGlVboNode::SetVertexBuffer2D(), and CGlRenderNode::SetVisible().
Referenced by IPhyloTreeRender::BufferedRender().
◆ x_CircularLabelMinAngle()Definition at line 596 of file tree_graphics_model.cpp.
References IGlFont::eMetric_CharHeight, IGlFont::eMetric_Descender, CPhyloTreeScheme::GetFont(), CPhyloTreeScheme::GetMaxNodeSize(), CGlTextureFont::GetMetric(), m_CladogramCenter, m_DeltaTheta, m_SL, max(), n, CVect2< T >::Normalize(), CGlPane::Project(), r(), th, CVect2< T >::X(), CVect3< T >::X(), CGlPoint< T >::X(), CVect2< T >::Y(), CVect3< T >::Y(), and CGlPoint< T >::Y().
Referenced by GetCurrentRotationAngle(), and x_CircularLabelMinRotate().
◆ x_CircularLabelMinRotate() ◆ x_CircularLabelTrim()Definition at line 551 of file tree_graphics_model.cpp.
References abs, CPhyloTreeScheme::GetFont(), CRef< C, Locker >::GetPointer(), CVect2< T >::Length(), m_CladogramCenter, m_ColorTable, m_DeltaTheta, m_SL, n, CGlPane::Project(), r(), CVect2< T >::X(), CGlPoint< T >::X(), CVect2< T >::Y(), and CGlPoint< T >::Y().
Referenced by x_RenderNodes().
◆ x_Project() CVect2< float > CTreeGraphicsModel::x_Project ( CVect2< float > & p ) protected ◆ x_RenderBoundariesPdf() ◆ x_RenderNodeLabelsPdf() void CTreeGraphicsModel::x_RenderNodeLabelsPdf ( CGlPane & pane, CRef< CPdf > & pdf, CVect3< float > scale ) protectedDefinition at line 922 of file tree_graphics_model.cpp.
References a, CPdf::AddTooltip(), IRender::Begin(), CPdf::BeginContent(), bound(), IRender::Color4fv(), CPhyloTreeScheme::eLabelsTruncated, IGlFont::eMetric_CharHeight, IRender::Enable(), IRender::End(), CPdf::EndContent(), CPdf::ePdfText, CRgbaGradColorTable::GetColor(), CRgbaColor::GetColorArray(), CPhyloTreeScheme::GetFont(), CGlTextureFont::GetFontFace(), CPdf::GetFontHandler(), CGlTextureFont::GetFontSize(), GetGl(), CPhyloTreeScheme::GetLabelTruncation(), CTreeTriFanNode::GetLabelVisibility(), IRender::GetMetric(), CRef< C, Locker >::GetObject(), CVectorPrinter::GetOptions(), GetRotateLabels(), CGlPane::GetScaleX(), CGlPane::GetScaleY(), CPrintOptions::GetUserUnit(), gluProjectX(), i, label, IRender::LoadIdentity(), m_ColorTable, CGlModel2D::m_ModelviewMatrix, m_NodeIndices, CGlModel2D::m_ProjectionMatrix, m_RenderPdfTooltips, m_RotateLabels, m_SL, m_Tree, m_TriFanNode, CGlModel2D::m_Viewport, n, IRender::PolygonMode(), CPdf::PrintText(), r(), IRender::RectC(), CPhyloTreeScheme::SetTooltipFormat(), string, IRender::TextWidth(), IRender::Vertex2f(), CVect2< T >::X(), CVect3< T >::X(), CVect2< T >::Y(), CVect3< T >::Y(), and CVect4< T >::Y().
Referenced by RenderPDF().
◆ x_RenderNodes()Definition at line 758 of file tree_graphics_model.cpp.
References CGlState::ColorC(), CPhyloNodeData::eHideChildren, CPhyloTreeScheme::eLabelsTruncated, CSpatialHash2D< T >::Get(), CPhyloTreeScheme::GetFont(), CPhyloTreeScheme::GetLabelTruncation(), CTreeTriFanNode::GetLabelVisibility(), CSpatialHash2D< T >::GetMaxVisIndex(), CSpatialHash2D< T >::GetMinVisIndex(), CRef< C, Locker >::GetPointer(), CGlRenderNode::GetState(), i, CMatrix4< T >::Identity(), CSpatialHash2D< T >::InBounds(), CGlRenderNode::IsVisible(), m_CollisionData, m_ColorTable, m_EnableCircularLabelTrimming, CollisionEntry::m_Labels, m_NodeRenderCount, m_RotateLabels, m_SL, m_TriFanNode, n, CGlRenderNode::Render(), CGlRenderNode::SetPosition(), CVect2< T >::X(), x_CircularLabelMinRotate(), x_CircularLabelTrim(), and CVect2< T >::Y().
Referenced by Render().
◆ x_RenderNodesPdf()Definition at line 1088 of file tree_graphics_model.cpp.
References CPdf::AddShadedTris(), colors, CPdfObject::e16Bit, CPhyloNodeData::eHideChildren, CRgbaColor::GetBlueUC(), CGlVboNode::GetColorBuffer(), GetGl(), CRgbaColor::GetGreenUC(), CVectorPrinter::GetOptions(), CRef< C, Locker >::GetPointer(), CRgbaColor::GetRedUC(), CPrintOptions::GetUserUnit(), CGlPane::GetViewport(), i, CMatrix3< T >::Identity(), CGlRenderNode::IsVisible(), m_ColorTable, m_NodeIndices, m_TriFanNode, IRender::MatrixMode(), n, IRender::PopMatrix(), IRender::PushMatrix(), CPdf::RenderShaderInstance(), IRender::Scalef(), CGlVboNode::SetColorBuffer(), IRender::Translatef(), CVect3< T >::X(), and CVect3< T >::Y().
Referenced by RenderPDF().
◆ m_BoundaryNode ◆ m_BoundaryRenderTime float CTreeGraphicsModel::m_BoundaryRenderTime ◆ m_CDUpdateTime float CTreeGraphicsModel::m_CDUpdateTime ◆ m_CladogramCenter CVect2<float> CTreeGraphicsModel::m_CladogramCenter protected ◆ m_CollapseTexture ◆ m_CollisionData ◆ m_ColorTable ◆ m_DeltaTheta float CTreeGraphicsModel::m_DeltaTheta protected ◆ m_EnableCircularLabelTrimming bool CTreeGraphicsModel::m_EnableCircularLabelTrimming protected ◆ m_LineRenderTime float CTreeGraphicsModel::m_LineRenderTime ◆ m_NodeIndices vector<size_t> CTreeGraphicsModel::m_NodeIndices protected ◆ m_NodeRenderCount int CTreeGraphicsModel::m_NodeRenderCount ◆ m_NodesRenderTime float CTreeGraphicsModel::m_NodesRenderTime ◆ m_RenderPdfTooltips bool CTreeGraphicsModel::m_RenderPdfTooltips protected ◆ m_RenderTime float CTreeGraphicsModel::m_RenderTime ◆ m_RotateLabels bool CTreeGraphicsModel::m_RotateLabels protected ◆ m_SL ◆ m_TotalTime float CTreeGraphicsModel::m_TotalTime ◆ m_Tree ◆ m_TriFanNodeThe documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4