NCBI C++ ToolKit
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
CPhyloCircularCladogram Class Reference

Search Toolkit Book for CPhyloCircularCladogram

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

+ Inheritance diagram for CPhyloCircularCladogram:
+ Collaboration diagram for CPhyloCircularCladogram:

Public Member Functions

 CPhyloCircularCladogram ()
 
 CPhyloCircularCladogram (double w, double h)
 
 ~CPhyloCircularCladogram ()
 
string GetDescription (void)
 
virtual bool SupportsDistanceRendering () const
 branch length in circular not connected to node distance More...
 
bool SupportsRotatedLabels () const
 
void UseMinimalRotation (bool b)
 
bool GetUseMinimalRotation () const
 
virtual double ComputeDistFromPixels (CGlPane &pane, const CVect2< TModelUnit > &pixpos1, const CVect2< TModelUnit > &pixpos2) const
 
virtual float GetLabelViewPct () const
 Allocate less spaces for labels in circular views since they appear on both sides of nodes, thus using up more space. More...
 
virtual float GetNodeLabelDist (const CPhyloTreeNode *node) const
 
- Public Member Functions inherited from IPhyloTreeRender
 IPhyloTreeRender ()
 
 IPhyloTreeRender (double width, double height)
 
virtual ~IPhyloTreeRender ()
 
void SetActiveTooltipNode (int id)
 id is the tip id of the tip that the users mouse is currently on, or -1 More...
 
void PointToNode (int id, wxRect tip_rect, float sec)
 point to a particular node from a tooltip to help user spot it rectangle should be the tooltip screen rectangle in screen (not model) coordinates where the lower-left corner of the panel is (0,0) More...
 
void SetHost (IPhyloTreeRenderHost *pHost)
 
void SetFont (CGlTextureFont *font)
 
void SetZoomHandler (CMouseZoomHandler *mz)
 
void SetDistRendering (bool flag)
 
bool GetDistRendering (void) const
 
bool GetSplinesRendering (void) const
 
void SetSplinesRendering (bool flag)
 
bool GetRotatedLabels (void) const
 
void SetRotatedLabels (bool flag)
 
bool GetForceSquare (void) const
 
void SetForceSquare (bool flag)
 
bool GetRegenerateTexture (void) const
 
void SetRegenerateTexture (bool flag)
 
void SetLabelViewPct (float pct)
 
bool GetRenderScale () const
 
void SetRenderScale (bool s)
 
float GetTreeHeight () const
 Get sum of pixel size of all leaf nodes. More...
 
CPhyloTree::TSelStateGetSingleSelection ()
 
virtual void StartRendering (bool b)
 Allow caller to indicate layout has changed from one type to another (e.g. More...
 
virtual ELayoutStatus ValidLayout () const
 
virtual void NeedsLayout (ELayoutStatus s)
 
void OnLeftDown (wxMouseEvent &event)
 event handlers More...
 
void OnRightDown (wxMouseEvent &event)
 
void OnLeftDblClick (wxMouseEvent &event)
 
void OnLeftUp (wxMouseEvent &event)
 
void OnMotion (wxMouseEvent &event)
 
void OnTimer (wxTimerEvent &event)
 
void OnTimerLeftUp (wxTimerEvent &event)
 
IGenericHandlerHostGetGenericHost ()
 
virtual TVPUnit DistanceBetweenNodes (void) const
 
float GetNodeSize (const CPhyloTreeNode *node) const
 
float SetNodeColoration (CPhyloTreeNode *node, TTreeIdx node_idx)
 nodes, edges and labels can be colored for default, trace, shared, select or cluster More...
 
short GetNodeColorIdx (CPhyloTreeNode *node)
 
short GetLabelColorIdx (CPhyloTreeNode *node)
 
bool GetEdgeColor (CPhyloTreeNode *child_node, CPhyloTreeNode *parent_node, CRgbaColor &c, CRgbaColor &parent_color)
 Returns true if color is from selection (sel, shared, trace) More...
 
CPhyloTreeNodeGetHoverNode (CVect2< float > pt)
 
CPhyloTree::TTreeIdx GetHoverNodeIdx (CVect2< float > pt)
 
I3DTextureGetTexture (float &xcoord_limit, float &ycoord_limit)
 
virtual void BufferedRender (CGlPane &pane, CPhyloTreeDataSource &ds, bool init_collision_info=true, bool select_edge=false)
 
void InitCollisionInfo ()
 
bool LabelsVisible ()
 Return true if lables are visible according to rendering scheme and at current scale. More...
 
virtual float DefaultNodeSize ()
 Return default node size according to scheme or 0 if not visible at current scale. More...
 
void InitLabel (CPhyloTree *tree, CPhyloTree::TNodeType &node)
 Initialize (for current layout) label text and extent (label rectangle) More...
 
virtual bool Render (CGlPane &pane, CPhyloTreeDataSource &ds)
 Returns false if rendering does not occur (e.g. More...
 
virtual void RenderForHardcopy (CGlPane &pane, CPhyloTreeDataSource &ds)
 
virtual void RenderPdf (CGlPane &pane, CPhyloTreeDataSource &ds, CRef< CPdf > pdf)
 
virtual void Layout (CPhyloTreeDataSource &ds, CGlPane &p)
 
virtual void Redraw (void)
 
virtual void RemoveCurrentDataSource ()
 
virtual void UpdateDataSource (CPhyloTreeDataSource &ds, CGlPane &p)
 
void SetScheme (CPhyloTreeScheme &sl)
 
CPhyloTreeSchemeGetScheme (void)
 
void SetModelDimensions (double width, double height)
 
void CalculateExtents (CPhyloTree *tree, CPhyloTree::TNodeType &node)
 
void InitExtents ()
 Set extents to default values so CalculateExtents can be called. More...
 
void ComputeViewingLimits (CGlPane &pane, bool force_square=false, bool init_collision_info=true)
 Compute the optimal viewing pane size so that the tree occupies the entire viewing area, and labels do not go offscreen. More...
 
void SetRenderingOption (TRenderingOption opt, bool bVal)
 
virtual bool IsDistanceBarLowerLeft () const
 
void SetDistanceBarLowerLeft (bool b)
 
const double GetDimX (void)
 
const double GetDimY (void)
 
double ComputeScale (double default_scale, int &precision) const
 
void SetHighlightEdges (bool enable)
 
bool GetHighlightEdges () const
 
TVPRect GetMinDimensions (CGlPane &pane, const CPhyloTreeDataSource &ds, const CPhyloTreeScheme &sc, int &label_height, TModelRect &node_rect, TModelRect &text_rect, float width_factor, float height_factor=1.0f, float wh_ratio=-1.0f)
 
int GetMaxLeavesVisible ()
 
virtual float GetDefaultNodeSize (const CPhyloTreeNode *node) const
 
virtual float GetNodeLayoutSize (const CPhyloTreeNode *node) const
 This is the height of the node for layout purposes. More...
 
bool x_GetEdgeDist (const CVect2< float > &from, const CVect2< float > &to)
 
void x_RenderLineVbo (TTreeIdx child_node_idx, CPhyloTreeNode *child_node, CPhyloTreeNode *parent_node, vector< CVect2< float > > &line_coords, vector< CVect4< unsigned char > > &line_colors, double x1, double y1, double x2, double y2)
 
void x_RenderLineVbo (TTreeIdx child_node_idx, CPhyloTreeNode *child_node, CPhyloTreeNode *parent_node, vector< CVect2< float > > &line_coords, vector< CVect4< unsigned char > > &line_colors, vector< CVect2< float > > &sel_line_coords, vector< CVect4< unsigned char > > &sel_line_colors, double x1, double y1, double x2, double y2)
 
void x_RenderSplineVbo (TTreeIdx child_node_idx, CPhyloTreeNode *child_node, CPhyloTreeNode *parent_node, vector< CVect2< float > > &edge_node_coords, vector< CVect4< unsigned char > > &edge_node_colors, vector< CVect2< float > > &sel_edge_node_coords, vector< CVect4< unsigned char > > &sel_edge_node_colors, const CVect3< float > &pt1, const CVect3< float > &pt2, const CVect3< float > &pt3, const CVect3< float > &pt4)
 
void x_RenderCircularVbo (TTreeIdx child_node_idx, CPhyloTreeNode *child_node, CPhyloTreeNode *parent_node, vector< CVect2< float > > *trace_line_coords, vector< CVect4< unsigned char > > *trace_line_colors, vector< CVect2< float > > *trace_point_coords, vector< CVect4< unsigned char > > *trace_point_colors, vector< CVect2< float > > &edge_node_coords, vector< CVect4< unsigned char > > &edge_node_colors, vector< CVect2< float > > &sel_edge_node_coords, vector< CVect4< unsigned char > > &sel_edge_node_colors, float radius, const CVect2< float > &center, const CVect2< float > &offset, float resolution)
 
void x_RenderPseudoSplineVbo (TTreeIdx child_node_idx, CPhyloTreeNode *child_node, CPhyloTreeNode *parent_node, vector< CVect2< float > > &edge_node_coords, vector< CVect4< unsigned char > > &edge_node_colors, vector< CVect2< float > > &sel_edge_node_coords, vector< CVect4< unsigned char > > &sel_edge_node_colors, const CVect2< float > &pt1, const CVect2< float > &mid_point, const CVect2< float > &pt2)
 
void x_AddCollapsedGeomNode (CPhyloTreeNode *node, const CVect2< float > delta, CRgbaColor color, float alpha, size_t circleSegments, bool skip_pdf)
 
bool x_AddCollapsedTextureNode (CPhyloTreeNode *node, const CVect2< float > delta, CRgbaColor color, float alpha)
 
void x_RenderNodeVbo (CPhyloTreeNode *node, TTreeIdx node_idx, vector< float > &color_coords, const CVect2< float > delta=CVect2< float >(0.0f, 0.0f))
 
virtual void x_ComputeNodeBoundary (CPhyloTree *tree, CPhyloTree::TNodeType &node, CBoundaryPoints &boundary_pts, const string &layout_type)
 
string TTHH_NeedTooltip (const wxPoint &pt)
 
CTooltipInfo TTHH_GetTooltip (const wxRect &rect)
 
virtual void SetPane (CGlPane *pane)
 
virtual wxEvtHandler * GetEvtHandler ()
 
- Public Member Functions inherited from CObjectEx
 CObjectEx (void)
 
virtual ~CObjectEx (void)
 
- Public Member Functions inherited from CObject
 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...
 
- 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 Member Functions inherited from CWeakObject
 CWeakObject (void)
 
virtual ~CWeakObject (void)
 
CPtrToObjectProxyGetPtrProxy (void) const
 Get pointer to proxy object containing pointer to this object. More...
 
- Public Member Functions inherited from IGlEventHandler
virtual ~IGlEventHandler ()
 
- Public Member Functions inherited from IPhyloTreeLOD
 IPhyloTreeLOD ()
 
virtual ~IPhyloTreeLOD ()
 

Protected Types

enum  ECorner { eTop , eMiddle , eBottom }
 type of corner More...
 
- Protected Types inherited from IPhyloTreeRender
enum  EState { eIdle , eSelPoint , eSelRect , eDragNode }
 event handling state More...
 
enum  ELabelAlign { eLeft , eRight }
 label alignment More...
 

Protected Member Functions

void x_Calculate (CPhyloTree *tree)
 
void x_DrawTree (CPhyloTree *tree, vector< float > &color_coords, vector< CVect2< float > > &edge_node_coords, vector< CVect4< unsigned char > > &edge_node_colors, vector< CVect2< float > > &sel_edge_node_coords, vector< CVect4< unsigned char > > &sel_edge_node_colors)
 
void x_RenderVbo (CPhyloTreeDataSource &ds)
 
void x_Layout (CPhyloTreeDataSource &ds)
 
virtual void x_SetGlRenderOptions (CPhyloTreeDataSource &ds)
 Set OpenGL rendering options that depend on layout chosen. More...
 
TModelUnit x_GetVerticalSeparationFactor () const
 layout-spefic constant for label vertical sepatation needed for visibility More...
 
bool x_WideLines ()
 Returns true if lines are separated enough to use the wider form of lines (more separation is required for circular views, since interior lines overlap more easily) More...
 
- Protected Member Functions inherited from IPhyloTreeRender
CVect2< float > x_FindBestSize (CGlPane &pane, std::vector< ProjectionElement > &xexts, std::vector< ProjectionElement > &yexts, TModelRect &limits, TModelRect &node_extents, TModelRect &text_extents, int max_iterations=500)
 Returns viewport projection size in x/y from last iteration and puts optimal viewing (to see whole tree) area in limits. More...
 
void x_InitCollisionInfo ()
 
virtual void x_SetElementVisibility ()
 
void x_RenderSelection (CGlPane &pane)
 
void x_RenderScaleMarker (CGlPane &pane, IRender &gl)
 
void x_RenderTreeLabel (CGlPane &pane, IRender &gl)
 
void x_RenderTooltipHints (CGlPane &pane)
 
void x_RenderNodeHighlight (CGlPane &pane, CPhyloTree::TTreeIdx node_idx, const CRgbaColor &c)
 
void x_DrawBoundingAreas (CPhyloTreeNode *node)
 
void x_DrawBoundingAreasVbo (CPhyloTreeNode *node)
 
void x_GenerateTexture (void)
 
int x_OnMouseMove (void)
 
int x_OnKeyDown (void)
 
int x_OnKeyUp (void)
 
void x_OnSelectCursor (void)
 
bool x_SelectByRect (bool toggle)
 Returns true if selection status changed (or may have changed..) More...
 
virtual void x_Render (CGlPane &pane, CPhyloTreeDataSource &ds)
 
void x_ComputeEdgeHighlight ()
 compute coefficients for edge highlighting (if enabled) More...
 
- Protected Member Functions inherited from CObject
virtual void DeleteThis (void)
 Virtual method "deleting" this object. More...
 
- Protected Member Functions inherited from CWeakObject
void CleanWeakRefs (void) const
 Method cleaning all CWeakRefs referencing at this moment to the object After calling to this method all existing CWeakRefs referencing to the object will return NULL, so it effectively will be equal to deleting the object. More...
 

Protected Attributes

CVect2< float > m_Center
 Center of cladogram. More...
 
bool m_UseMinimalRotation
 If true, labels will only be rotated by amount required to avoid overlap when rotated labels are in use. More...
 
- Protected Attributes inherited from IPhyloTreeRender
CPhyloTreeDataSourcem_DS
 
CRef< CPhyloTreeSchemem_SL
 
double m_DimX
 
double m_DimY
 
double m_xStep
 
double m_yStep
 
double m_NormDistance
 
bool m_DistanceBarLowerLeft
 
CGlTextureFontm_pLabelFont
 
IPhyloTreeRenderHostm_pHost
 
CMouseZoomHandlerm_pMouseZoomHandler
 
CIRef< I3DTexturem_Texture
 
CGlCurve< CCurveBezierm_Curve
 
CPhyloTreeLabel m_Label
 
CPhyloTreeLabel m_LabelExt
 
TModelRect m_RasterRect
 
std::vector< CVect2< float > > m_SelectedEdge
 Graphical representation of currently selected edge, if any, and data members needed for the selection process. More...
 
CVect2< float > m_RightClick
 
bool m_SelEdge
 
float m_ClosestEdgeDistSq
 
CVect2< float > m_ClosestEdgeDir
 
CGlPanem_pPane
 event handling More...
 
EState m_State
 
wxPoint m_StartPoint
 
wxPoint m_LastPos
 
wxPoint m_DragPoint
 
TTreeIdx m_ActiveTooltipNode
 
bool m_DistMode
 
bool m_MoveDuringSelection
 
bool m_UseSplines
 
bool m_RotatedLabels
 
bool m_ForceSquare
 
bool m_RegenerateTexture
 
wxTimer m_EffectsTimer
 
bool m_SwitchedLayout
 
wxTimer m_MouseSingleTimer
 If user is double clicking, want to avoid mouse single-click actions. More...
 
wxMouseEvent m_LastMouseEvent
 event info from last mouse click - used for single click processing More...
 
float m_LabelViewPct
 When sizing the tree to window, this is the maximum % of screen area (width) that will be allocated to labels on either side of the screen (some views, e.g. More...
 
bool m_RenderScale
 If true render a scale legend at the bottom of the screen. More...
 
float m_TreePixels
 Sum of size (height) of all leaf nodes in pixels, without considering labels (accomodates nodes that are not equally sized) More...
 
float m_LabelPixels
 Height of tree in pixels when labels are displayed. More...
 
ELayoutStatus m_ValidLayout
 
wxStockCursor m_CursorId
 
CPhyloTree::TSelState m_NodeSingleSelection
 When user only wants to display a single, current selection from the selection set (including traced and commmon nodes) those nodes and selection states are stored in this vector. More...
 
std::vector< NodePointerm_NodePointers
 
CIRef< I3DFrameBufferm_MinimapBuffer
 
float m_BufferdRenderTime
 For performance analysis (time to update VBOs after topology change) More...
 
float m_VboSyncTime
 
float m_LayoutTime
 
bool m_HighlightLongerEdges
 If true, highlight longer edges when zoomed out. More...
 
float m_HighlightFunctionK
 Parms for logistics function to highlight edges when zoomed out to the point that many edges overlap (en.wikipedia.org/wiki/Logistic_function) More...
 
float m_HighlightFunctionMidpoint
 
float m_HighlightIntensity
 

Additional Inherited Members

- Public Types inherited from IPhyloTreeRender
enum  TRenderingOption {
  eDistancesRendering , eAdaptiveMargins , eSimplification , eSplinesRendering ,
  eRotatedLabels , eGenerateTextures , eAutofitLabels
}
 
enum  ELayoutStatus { eValidLayout , eNeedLayout , eNeedLayoutAndSize }
 
typedef CPhyloTree TTreeType
 
typedef CPhyloTree::TTreeIdx TTreeIdx
 
typedef CPhyloTree::TNodeType TNodeType
 
- 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< Uint8TCounter
 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)
 
- Public Attributes inherited from IPhyloTreeRender
CProjectionExtents m_ProjectionExtents
 
TModelRect m_ZoomableExtent
 
- 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...
 

Detailed Description

Definition at line 48 of file phylo_circular_cladogram.hpp.

Member Enumeration Documentation

◆ ECorner

type of corner

Enumerator
eTop 
eMiddle 
eBottom 

Definition at line 76 of file phylo_circular_cladogram.hpp.

Constructor & Destructor Documentation

◆ CPhyloCircularCladogram() [1/2]

CPhyloCircularCladogram::CPhyloCircularCladogram ( )

Definition at line 46 of file phylo_circular_cladogram.cpp.

References IPhyloTreeRender::SetRotatedLabels().

◆ CPhyloCircularCladogram() [2/2]

CPhyloCircularCladogram::CPhyloCircularCladogram ( double  w,
double  h 
)

Definition at line 52 of file phylo_circular_cladogram.cpp.

References IPhyloTreeRender::SetRotatedLabels().

◆ ~CPhyloCircularCladogram()

CPhyloCircularCladogram::~CPhyloCircularCladogram ( )

Definition at line 60 of file phylo_circular_cladogram.cpp.

Member Function Documentation

◆ ComputeDistFromPixels()

double CPhyloCircularCladogram::ComputeDistFromPixels ( CGlPane pane,
const CVect2< TModelUnit > &  pixpos1,
const CVect2< TModelUnit > &  pixpos2 
) const
virtual

◆ GetDescription()

string CPhyloCircularCladogram::GetDescription ( void  )
virtual

Implements IPhyloTreeRender.

Definition at line 641 of file phylo_circular_cladogram.cpp.

◆ GetLabelViewPct()

virtual float CPhyloCircularCladogram::GetLabelViewPct ( ) const
inlinevirtual

Allocate less spaces for labels in circular views since they appear on both sides of nodes, thus using up more space.

Reimplemented from IPhyloTreeRender.

Definition at line 70 of file phylo_circular_cladogram.hpp.

References IPhyloTreeRender::m_LabelViewPct.

◆ GetNodeLabelDist()

float CPhyloCircularCladogram::GetNodeLabelDist ( const CPhyloTreeNode node) const
virtual

◆ GetUseMinimalRotation()

bool CPhyloCircularCladogram::GetUseMinimalRotation ( ) const
inline

Definition at line 62 of file phylo_circular_cladogram.hpp.

References m_UseMinimalRotation.

◆ SupportsDistanceRendering()

virtual bool CPhyloCircularCladogram::SupportsDistanceRendering ( ) const
inlinevirtual

branch length in circular not connected to node distance

Reimplemented from IPhyloTreeRender.

Definition at line 58 of file phylo_circular_cladogram.hpp.

◆ SupportsRotatedLabels()

bool CPhyloCircularCladogram::SupportsRotatedLabels ( ) const
inlinevirtual

Reimplemented from IPhyloTreeRender.

Definition at line 59 of file phylo_circular_cladogram.hpp.

◆ UseMinimalRotation()

void CPhyloCircularCladogram::UseMinimalRotation ( bool  b)
inline

Definition at line 61 of file phylo_circular_cladogram.hpp.

References b, and m_UseMinimalRotation.

◆ x_Calculate()

void CPhyloCircularCladogram::x_Calculate ( CPhyloTree tree)
protected

◆ x_DrawTree()

void CPhyloCircularCladogram::x_DrawTree ( CPhyloTree tree,
vector< float > &  color_coords,
vector< CVect2< float > > &  edge_node_coords,
vector< CVect4< unsigned char > > &  edge_node_colors,
vector< CVect2< float > > &  sel_edge_node_coords,
vector< CVect4< unsigned char > > &  sel_edge_node_colors 
)
protected

◆ x_GetVerticalSeparationFactor()

TModelUnit CPhyloCircularCladogram::x_GetVerticalSeparationFactor ( ) const
inlineprotectedvirtual

layout-spefic constant for label vertical sepatation needed for visibility

Reimplemented from IPhyloTreeRender.

Definition at line 95 of file phylo_circular_cladogram.hpp.

◆ x_Layout()

void CPhyloCircularCladogram::x_Layout ( CPhyloTreeDataSource ds)
protectedvirtual

◆ x_RenderVbo()

void CPhyloCircularCladogram::x_RenderVbo ( CPhyloTreeDataSource ds)
protectedvirtual

◆ x_SetGlRenderOptions()

void CPhyloCircularCladogram::x_SetGlRenderOptions ( CPhyloTreeDataSource ds)
protectedvirtual

Set OpenGL rendering options that depend on layout chosen.

Do not do this during layout because the CGI may create multiple rendering contexts but layout is not called for each context

Reimplemented from IPhyloTreeRender.

Definition at line 113 of file phylo_circular_cladogram.cpp.

References CGlState::BlendFunc(), CGlState::Enable(), CGlModel2D::FindGeomNode(), CPhyloTreeDataSource::GetModel(), CGlRenderNode::GetState(), IPhyloTreeRender::m_DS, NULL, and CGlRenderNode::SetVisible().

◆ x_WideLines()

bool CPhyloCircularCladogram::x_WideLines ( )
protectedvirtual

Returns true if lines are separated enough to use the wider form of lines (more separation is required for circular views, since interior lines overlap more easily)

Reimplemented from IPhyloTreeRender.

Definition at line 666 of file phylo_circular_cladogram.cpp.

References IPhyloTreeRender::DistanceBetweenNodes(), CPhyloTreeScheme::eLineWidth, IPhyloTreeRender::m_SL, and CPhyloTreeScheme::SetSize().

Member Data Documentation

◆ m_Center

CVect2<float> CPhyloCircularCladogram::m_Center
protected

Center of cladogram.

Definition at line 99 of file phylo_circular_cladogram.hpp.

Referenced by x_Calculate(), and x_RenderVbo().

◆ m_UseMinimalRotation

bool CPhyloCircularCladogram::m_UseMinimalRotation
protected

If true, labels will only be rotated by amount required to avoid overlap when rotated labels are in use.

Definition at line 102 of file phylo_circular_cladogram.hpp.

Referenced by GetUseMinimalRotation(), UseMinimalRotation(), and x_RenderVbo().


The documentation for this class was generated from the following files:
Modified on Tue Feb 27 05:55:07 2024 by modify_doxy.py rev. 669887