phylogician-ts
Version:
Module to read, manipulate and write phylogenetic trees. Written in TypeScript
43 lines (42 loc) • 1.38 kB
TypeScript
import * as d3 from 'd3';
import { ISvgParams } from './interfaces';
import { Tree } from './Tree';
import { TreeNode } from './TreeNode';
declare abstract class TreeLayout {
tree: Tree;
svgParams: ISvgParams;
constructor(tree: Tree, svgParams: ISvgParams);
abstract calcTree(scaling: boolean): void;
abstract calcBranchPath(): TreeLayout;
abstract labelPlace(id: number): string;
abstract labelAnchor(id: number): string;
calcLabelDims(): TreeLayout;
/**
* Helper function to render names
*
* @param {TreeNode} node
* @param {d3.Selection<any, any, any, any>} svg
* @param {boolean} [tmp=false]
* @returns
* @memberof TreeLayout
*/
renderNames(node: TreeNode, svg: d3.Selection<any, any, any, any>, tmp?: boolean): d3.Selection<SVGTextElement, any, any, any>;
/**
* Helper function to update names
*
* @param {TreeNode} node
* @param {d3.Selection<any, any, any, any>} svg
* @param {boolean} [tmp=false]
* @returns
* @memberof TreeLayout
*/
updateNames(node: TreeNode, label: d3.Selection<any, any, any, any>, duration?: number): void;
/**
* It gets the longest label. It skips labels marked to not show.
*
* @returns {number}
* @memberof TreeLayout
*/
protected getLongestLabel(): number;
}
export { TreeLayout };