UNPKG

@syncfusion/ej2-charts

Version:

Feature-rich chart control with built-in support for over 25 chart types, technical indictors, trendline, zooming, tooltip, selection, crosshair and trackball.

767 lines (766 loc) 32.6 kB
import { SVGCanvasAttributes, Size } from '@syncfusion/ej2-svg-base'; import { Chart3DColorFormat, Chart3DStringBuilder, Chart3DVector, Chart3DLocation, Chart3DPolygon, Chart3DTickElement, Chart3DPolyAttributes, Chart3DPolyCollections, Chart3DLabelElement, Chart3DTextOption, Chart3DBasicTransform } from '../model/chart3d-Interface'; import { Chart3DSeries } from '../series/chart-series'; import { FontModel } from '../../common/model/base-model'; import { Chart3D } from '../chart3D'; import { Chart3DAxis } from '../axis/axis'; /** * Represents a 3D rendering configuration for the EJ3D rendering engine. * */ export declare class Chart3DRender { transform: Chart3DBasicTransform; tree: Chart3DBspNode[]; } /** * Represents a node in a Binary Space Partitioning (BSP) tree. * * @interface */ interface Chart3DBspNode { /** The front subtree of the BSP tree. */ front: Chart3DBspNode; /** The back subtree of the BSP tree. */ back: Chart3DBspNode; /** The splitting plane associated with the node. */ plane: Chart3DPolygon; } /** * Represents a three-dimensional vector in space. */ export declare class Vector3D { /** The x-coordinate of the vector. */ x: number; /** The y-coordinate of the vector. */ y: number; /** The z-coordinate of the vector. */ z: number; /** A small value used for epsilon comparisons to handle floating-point inaccuracies.*/ private epsilon; /** * Checks if a vector is valid (not NaN for any component). * * @param {Chart3DVector} point - The vector to check. * @returns {boolean} - True if the vector is valid, false otherwise. */ isValid(point: Chart3DVector): boolean; /** * Constructs a new Vector3D instance. * * @constructor * @param {number | { x: number, y: number }} pointX - Either an object with x and y properties or the x-coordinate. * @param {number} [vy] - The y-coordinate (if the first parameter is a number). * @param {number} [vz] - The z-coordinate (if the first parameter is a number). */ constructor(pointX: { x: number; y: number; } | number, vy?: number, vz?: number); /** * Creates a new Vector3D instance from provided coordinates. * * @param {number | { x: number, y: number }} vx - Either an object with x and y properties or the x-coordinate. * @param {number} vy - The y-coordinate. * @param {number} vz - The z-coordinate. * @returns {Chart3DVector} - The new Vector3D instance. */ vector3D(vx: { x: number; y: number; } | number, vy: number, vz: number): Chart3DVector; /** * Subtracts one vector from another and returns the result. * * @param {Chart3DVector} v1 - The first vector. * @param {Chart3DVector} v2 - The second vector to subtract from the first. * @returns {Chart3DVector} - The resulting vector. */ vector3DMinus(v1: Chart3DVector, v2: Chart3DVector): Chart3DVector; /** * Adds two vectors and returns the result. * * @param {Chart3DVector} v1 - The first vector. * @param {Chart3DVector} v2 - The second vector to add to the first. * @returns {Chart3DVector} - The resulting vector. */ vector3DPlus(v1: Chart3DVector, v2: Chart3DVector): Chart3DVector; /** * Multiplies two vectors using the cross product and returns the result. * * @param {Chart3DVector} v1 - The first vector. * @param {Chart3DVector} v2 - The second vector. * @returns {Chart3DVector} - The resulting vector. */ vector3DMultiply(v1: Chart3DVector, v2: Chart3DVector): Chart3DVector; /** * Calculates the dot product of two vectors. * * @param {Chart3DVector} v1 - The first vector. * @param {Chart3DVector} v2 - The second vector. * @returns {number} - The dot product. */ vector3DAdd(v1: Chart3DVector, v2: Chart3DVector): number; /** * Multiplies a vector by a scalar value. * * @param {Chart3DVector} v1 - The vector to multiply. * @param {number} value - The scalar value. * @returns {Chart3DVector} - The resulting vector. */ vector3DStarMultiply(v1: Chart3DVector, value: number): Chart3DVector; /** * Calculates the length of a vector. * * @param {Chart3DVector} vector - The vector to calculate the length of. * @returns {number} - The length of the vector. */ getLength(vector: Chart3DVector): number; /** * Normalizes the vector to have a length of 1. * * @returns {void} */ normalize(): void; /** * Calculates the normal vector of a triangle defined by three vectors. * * @param {Chart3DVector} v1 - The first vertex of the triangle. * @param {Chart3DVector} v2 - The second vertex of the triangle. * @param {Chart3DVector} v3 - The third vertex of the triangle. * @returns {Chart3DVector} - The normal vector of the triangle. */ getNormal(v1: Chart3DVector, v2: Chart3DVector, v3: Chart3DVector): Chart3DVector; } /** * Represents a 3x3 or 4x4 matrix in 3D space and provides various matrix operations. * */ export declare class Matrix3D { /** The size of the matrix, which is set to 4 by default. */ private matrixSize; /** * Creates a 3D matrix with the specified size. * * @param {number} size - The size of the matrix. * @returns {number[][]} - The created 3D matrix. */ matrix3D(size: number): number[][]; /** * Checks if a matrix is an affine matrix. * * @param {number[][]} matrixData - The matrix to check. * @returns {boolean} - True if the matrix is an affine matrix, false otherwise. */ isAffine(matrixData: number[][]): boolean; /** * Creates a new array with zeros. * * @param {number} initialSize - The size of the array. * @returns {number[]} - The created array. */ createArray(initialSize: number): number[]; /** * Gets the identity matrix. * * @returns {number[][]} -The identity matrix. */ getIdentity(): number[][]; /** * Gets the interval of a matrix. * * @param {number[][]} matrix - The matrix to get the interval for. * @returns {number[][]} - The interval matrix. */ getInterval(matrix: number[][]): number[][]; /** * Multiplies all elements of a matrix by a factor. * * @param {number} factor - The factor to multiply with. * @param {number[][]} matrix - The matrix to multiply. * @returns {number[][]} - The resulting matrix. */ getMatrixMultiple(factor: number, matrix: number[][]): number[][]; /** * Multiplies a matrix by a vector. * * @param {number[][]} matrix - The matrix. * @param {Chart3DVector} point - The vector to multiply with. * @returns {Chart3DVector} - The resulting vector. */ getMatrixVectorMultiple(matrix: number[][], point: Chart3DVector): Chart3DVector; /** * Multiplies a matrix by a vector and applies translation. * * @param {number[][]} matrix - The matrix. * @param {Chart3DVector} vector - The vector to multiply with. * @returns {Vector3D} - The resulting vector. */ getMatrixVectorAnd(matrix: number[][], vector?: Chart3DVector): { x: number; y: number; z: number; }; /** * Multiplies two matrices. * * @param {number[][]} matrix1 - The first matrix. * @param {number[][]} matrix2 - The second matrix. * @returns {number[][]} - The resulting matrix. */ getMatrixMultiplication(matrix1: number[][], matrix2: number[][]): number[][]; /** * Gets the minor of a matrix. * * @param {number[][]} matrix - The matrix. * @param {number} columnIndex - The column index. * @param {number} rowIndex - The row index. * @returns {number} - The minor of the matrix. * @private */ getMinor(matrix: number[][], columnIndex: number, rowIndex: number): number; /** * Gets a submatrix of a matrix. * * @param {number[][]} matrix - The matrix. * @param {number} columnIndex - The column index. * @param {number} rowIndex - The row index. * @returns {number[][]} - The submatrix. */ getMatrix(matrix: number[][], columnIndex: number, rowIndex: number): number[][]; /** * Gets the determinant of a matrix. * * @param {number[][]} matrix - The matrix. * @returns {number} - The determinant of the matrix. */ getDeterminant(matrix: number[][]): number; /** * Transforms a matrix by translation. * * @param {number} x - The x-coordinate of the translation. * @param {number} y - The y-coordinate of the translation. * @param {number} z - The z-coordinate of the translation. * @returns {number[][]} - The transformed matrix. */ transform(x: number, y: number, z: number): number[][]; /** * Creates a matrix for rotation around the y-axis. * * @param {number} angle - The angle of rotation. * @returns {number[][]} - The rotation matrix. */ turn(angle: number): number[][]; /** * Creates a matrix for rotation around the x-axis. * * @param {number} angle - The angle of rotation. * @returns {number[][]} - The rotation matrix. */ tilt(angle: number): number[][]; /** * Transposes a matrix. * * @param {number[][]} matrix3D - The matrix to transpose. * @returns {number[][]} - The transposed matrix. */ transposed(matrix3D: number[][]): number[][]; } /** * Represents a 3D chart transformation utility that provides methods for transforming * and projecting 3D coordinates onto a 2D screen. * */ export declare class ChartTransform3D { /** Represents the angle conversion factor from degrees to radians. */ private toRadial; /** Represents a 3D vector for performing vector operations. */ private vector; /** Represents a 3D matrix for performing matrix operations. */ private matrixObj; /** * Initializes a new instance of the `ChartTransform3D` class. */ constructor(); /** * Creates a 3D transformation based on the specified size. * * @param {Size} size - The size of the viewing area. * @returns {Chart3DBasicTransform} - The 3D transformation. */ transform3D(size: Size): Chart3DBasicTransform; /** * Applies the specified 3D transformation to the current state. * * @param {Chart3DBasicTransform} transform - The 3D transformation to apply. * @returns {void} - The 3D transformation. */ transform(transform: Chart3DBasicTransform): void; /** * Updates the perspective matrix based on the specified angle. * * @param {number} angle - The perspective angle. * @param {Chart3DBasicTransform} transform - The 3D transformation. * @returns {void} */ private updatePerspective; /** * Converts degrees to radians. * * @param {number} angle - The angle in degrees. * @returns {number} - The angle in radians. * @private */ private degreeToRadianConverter; /** * Transforms a 3D vector to screen coordinates based on the current state. * * @param {Chart3DVector} vector3D - The 3D vector to transform. * @param {Chart3DBasicTransform} transform - The 3D transformation. * @param {Matrix3D} chartObj - Optional custom matrix object for transformation. * @returns {Chart3DLocation} - The screen coordinates. */ toScreen(vector3D: Chart3DVector, transform: Chart3DBasicTransform, chartObj?: Matrix3D): Chart3DLocation; /** * Sets the view matrix in the transformation state. * * @param {number[][]} matrix - The new view matrix. * @param {Chart3DBasicTransform} transform - The 3D transformation. * @returns {void} */ private setViewMatrix; /** * Calculates the final result matrix based on the current state. * * @param {Chart3DBasicTransform} transform - The 3D transformation. * @param {Matrix3D} matrixobj - Optional custom matrix object for transformation. * @returns {number[][]} - The final result matrix. */ result(transform: Chart3DBasicTransform, matrixobj?: Matrix3D): number[][]; /** * Sets the center in the transformation state. * * @param {Chart3DVector} center - The new center vector. * @param {Chart3DBasicTransform} transform - The 3D transformation. * @returns {void} */ private setCenter; } /** * Represents a 3D graphics rendering utility for drawing and managing 3D elements in a chart. * */ export declare class Graphics3D { /** The vector class. */ private vector; /** * Adds a visual polygon to the 3D chart and returns its identifier. * * @param {Chart3DPolygon} polygon - The polygon to add. * @param {Chart3D} chart - The 3D chart. * @returns {number} - The identifier of the added polygon. */ addVisual(polygon: Chart3DPolygon, chart: Chart3D): number; /** * Prepares the view for rendering based on specified parameters. * * @param {number} perspectiveAngle - The perspective angle. * @param {number} depth - The depth of the view. * @param {number} rotation - The rotation angle. * @param {number} tilt - The tilt angle. * @param {Size} size - The size of the viewing area. * @param {Chart3D} chart - The 3D chart. * @returns {void} */ prepareView(perspectiveAngle: number, depth: number, rotation: number, tilt: number, size: Size, chart: Chart3D): void; /** * Renders the 3D view on the specified panel element. * * @param {Element} panel - The panel element to render the view on. * @param {Chart3D} chart - The 3D chart. * @param {number} rotation - The rotation angle. * @param {number} tilt - The tilt angle. * @param {Size} size - The size of the viewing area. * @param {number} perspectiveAngle - The perspective angle. * @param {number} depth - The depth of the view. * @returns {void} */ view(panel?: Element, chart?: Chart3D, rotation?: number, tilt?: number, size?: Size, perspectiveAngle?: number, depth?: number): void; /** * Draws a 3D element based on the specified Binary Space Partitioning Node. * * @param {Chart3DBspNode} bspElement - The Binary Space Partitioning Node representing the 3D element. * @param {Chart3D} chart - The 3D chart. * @returns {void} */ draw3DElement(bspElement: Chart3DBspNode, chart: Chart3D): void; /** * Draws the 3D nodes starting from the root based on the eye vector. * * @param {Chart3DBspNode} bspElement - The root Binary Space Partitioning Node. * @param {Chart3DVector} eyeVector - The eye vector. * @param {Element} panel - The panel element to render the view on. * @param {Chart3D} chart - The 3D chart. * @returns {void} */ drawNode3D(bspElement: Chart3DBspNode, eyeVector: Chart3DVector, panel: Element, chart: Chart3D): void; } /** * Represents a binary tree builder for 3D polygons in a chart. * */ export declare class BinaryTreeBuilder { /** A small value used for epsilon comparisons to handle floating-point inaccuracies.*/ private epsilon; /** The 3D chart. */ private chart; constructor(chart?: Chart3D); /** * Adds a polygon to the binary tree and returns its index. * * @param {Chart3DPolygon} polygon - The polygon to add. * @param {Chart3D} chart - The 3D chart. * @returns {number} - The index of the added polygon. */ add(polygon: Chart3DPolygon, chart: Chart3D): number; /** * Gets the next index considering the array length and the current index. * * @param {number} index - The current index. * @param {number} count - The length of the array. * @returns {number} - The next index. */ getNext(index: number, count: number): number; /** * Creates a PolyAttributes object based on the vector, index, and result. * * @param {Chart3DVector} point - The vector representing the point. * @param {number} index - The index of the point. * @param {string} result - The result classification. * @returns {Chart3DPolyAttributes} - The created PolyAttributes object. */ vector3DIndexClassification(point: Chart3DVector, index: number, result: string): Chart3DPolyAttributes; /** * Classifies a point relative to a polygon. * * @param {Chart3DVector} point - The point to classify. * @param {Chart3DPolygon} polygon - The polygon for classification. * @returns {string} - The classification result ('OnPlane', 'OnBack', 'OnFront'). */ classifyPoint(point: Chart3DVector, polygon: Chart3DPolygon): string; /** * Classifies a polygon relative to another polygon. * * @param {Chart3DPolygon} refPolygon - The reference polygon. * @param {Chart3DPolygon} classPolygon - The polygon to classify. * @returns {string} - The classification result ('OnPlane', 'ToRight', 'ToLeft', 'Unknown'). */ classifyPolygon(refPolygon: Chart3DPolygon, classPolygon: Chart3DPolygon): string; /** * Splits a polygon into two parts based on another polygon. * * @param {Chart3DPolygon} splitPolygon - The polygon to split. * @param {Chart3DPolygon} refPolygon - The reference polygon for splitting. * @returns {Chart3DPolyCollections} - The resulting back and front parts. * @private */ splitPolygon(splitPolygon: Chart3DPolygon, refPolygon: Chart3DPolygon): Chart3DPolyCollections; /** * Cuts out the front part of a polygon based on the PolyAttributes. * * @param {Chart3DPolyAttributes[]} polyPoints - The PolyAttributes array of the polygon. * @param {Chart3DPolyAttributes} initialVertex - The PolyAttributes representing the cutting point. * @returns {Chart3DVector[]} - The resulting points of the front part. */ private cutOutFrontPolygon; /** * Cuts out the back part of a polygon based on the PolyAttributes. * * @param {Chart3DPolyAttributes[]} polyPoints - The PolyAttributes array of the polygon. * @param {Chart3DPolyAttributes} initialVertex - The PolyAttributes representing the cutting point. * @returns {Chart3DVector[]} - The resulting points of the back part. */ private cutOutBackPolygon; /** * Builds a Binary Space Partitioning from a list of polygons. * * @param {Chart3DPolygon[]} [points] - The list of polygons to build the tree from. * @returns {Chart3DBspNode} - The root node of the Binary Space Partitioning tree. */ build(points?: Chart3DPolygon[]): Chart3DBspNode; } /** * The Svg3DRenderer class provides methods for rendering SVG graphics in a 3D context. */ export declare class Svg3DRenderer { /** * Gets a Chart3DStringBuilder instance for constructing strings. * * @returns {Chart3DStringBuilder} - The StringBuilder instance. */ getStringBuilder(): Chart3DStringBuilder; /** * Parses a hex color code and returns its Red green Blue values. * * @param {string} hexColorCode - The hex color code. * @returns {Chart3DColorFormat | null} - The parsed color format (Red green Blue) or null if parsing fails. */ hexToValue(hexColorCode: string): Chart3DColorFormat | null; /** * Converts a Chart3DColorFormat object to its corresponding color string. * * @param {Chart3DColorFormat} color - The color in Chart3DColorFormat. * @returns {string} - The color string representation. */ hexColor(color: Chart3DColorFormat): string; /** * Checks if a given color string is in a valid format (hex or rgba). * * @param {string} color - The color string to check. * @returns {boolean} - True if the color string is valid, otherwise false. */ checkColorFormat(color: string): boolean; /** * Draws text on an SVG element. * * @param {any} options - The options for drawing the text. * @param {string | string[]} label - The text label. * @param {FontModel} font - The font settings for the text. * @param {Chart3D} chart - The 3D chart instance. * @returns {Element} - The created SVG text element. */ drawText(options: Chart3DTextOption | SVGCanvasAttributes, label: string | string[], font: FontModel, chart: Chart3D): Element; /** * Transforms 3D coordinates to visible 2D coordinates on the chart. * * @param {Chart3DSeries} currentSeries - The current 3D series. * @param {number} x - The x-coordinate in 3D space. * @param {number} y - The y-coordinate in 3D space. * @param {Chart3D} chart - The 3D chart instance. * @returns {Chart3DLocation} - The transformed 2D coordinates. */ transform3DToVisible(currentSeries: Chart3DSeries, x: number, y: number, chart: Chart3D): Chart3DLocation; } /** * Represents a 3D polygon in a chart. * */ export declare class Polygon3D { /** A small constant used for numerical comparisons. */ private epsilon; /** A small constant used for numerical comparisons. */ private normal; /** A small constant used for numerical comparisons. */ private vector; /** A small constant used for numerical comparisons. */ private vectorPoints; /** A small constant used for numerical comparisons. */ private d; /** A small constant used for numerical comparisons. */ private matrixObj; /** A small constant used for numerical comparisons. */ private tabIndex; /** * Creates a 3D polygon. * * @param {Chart3DVector[]} [points] - An array of 3D vectors representing points on the polygon. * @param {any} [tag] - Additional information or metadata for the polygon. * @param {number} [index] - An index associated with the polygon. * @param {string} [stroke] - The stroke color of the polygon. * @param {number} [strokeThickness] - The thickness of the polygon's stroke. * @param {number} [opacity] - The opacity of the polygon. * @param {string} [fill] - The fill color of the polygon. * @param {string} [name] - The name or identifier of the polygon. * @param {Element} [parent] - The parent element to which the polygon belongs. * @param {string} [text] - Additional text associated with the polygon. * @returns {Chart3DPolygon} - Returns the created polygon. */ polygon3D(points?: Chart3DVector[], tag?: any, index?: number, stroke?: string, strokeThickness?: number, opacity?: number, fill?: string, name?: string, parent?: Element, text?: string): Chart3DPolygon; /** * Creates a 3D line. * * @param {Chart3DTickElement} line - The tick elements associated with the line. * @param {number} x1 - The x-coordinate of the starting point. * @param {number} y1 - The y-coordinate of the starting point. * @param {number} x2 - The x-coordinate of the ending point. * @param {number} y2 - The y-coordinate of the ending point. * @param {number} depth - The depth or z-coordinate of the line in 3D space. * @returns {Chart3DPolygon} - Returns the created 3D line as a polygon. */ createLine(line: Chart3DTickElement, x1: number, y1: number, x2: number, y2: number, depth: number): Chart3DPolygon; /** * Creates a 3D line polygon based on the given tick elements and points. * * @param {Chart3DTickElement} element - The tick elements associated with the line. * @param {Chart3DVector[]} points - The array of 3D vector points defining the line in 3D space. * @returns {Chart3DPolygon} - Returns the created 3D line polygon. */ line3D(element: Chart3DTickElement, points: Chart3DVector[]): Chart3DPolygon; /** * Creates a 3D text polygon based on the given label element and points. * * @param {Chart3DLabelElement} element - The label element associated with the text. * @param {Chart3DVector[]} points - The array of 3D vector points defining the position of the text in 3D space. * @returns {Chart3DPolygon} - Returns the created 3D text polygon. */ text3D(element: Chart3DLabelElement, points: Chart3DVector[]): Chart3DPolygon; /** * Creates a 3D cylinder based on the given vectors, chart, and styling parameters. * * @param {Chart3DVector} v1 - The start vector of the cylinder. * @param {Chart3DVector} v2 - The end vector of the cylinder. * @param {Chart3D} chart - The 3D chart to which the cylinder belongs. * @param {number} index - The index of the cylinder. * @param {string} type - The type of the cylinder. * @param {string} stroke - The stroke color of the cylinder. * @param {string} fill - The fill color of the cylinder. * @param {number} strokeThickness - The thickness of the stroke. * @param {number} opacity - The opacity of the cylinder. * @param {string} name - The name of the cylinder. * @param {Element} parent - The parent element of the cylinder. * @returns {Chart3DPolygon[]} - Returns an array of polygons representing the 3D cylinder. */ createCylinder(v1: Chart3DVector, //top left front vecotr. v2: Chart3DVector, // bottom right back vector. chart: Chart3D, index: number, type: string, stroke: string, fill: string, strokeThickness: number, opacity: number, name: string, parent: Element): Chart3DPolygon[]; /** * Creates a 3D box based on the given vectors, chart, and styling parameters. * * @param {Chart3DVector} v1 - The start vector of the box. * @param {Chart3DVector} v2 - The end vector of the box. * @param {Chart3D} chart - The 3D chart to which the box belongs. * @param {number} index - The index of the box. * @param {string} stroke - The stroke color of the box. * @param {string} fill - The fill color of the box. * @param {number} strokeThickness - The thickness of the stroke. * @param {number} opacity - The opacity of the box. * @param {boolean} inverse - A boolean indicating whether to inverse the box. * @param {string} name - The name of the box. * @param {Element} parent - The parent element of the box. * @param {string} [text] - Optional text associated with the box. * @returns {Chart3DPolygon[]} - Returns an array of polygons representing the 3D box. * */ createBox(v1: Chart3DVector, //top left front vecotr. v2: Chart3DVector, // bottom right back vector. chart: Chart3D, index: number, stroke: string, fill: string, strokeThickness: number, opacity: number, inverse: boolean, name: string, parent: Element, text?: string): Chart3DPolygon[]; /** * Calculates the normal vector for a 3D polygon based on the provided points. * * @param {...Chart3DVector} args - Variable number of vector3d arguments representing points of the polygon. * @returns {void} */ calculateNormal(...args: any[]): void; /** * Tests whether the calculated normal vector is valid. * * @returns {boolean} - Returns true if the normal vector is valid, false otherwise. */ test(): boolean; /** * Transforms the vector points of the specified polygon using the provided matrix. * * @param {number[][]} matrix - The transformation matrix. * @param {Chart3DPolygon} polygon - The polygon to transform. * @returns {void} */ transform(matrix: number[][], polygon: Chart3DPolygon): void; /** * Gets the normal vector based on the transformed points using the specified transformation matrix. * * @param {number[][]} transform - The transformation matrix. * @param {Chart3DVector[]} [vectorPoints] - The vector points. * @returns {Chart3DVector} - Returns the normal vector. * @private */ getNormal(transform: number[][], vectorPoints?: Chart3DVector[]): Chart3DVector; /** * A method for creating text element. * * @param {Chart3DVector} position - text position. * @param {Chart3DLabelElement} element - text element. * @param {number} xLength - text element x value. * @param {number} yLength - text element y value. * @returns {Chart3DPolygon} - Returns the polygon. */ createTextElement(position: Chart3DVector, element: Chart3DLabelElement, xLength: number, yLength: number): Chart3DPolygon; /** * Draws a template on the specified 3D chart panel. * * @param {Chart3DPolygon} panel - The 3D polygon representing the panel on which the template will be drawn. * @param {Chart3D} chart - The 3D chart to which the panel belongs. * @returns {void} */ drawLine(panel: Chart3DPolygon, chart: Chart3D): void; /** * Draws text on the specified 3D chart panel. * * @param {Chart3DPolygon} panel - The 3D polygon representing the panel on which the text will be drawn. * @param {Chart3D} chart - The 3D chart to which the panel belongs. * @returns {void} */ drawTemplate(panel: Chart3DPolygon, chart: Chart3D): void; /** * Draws a data label symbol for a specific data point in a three-dimensional series. * * @param {Chart3DPolygon} panel - The 3D polygon representing the panel on which the text will be drawn. * @param {Chart3D} chart - The 3D chart to which the panel belongs. * @returns {void} */ drawText(panel: Chart3DPolygon, chart: Chart3D): void; /** * Draws a data label symbol for a specific data point in a three-dimensional series. * * @param {number} seriesIndex - The index of the series to which the data point belongs. * @param {Chart3DSeries} series - The three-dimensional series containing the data point. * @param {number} pointIndex - The index of the data point within the series. * @param {number} x - The x-coordinate of the center of the symbol. * @param {number} y - The y-coordinate of the center of the symbol. * @param {number} width - The width of the symbol. * @param {number} height - The height of the symbol. * @param {Chart3D} chart - The three-dimensional chart containing the series. * @returns {void} */ private dataLabelSymbol; /** * Draws a three-dimensional polygon on the specified chart. * * @param {Chart3DPolygon} panel - The polygon to be drawn. * @param {Chart3D} chart - The three-dimensional chart on which the polygon is to be drawn. * @returns {void} */ draw(panel: Chart3DPolygon, chart: Chart3D): void; /** * Applies a lightening effect to the given color by reducing its red, green and blue components. * * @param {string} color - The input color in hexadecimal format. * @param {Chart3D} chart - The three-dimensional chart associated with the color. * @returns {string} - The lightened color in hexadecimal format. */ applyXLight(color: string, chart: Chart3D): string; /** * Applies a lightening effect to the given color by reducing its red, green and blue components with a focus on the Z-axis. * * @param {string} color - The input color in hexadecimal format. * @param {Chart3D} chart - The three-dimensional chart associated with the color. * @returns {string} - The lightened color in hexadecimal format. */ applyZLight(color: string, chart: Chart3D): string; } /** * Gets the minimum delta value between adjacent data points on a given axis in a three-dimensional chart. * * @param {Chart3DAxis} axis - The three-dimensional axis for which the delta value is calculated. * @param {Chart3DSeries[]} seriesCollection - Collection of three-dimensional series in the chart. * @returns {number} - The minimum delta value between adjacent data points on the specified axis. */ export declare function getMinPointsDeltaValue(axis: Chart3DAxis, seriesCollection: Chart3DSeries[]): number; /** * Converts a numeric value to a coefficient based on the given 3D axis. * * @param {number} value - The numeric value to be converted. * @param {Chart3DAxis} axis - The 3D axis for reference. * @returns {number} - The coefficient value. * @private */ export declare function valueToCoefficients(value: number, axis: Chart3DAxis): number; export {};