UNPKG

phylogician-ts

Version:

Module to read, manipulate and write phylogenetic trees. Written in TypeScript

43 lines (42 loc) 1.38 kB
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 };