import { IPropArguments, IShapeFollowProps, IShapeFollowSettings, IRecursionRepetition, IRepetition, IParentFollowPropArguments, IShapeBounding } from '../types'; import { Shape } from './Shape'; import { SceneChild } from '../SceneChild'; /** * Repeat `shape` on each point of `follow` * * @category Scene.Containers */ declare class ShapeFollow = IShapeFollowProps> extends Shape { /** * Contain the bounding of the last generated buffer * * @type {IShapeBounding} * @internal */ /** * child shape * * @type {(SceneChild)} */ shape: SceneChild; /** * Scene child to follow * * @type {SceneChild} */ follow: SceneChild; /** * Generated buffer * * @protected * @type {(Float32Array | undefined)} */ protected shapeFollowBuffer: Float32Array | undefined; /** * Regenerate child buffer each follow * * @protected * @type {boolean} */ protected shapeUseFollow: boolean; /** * Creates an instance of ShapeFollow. * * @param {IShapeFollowSettings} [settings={}] */ constructor(settings: IShapeFollowSettings); /** * Unset buffer * * @param {boolean} [bClearIndexed=false] * @param {boolean} [bPropagateToParents=false] * @param {boolean} [bPropagateToChildren=false] */ clearBuffer(bClearIndexed?: boolean, bPropagateToParents?: boolean): void; /** * * @returns {boolean} */ isStatic(): boolean; /** * * @returns {boolean} */ isStaticIndexed(): boolean; /** * Return a buffer of children shape with recursion * * @protected * @param {number} generateId * @param {PropArguments} propArguments * @returns {Float32Array} */ protected generateBuffer(generateId: number, propArguments: PropArguments): Float32Array; /** * Generate Recoursive shape buffer * * @protected * @param {number} generateId * @param {PropArguments} propArguments */ protected bindBuffer(generateId: number, propArguments: PropArguments): void; /** * Add this to indexedBuffer * * @protected * @param {number} frameLength * @param {IRepetition} repetition * @returns {number} nextIndex */ protected addIndex(frameLength: number, repetition: IRepetition, singleRepetitionBounding: IShapeBounding): void; /** * Retturn summation value * * @static * @param {number} recursion * @param {number} vertexCount * @returns {number} */ static summmation(recursion: number, vertexCount: number): number; /** * Empty recursion repetition * * @static * @return {*} {IRecursionRepetition} */ static getEmptyRecursion(): IRecursionRepetition; } export { ShapeFollow }; //# sourceMappingURL=ShapeFollow.d.ts.map