import { RealRenderer } from './RealRenderer'; import { Complex } from '../util/complex'; import { Color } from '../types/RealRendererTypes'; import { IKernelRunShortcut, Texture } from 'gpu.js'; export * as RealRendererTypes from '../types/RealRendererTypes'; import { WatchedNumbers, RealComplexSpaceOptions } from '../types/RealComplexSpaceTypes'; export * as RealComplexSpaceTypes from '../types/RealComplexSpaceTypes'; export * from '../constants/defaults/RealComplexSpaceDefaults'; export declare class RealComplexSpace extends RealRenderer { brushSize: number; brushColor: Color; changeNumbers: (watchedNumbers: WatchedNumbers, time: number, timeStep: number) => WatchedNumbers; lineThickness: number; lineColor: Color; watchedNumbers: WatchedNumbers; Complex: typeof Complex; _plotComplex: IKernelRunShortcut; _plotComplexPersistent: IKernelRunShortcut; _interpolateKernel: IKernelRunShortcut; _persistentGraphPixels: Texture; constructor(options: RealComplexSpaceOptions); /** * Watch a new number * @param name Name for the watched number. * @param number Complex number to watch. * @param show Whether to display the number or not. * @param persistent Whether the number should remain at the same place each time. * @param interpolate Whether to interpolate (make a line) between this number and another or not. * @param interpolateTo The second complex number to interpolate between. * @param attributes optional attributes object. * @returns this */ watch(name: string, number: Complex, show?: boolean, persistent?: boolean, interpolate?: boolean, interpolateTo?: any, attributes?: any): this; clearWatched(): this; _interpolate(graphPixels: Texture, n1: Complex, n2: Complex): Texture; _overlayFunc(graphPixels: Texture): Texture; _drawFunc(graphPixels: Texture, time: number): Texture; _plot(graphPixels: Texture, number: Complex): import("gpu.js").KernelOutput; _plotPersistent(graphPixels: Texture, number: Complex): import("gpu.js").KernelOutput; /** * @param number Complex number to be plotted. */ plot(number: Complex): this; }