import Vector from '../../../math/Vector'; import Ray from '../../../utils/Ray'; import Steerable from '../../Steerable'; import RayConfigurationBase from './RayConfigurationBase'; /** * As the name suggests, a {@code SingleRayConfiguration} uses just one ray cast. *

* This configuration is useful in concave environments but grazes convex obstacles. It is not susceptible to the corner trap, though. * * @param Type of vector, either 2D or 3D, implementing the {@link Vector} interface * * @author davebaol */ declare class SingleRayConfiguration> extends RayConfigurationBase { private length; /** * Creates a {@code SingleRayConfiguration} for the given owner where the ray has the specified length. * @param owner the owner of this configuration * @param length the length of the ray */ constructor(owner: Steerable, length: number); updateRays(): Ray[]; /** Returns the length of the ray. */ getLength(): number; /** Sets the length of the ray. */ setLength(length: number): void; } export default SingleRayConfiguration;