import * as THREE from 'three'; import { ContextManager, Observable } from '@zcomponent/core'; import { Curve3 } from './Curve3'; export declare enum CatmullRomCurve3Type { Centripetal = "centripetal", Chordal = "chordal", CatmullRom = "catmullrom" } /** * A smooth curve with Catmull-Rom interpolation between points. * * Add Point nodes as children to define the points the curve passes through. * * This node represents the curve as a logical path. To show a visible line in the scene, use the Line2 component. * * @zcomponent * @zgroup Curves * @ztag three/Curve3/CatmullRomCurve3 * @ztag three/PointHost/CatmullRomCurve3 * @zparents three/CurveHost/** * @zparents three/Object3D/Group/** * @zicon automation * @zdefaultchild "Point 0" "@zcomponent/three/lib/components/Point#Point" position="[0, 0, 0]" * @zdefaultchild "Point 1" "@zcomponent/three/lib/components/Point#Point" position="[1, 1, 0]" * @zdefaultchild "Point 2" "@zcomponent/three/lib/components/Point#Point" position="[1, 1, 1]" */ export declare class CatmullRomCurve3 extends Curve3 { curve: THREE.CatmullRomCurve3 | undefined; element: THREE.Group; private _helper; private _generatedClosed; private _generatedType; private _generatedTension; constructor(contextManager: ContextManager, constructorProps: {}); updateCurve: () => boolean; private _updateHelpers; private _cleanUpHelpers; /** * @zprop * @zgroup CatmullRomCurve3 * @zgrouppriority 20 * @zdefault false */ closed: Observable; /** * @zprop * @zgroup CatmullRomCurve3 * @zgrouppriority 20 * @zdefault catmullrom */ type: Observable; /** * @zprop * @zgroup CatmullRomCurve3 * @zgrouppriority 20 * @zdefault 0.5 */ tension: Observable; dispose(): never; }