A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/classCTreeGraphicsModel.html below:

NCBI C++ ToolKit: CTreeGraphicsModel Class Reference

Search Toolkit Book for CTreeGraphicsModel

class CTreeGraphicsModel Model for rendering tree graphics data. More...

#include <gui/widgets/phylo_tree/tree_graphics_model.hpp>

  CTreeGraphicsModel ()   virtual  ~CTreeGraphicsModel ()   void  Init (CPhyloTree *t)   Allocate any default buffers etc. More...
  CGlVboNodeAddTempCollapsedNode (const vector< CVect2< float > > &vb)   Return a node that can be used to represent a collapsed tree. More...
  virtual void  Render (CGlPane &pane)   Draw all the nodes. More...
  virtual void  RenderPDF (CGlPane &pane, CRef< CPdf > &pdf)   Draw to PDF file. More...
  virtual void  SyncBuffers ()   Update buffers as needed. More...
  virtual void  ClearArrays ()   Clear arrays prior to re-synching with the model. More...
  void  EnableCircularLabelTrimming (const CVect2< float > &cladogram_center)   Called for circular layout - enables trimming of non-rotated labels based on proximity to adjacent leaf nodes in the circle. More...
  float  GetCurrentRotationAngle (const CGlPane &pane, const CPhyloTreeNode &n, bool &visible) const   Return node's label rotation angle for current zoom level. More...
  void  SetScheme (CPhyloTreeScheme &sl)   Set rendering scheme for tree (some nodes need this to render) More...
  CPhyloTreeGetTree ()   Get the tree (to which the node indices belong) More...
  vector< size_t > &  GetNodeIndices ()   Get all the nodes (indicies point to nodes in phylo tree) More...
  CRgbaGradColorTableGetColorTable ()   Get color table used a 1D texture map for edges and nodes. More...
  CTreeBoundaryNodeGetBoundaryNode ()   CTreeTriFanNodeGetTriFanNode ()   CTreeCollisionModel2DGetCollisionData ()   const CTreeCollisionModel2DGetCollisionData () const   void  SetRotateLabels (bool b)   bool  GetRotateLabels () const   void  SetRenderTooltips (bool b)   bool  GetRenderTooltips () const     CGlModel2D ()   virtual  ~CGlModel2D ()   virtual void  ClearAll ()   clear everything - vectors and vertex buffers More...
  CGlVboNodeFindGeomNode (const string &name)   Find a geometry (vertex buffer object) node by name. More...
  CGlVboNodeAddGeomNode (GLenum node_type, const string &name, bool visible=true)   Add a geometry (vertex buffer object) node. More...
  CGlVboNodeAddGeomNode (GLenum node_type, const string &name, size_t idx, bool visible=true)   Same as above, but insert node before specified index. More...
  CGlVboNodeAddGeomNode (const string &name, bool visible=true)   Add a geometry node of unspecified type (caller will have to allocate appropriate buffer type for the node) More...
  CGlVboNodeAddGeomNode (const string &name, size_t idx, bool visible=true)   Same as above, but insert node before specified index. More...
  vector< CGlVboNode * > &  GetNodes ()   CIRef< IVboGeomFindGeomObject (const string &name)   Find a geometry object (just geometry - not a render node) by name. More...
  CIRef< IVboGeomAddGeomObject (GLenum node_type, const string &name)   Add a geometry (vertex buffer object) node. More...
  vector< CIRef< IVboGeom > > &  GetGeomObjects ()   CGlVboNodeAddTempGeomNode (const string &name, bool visible=true)   Add a geometry node of unspecified type (caller will have to allocate appropriate buffer type for the node) More...
  CGlVboNodeAddTempGeomNode (GLenum node_type, const string &name, bool visible=true)   vector< CGlVboNode * > &  GetTempNodes ()     CGlObject ()     CGlObject (const string &name)   void  SetName (const string &name)   string  GetName () const     CObject (void)   Constructor. More...
    CObject (const CObject &src)   Copy constructor. More...
  virtual  ~CObject (void)   Destructor. More...
  CObjectoperator= (const CObject &src) THROWS_NONE   Assignment operator. More...
  bool  CanBeDeleted (void) const THROWS_NONE   Check if object can be deleted. More...
  bool  IsAllocatedInPool (void) const THROWS_NONE   Check if object is allocated in memory pool (not system heap) More...
  bool  Referenced (void) const THROWS_NONE   Check if object is referenced. More...
  bool  ReferencedOnlyOnce (void) const THROWS_NONE   Check if object is referenced only once. More...
  void  AddReference (void) const   Add reference to object. More...
  void  RemoveReference (void) const   Remove reference to object. More...
  void  ReleaseReference (void) const   Remove reference without deleting object. More...
  virtual void  DoNotDeleteThisObject (void)   Mark this object as not allocated in heap – do not delete this object. More...
  virtual void  DoDeleteThisObject (void)   Mark this object as allocated in heap – object can be deleted. More...
  void *  operator new (size_t size)   Define new operator for memory allocation. More...
  void *  operator new[] (size_t size)   Define new[] operator for 'array' memory allocation. More...
  void  operator delete (void *ptr)   Define delete operator for memory deallocation. More...
  void  operator delete[] (void *ptr)   Define delete[] operator for memory deallocation. More...
  void *  operator new (size_t size, void *place)   Define new operator. More...
  void  operator delete (void *ptr, void *place)   Define delete operator. More...
  void *  operator new (size_t size, CObjectMemoryPool *place)   Define new operator using memory pool. More...
  void  operator delete (void *ptr, CObjectMemoryPool *place)   Define delete operator. More...
  virtual void  DebugDump (CDebugDumpContext ddc, unsigned int depth) const   Define method for dumping debug information. More...
    CDebugDumpable (void)   virtual  ~CDebugDumpable (void)   void  DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const   void  DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const   void  DumpToConsole (void) const   void  x_RenderNodes (CGlPane &pane, const CVect3< float > &scale)   void  x_RenderNodeLabelsPdf (CGlPane &pane, CRef< CPdf > &pdf, CVect3< float > scale)   void  x_RenderNodesPdf (CGlPane &pane, CRef< CPdf > &pdf, CVect3< float > scale)   void  x_RenderBoundariesPdf (CGlPane &pane, CRef< CPdf > &pdf, const CVect3< float > &scale)   CVect2< float >  x_Project (CVect2< float > &p)   void  x_CircularLabelTrim (const CGlPane &pane, const CVect3< float > &scale, CPhyloTreeNode &n, bool truncate_labels)   void  x_CircularLabelMinRotate (const CGlPane &pane, const CVect3< float > &scale, CPhyloTreeNode &n, bool truncate_labels)   float  x_CircularLabelMinAngle (const CGlPane &pane, const CVect3< float > &scale, const CPhyloTreeNode &n, bool &visible) const   virtual void  DeleteThis (void)   Virtual method "deleting" this object. More...
 

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 ( CGlPanepane ) virtual

Draw 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 ( ) virtual

Update 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 ( CGlPanepane, CRef< CPdf > &  pdf, CVect3< float >  scale  ) protected

Definition 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_TriFanNode

The 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