NCBI C++ ToolKit
|
Search Toolkit Book for CTreeGraphicsModel
class CTreeGraphicsModel Model for rendering tree graphics data. More...
#include <gui/widgets/phylo_tree/tree_graphics_model.hpp>
Public Member Functions | |
CTreeGraphicsModel () | |
virtual | ~CTreeGraphicsModel () |
void | Init (CPhyloTree *t) |
Allocate any default buffers etc. More... | |
CGlVboNode * | AddTempCollapsedNode (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... | |
CPhyloTree * | GetTree () |
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... | |
CRgbaGradColorTable * | GetColorTable () |
Get color table used a 1D texture map for edges and nodes. More... | |
CTreeBoundaryNode * | GetBoundaryNode () |
CTreeTriFanNode * | GetTriFanNode () |
CTreeCollisionModel2D & | GetCollisionData () |
const CTreeCollisionModel2D & | GetCollisionData () const |
void | SetRotateLabels (bool b) |
bool | GetRotateLabels () const |
void | SetRenderTooltips (bool b) |
bool | GetRenderTooltips () const |
Public Member Functions inherited from CGlModel2D | |
CGlModel2D () | |
virtual | ~CGlModel2D () |
virtual void | ClearAll () |
clear everything - vectors and vertex buffers More... | |
CGlVboNode * | FindGeomNode (const string &name) |
Find a geometry (vertex buffer object) node by name. More... | |
CGlVboNode * | AddGeomNode (GLenum node_type, const string &name, bool visible=true) |
Add a geometry (vertex buffer object) node. More... | |
CGlVboNode * | AddGeomNode (GLenum node_type, const string &name, size_t idx, bool visible=true) |
Same as above, but insert node before specified index. More... | |
CGlVboNode * | AddGeomNode (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... | |
CGlVboNode * | AddGeomNode (const string &name, size_t idx, bool visible=true) |
Same as above, but insert node before specified index. More... | |
vector< CGlVboNode * > & | GetNodes () |
CIRef< IVboGeom > | FindGeomObject (const string &name) |
Find a geometry object (just geometry - not a render node) by name. More... | |
CIRef< IVboGeom > | AddGeomObject (GLenum node_type, const string &name) |
Add a geometry (vertex buffer object) node. More... | |
vector< CIRef< IVboGeom > > & | GetGeomObjects () |
CGlVboNode * | AddTempGeomNode (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... | |
CGlVboNode * | AddTempGeomNode (GLenum node_type, const string &name, bool visible=true) |
vector< CGlVboNode * > & | GetTempNodes () |
Public Member Functions inherited from CGlObject | |
CGlObject () | |
CGlObject (const string &name) | |
void | SetName (const string &name) |
string | GetName () const |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (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... | |
Public Member Functions inherited from CDebugDumpable | |
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 |
Public Attributes | |
float | m_RenderTime |
float | m_LineRenderTime |
float | m_NodesRenderTime |
float | m_BoundaryRenderTime |
int | m_NodeRenderCount |
float | m_TotalTime |
float | m_CDUpdateTime |
Protected Member Functions | |
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 |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Protected Attributes | |
CTreeCollisionModel2D | m_CollisionData |
vector< size_t > | m_NodeIndices |
CTreeBoundaryNode * | m_BoundaryNode |
CTreeTriFanNode * | m_TriFanNode |
CPhyloTree * | m_Tree |
CRef< CPhyloTreeScheme > | m_SL |
CRef< CRgbaGradColorTable > | m_ColorTable |
bool | m_RotateLabels |
bool | m_RenderPdfTooltips |
CIRef< I3DTexture > | m_CollapseTexture |
bool | m_EnableCircularLabelTrimming |
These are specialized for rendering circular cladograms. More... | |
CVect2< float > | m_CladogramCenter |
float | m_DeltaTheta |
Protected Attributes inherited from CGlModel2D | |
GLint | m_Viewport [4] |
For gluProject() More... | |
GLdouble | m_ModelviewMatrix [16] |
GLdouble | m_ProjectionMatrix [16] |
vector< CGlVboNode * > | m_GeomNodes |
Set of rendernodes with vertex buffer objects. More... | |
vector< CIRef< IVboGeom > > | m_GeomObjects |
Geometry to use in nodes (can be shared between nodes) More... | |
vector< CGlVboNode * > | m_TempGeomNodes |
Set of single-use rendernodes (which may use geom from m_Geom) These are deleted when ClearArrays is called. More... | |
Protected Attributes inherited from CGlObject | |
string | m_Name |
Object name. More... | |
Additional Inherited Members | |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. 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 | ( | ) |
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.
|
virtual |
Definition at line 157 of file tree_graphics_model.cpp.
References CAttribMenuInstance::GetInstance(), m_BoundaryNode, m_TriFanNode, NULL, and CAttribMenu::RemoveMenuR().
CGlVboNode * CTreeGraphicsModel::AddTempCollapsedNode | ( | const vector< CVect2< float > > & | vb | ) |
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().
|
virtual |
Clear arrays prior to re-synching with the model.
Reimplemented from CGlModel2D.
Definition at line 509 of file tree_graphics_model.cpp.
References CTreeBoundaryNode::Clear(), CGlModel2D::ClearArrays(), CGlRenderNode::ClearPositions(), CGlModel2D::FindGeomNode(), m_BoundaryNode, m_EnableCircularLabelTrimming, m_NodeIndices, m_TriFanNode, NULL, and CGlVboNode::SetVertexBuffer2D().
Referenced by IPhyloTreeRender::BufferedRender().
Called for circular layout - enables trimming of non-rotated labels based on proximity to adjacent leaf nodes in the circle.
Definition at line 534 of file tree_graphics_model.cpp.
References CPhyloNodeData::GetNumLeavesEx(), CTreeModel< TNode >::GetRoot(), CTreeModelNode< TData >::GetValue(), m_CladogramCenter, m_DeltaTheta, m_EnableCircularLabelTrimming, and m_Tree.
Referenced by CPhyloCircularCladogram::x_RenderVbo().
|
inline |
Definition at line 170 of file tree_graphics_model.hpp.
References m_BoundaryNode.
Referenced by IPhyloTreeRender::x_RenderNodeVbo().
|
inline |
Definition at line 173 of file tree_graphics_model.hpp.
References m_CollisionData.
Referenced by CPhyloTreeDataSource::Clean(), IPhyloTreeRender::InitCollisionInfo(), CPhyloTree::SelectByRect(), CPhyloTree::TestForNode(), and IPhyloTreeRender::x_SetElementVisibility().
|
inline |
Definition at line 174 of file tree_graphics_model.hpp.
References m_CollisionData.
|
inline |
Get color table used a 1D texture map for edges and nodes.
Definition at line 168 of file tree_graphics_model.hpp.
References CRef< C, Locker >::GetPointer(), and m_ColorTable.
Referenced by IPhyloTreeRender::GetEdgeColor(), CChangePhyloPropertyCmd::PerformEdit(), CPhyloSaveSelectiondlg::SetSelections(), and IPhyloTreeRender::x_RenderNodeVbo().
float CTreeGraphicsModel::GetCurrentRotationAngle | ( | const CGlPane & | pane, |
const CPhyloTreeNode & | n, | ||
bool & | visible | ||
) | const |
Return node's label rotation angle for current zoom level.
(Circular view rotates less as you zoom out and that is computed in CTreeGraphicsModel)
Definition at line 740 of file tree_graphics_model.cpp.
References CGlPane::GetScaleX(), CGlPane::GetScaleY(), CPhyloTreeNode::IsLeafEx(), m_EnableCircularLabelTrimming, m_RotateLabels, and x_CircularLabelMinAngle().
Referenced by CPhyloTreeWidget::IterateSelection(), and CTreeCollisionModel2D::UpdateScaled().
|
inline |
Get all the nodes (indicies point to nodes in phylo tree)
Definition at line 165 of file tree_graphics_model.hpp.
References m_NodeIndices.
Referenced by CTreeCollisionModel2D::UpdateScaled(), and IPhyloTreeRender::x_RenderNodeVbo().
|
inline |
Definition at line 180 of file tree_graphics_model.hpp.
References m_RenderPdfTooltips.
|
inline |
Definition at line 177 of file tree_graphics_model.hpp.
References m_RotateLabels.
Referenced by CTreeCollisionModel2D::UpdateScaled(), CTreeCollisionModel2D::UpdateVisibility(), and x_RenderNodeLabelsPdf().
|
inline |
Get the tree (to which the node indices belong)
Definition at line 162 of file tree_graphics_model.hpp.
References m_Tree.
Referenced by CTreeCollisionModel2D::SelectNodes(), CTreeCollisionModel2D::TestForNode(), CTreeCollisionModel2D::UpdateScaled(), and CTreeCollisionModel2D::UpdateVisibility().
|
inline |
Definition at line 171 of file tree_graphics_model.hpp.
References m_TriFanNode.
Referenced by IPhyloTreeRender::x_RenderNodeVbo(), and IPhyloTreeRender::x_SetElementVisibility().
void CTreeGraphicsModel::Init | ( | CPhyloTree * | t | ) |
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().
|
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().
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().
|
inline |
Definition at line 179 of file tree_graphics_model.hpp.
References b, and m_RenderPdfTooltips.
Referenced by CPhyloTreePane::RenderPdf().
|
inline |
Definition at line 176 of file tree_graphics_model.hpp.
References b, and m_RotateLabels.
Referenced by IPhyloTreeRender::BufferedRender(), and IPhyloTreeRender::x_SetElementVisibility().
void CTreeGraphicsModel::SetScheme | ( | CPhyloTreeScheme & | sl | ) |
Set rendering scheme for tree (some nodes need this to render)
Definition at line 542 of file tree_graphics_model.cpp.
References m_BoundaryNode, m_CollisionData, m_SL, NULL, CRef< C, Locker >::Reset(), CTreeCollisionModel2D::SetScheme(), and CTreeBoundaryNode::SetScheme().
Referenced by CPhyloTreeWidget::SetScheme().
|
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().
|
protected |
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().
|
protected |
Definition at line 718 of file tree_graphics_model.cpp.
References a, CPhyloTreeScheme::GetFont(), CRef< C, Locker >::GetPointer(), m_ColorTable, m_SL, n, and x_CircularLabelMinAngle().
Referenced by x_RenderNodes().
|
protected |
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().
Definition at line 1075 of file tree_graphics_model.cpp.
References gluProjectX(), CGlModel2D::m_ModelviewMatrix, CGlModel2D::m_ProjectionMatrix, CGlModel2D::m_Viewport, CVect2< T >::X(), and CVect2< T >::Y().
|
protected |
|
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().
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().
|
protected |
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().
|
protected |
Definition at line 218 of file tree_graphics_model.hpp.
Referenced by ClearArrays(), GetBoundaryNode(), Init(), Render(), RenderPDF(), SetScheme(), and ~CTreeGraphicsModel().
float CTreeGraphicsModel::m_BoundaryRenderTime |
Definition at line 244 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), and Render().
float CTreeGraphicsModel::m_CDUpdateTime |
Definition at line 247 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), and IPhyloTreeRender::x_SetElementVisibility().
|
protected |
Definition at line 237 of file tree_graphics_model.hpp.
Referenced by EnableCircularLabelTrimming(), x_CircularLabelMinAngle(), and x_CircularLabelTrim().
|
protected |
Definition at line 230 of file tree_graphics_model.hpp.
Referenced by AddTempCollapsedNode().
|
protected |
Definition at line 214 of file tree_graphics_model.hpp.
Referenced by GetCollisionData(), SetScheme(), and x_RenderNodes().
|
protected |
Definition at line 223 of file tree_graphics_model.hpp.
Referenced by GetColorTable(), Init(), RenderPDF(), SyncBuffers(), x_CircularLabelMinRotate(), x_CircularLabelTrim(), x_RenderNodeLabelsPdf(), x_RenderNodes(), and x_RenderNodesPdf().
|
protected |
Definition at line 238 of file tree_graphics_model.hpp.
Referenced by EnableCircularLabelTrimming(), x_CircularLabelMinAngle(), and x_CircularLabelTrim().
|
protected |
These are specialized for rendering circular cladograms.
It gives info to approximate positions of adjacent labels so that labels can be trimmed and rotation can be done in a minimal fashion This is automatically disabled when ClearArrays is called.
Definition at line 236 of file tree_graphics_model.hpp.
Referenced by ClearArrays(), EnableCircularLabelTrimming(), GetCurrentRotationAngle(), and x_RenderNodes().
float CTreeGraphicsModel::m_LineRenderTime |
Definition at line 242 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), and Render().
|
protected |
Definition at line 216 of file tree_graphics_model.hpp.
Referenced by ClearArrays(), GetNodeIndices(), SyncBuffers(), x_RenderNodeLabelsPdf(), and x_RenderNodesPdf().
int CTreeGraphicsModel::m_NodeRenderCount |
Definition at line 245 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), and x_RenderNodes().
float CTreeGraphicsModel::m_NodesRenderTime |
Definition at line 243 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), and Render().
|
protected |
Definition at line 227 of file tree_graphics_model.hpp.
Referenced by GetRenderTooltips(), SetRenderTooltips(), and x_RenderNodeLabelsPdf().
float CTreeGraphicsModel::m_RenderTime |
Definition at line 241 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), Render(), and IPhyloTreeRender::Render().
|
protected |
Definition at line 225 of file tree_graphics_model.hpp.
Referenced by GetCurrentRotationAngle(), GetRotateLabels(), SetRotateLabels(), x_RenderNodeLabelsPdf(), and x_RenderNodes().
|
protected |
Definition at line 222 of file tree_graphics_model.hpp.
Referenced by Init(), SetScheme(), x_CircularLabelMinAngle(), x_CircularLabelMinRotate(), x_CircularLabelTrim(), x_RenderNodeLabelsPdf(), and x_RenderNodes().
float CTreeGraphicsModel::m_TotalTime |
Definition at line 246 of file tree_graphics_model.hpp.
Referenced by CTreeGraphicsModel(), and CPhyloTreePane::x_Render().
|
protected |
Definition at line 221 of file tree_graphics_model.hpp.
Referenced by EnableCircularLabelTrimming(), GetTree(), Init(), and x_RenderNodeLabelsPdf().
|
protected |
Definition at line 219 of file tree_graphics_model.hpp.
Referenced by ClearArrays(), GetTriFanNode(), Init(), Render(), RenderPDF(), x_RenderNodeLabelsPdf(), x_RenderNodes(), x_RenderNodesPdf(), and ~CTreeGraphicsModel().