var searchIndex = {}; searchIndex["envelope"] = {"doc":"","items":[[3,"BezierPoint","envelope","A type whose interpolation may involve some quadratic bezier curve.",null,null],[12,"x","","",0,null],[12,"y","","",0,null],[12,"curve","","",0,null],[3,"EasePoint","","A type whose interpolation may involve some sort of easing.",null,null],[12,"x","","",1,null],[12,"y","","",1,null],[12,"maybe_ease_fn","","",1,null],[3,"Steps","","An iterator that interpolates the envelope `E` one `step` and yields the result.",null,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"new","","Constructor for a BezierPoint.",0,{"inputs":[{"name":"x"},{"name":"y"},{"name":"scalar"}],"output":{"name":"bezierpoint"}}],[11,"x_to_scalar","","",0,{"inputs":[{"name":"x"}],"output":{"name":"scalar"}}],[11,"x","","",0,null],[11,"y","","",0,null],[11,"interpolate","","Interpolate between two points and return y for the given x.",0,{"inputs":[{"name":"x"},{"name":"self"},{"name":"self"}],"output":{"name":"y"}}],[11,"clone","","",1,null],[11,"new","","Constructor for an EasePoint.",1,{"inputs":[{"name":"x"},{"name":"y"},{"name":"option"}],"output":{"name":"easepoint"}}],[11,"x_to_scalar","","",1,{"inputs":[{"name":"x"}],"output":{"name":"scalar"}}],[11,"x","","",1,null],[11,"y","","",1,null],[11,"interpolate","","",1,{"inputs":[{"name":"x"},{"name":"self"},{"name":"self"}],"output":{"name":"y"}}],[11,"clone","","",2,null],[11,"set_step","","This is useful when the step size must change between steps.",2,null],[11,"next_xy","","Yields the next step along with its position along the step.",2,null],[11,"next","","",2,null],[0,"interpolate","","",null,null],[5,"linear","envelope::interpolate","Interpolate linearly between the start and end points.",null,{"inputs":[{"name":"x"},{"name":"p"},{"name":"p"}],"output":{"name":"y"}}],[5,"ease","","Interpolate between the start and end points using the given easing function.",null,{"inputs":[{"name":"x"},{"name":"p"},{"name":"p"},{"name":"easefunction"}],"output":{"name":"y"}}],[5,"bezier","","Interpolate between the given start and end points given some bezier curve.",null,null],[8,"Scalar","","Set of traits required by <Y as Spatial>::Scalar.",null,null],[8,"Envelope","envelope","Types that are representable as an Envelope.",null,null],[16,"X","","",3,null],[16,"Y","","",3,null],[16,"Point","","The `Point` type which may be referenced and interpolated by the `Envelope`.",3,null],[16,"Points","","An iterator yielding references to `Self::Point`s.",3,null],[10,"points","","An iterator yielding the `Point`s of the Envelope.",3,null],[11,"point_idx_before","","The index of the `Point` that comes directly before the given `x`.",3,null],[11,"point_idx_on_or_before","","The index of the `Point` that either lands on or comes directly before the given `x`.",3,null],[11,"point_idx_after","","The index of the `Point` that comes directly after the given `x`.",3,null],[11,"point_idx_on_or_after","","The index of the `Point` that comes directly after the given `x`.",3,null],[11,"point_before","","A reference to the first point that comes before the given `x`.",3,null],[11,"point_on_or_before","","A reference to the first point that is equal to or comes before the given `x`.",3,null],[11,"point_before_with_idx","","A reference to the first point that comes before the given `x` along with its index.",3,null],[11,"point_on_or_before_with_idx","","A reference to the first point that is equal to or comes before the given `x` along with\nits index.",3,null],[11,"point_after","","A reference to the first point that comes after the given `x`.",3,null],[11,"point_on_or_after","","A reference to the first point that is equal to or comes after the given `x`.",3,null],[11,"point_after_with_idx","","A reference to the first point that comes after the given `x` along with its index.",3,null],[11,"point_on_or_after_with_idx","","A reference to the first point that is equal to or comes after the given `x` along with\nits index.",3,null],[11,"point_at","","A reference to the first point lying directly on the given `x` if there is one.",3,null],[11,"point_at_with_idx","","A reference to the first point (along with it's index) lying directly on the given `x` if\nthere is one.",3,null],[11,"surrounding_points","","The points that lie on either side of the given `x`.",3,null],[11,"closest_point","","A reference point that is closest to the given `x` if there is one.",3,null],[11,"y","","Return `y` for the given `x`.",3,null],[11,"steps","","Sample the `Envelope`'s `y` value for every given positive `x` step starting from the first\npoint's `X` value.",3,null],[8,"Point","","Implement this for types to be used as points on an Envelope.",null,null],[16,"X","","",4,null],[16,"Y","","",4,null],[10,"x_to_scalar","","Convert X to Y's Scalar.",4,null],[10,"x","","X (often associated with time).",4,null],[10,"y","","Y (often associated with some value).",4,null],[11,"interpolate","","Interpolate between two points and return y for the given x.",4,{"inputs":[{"name":"x"},{"name":"self"},{"name":"self"}],"output":{"name":"y"}}],[11,"point_idx_before","","The index of the `Point` that comes directly before the given `x`.",3,null],[11,"point_idx_on_or_before","","The index of the `Point` that either lands on or comes directly before the given `x`.",3,null],[11,"point_idx_after","","The index of the `Point` that comes directly after the given `x`.",3,null],[11,"point_idx_on_or_after","","The index of the `Point` that comes directly after the given `x`.",3,null],[11,"point_before","","A reference to the first point that comes before the given `x`.",3,null],[11,"point_on_or_before","","A reference to the first point that is equal to or comes before the given `x`.",3,null],[11,"point_before_with_idx","","A reference to the first point that comes before the given `x` along with its index.",3,null],[11,"point_on_or_before_with_idx","","A reference to the first point that is equal to or comes before the given `x` along with\nits index.",3,null],[11,"point_after","","A reference to the first point that comes after the given `x`.",3,null],[11,"point_on_or_after","","A reference to the first point that is equal to or comes after the given `x`.",3,null],[11,"point_after_with_idx","","A reference to the first point that comes after the given `x` along with its index.",3,null],[11,"point_on_or_after_with_idx","","A reference to the first point that is equal to or comes after the given `x` along with\nits index.",3,null],[11,"point_at","","A reference to the first point lying directly on the given `x` if there is one.",3,null],[11,"point_at_with_idx","","A reference to the first point (along with it's index) lying directly on the given `x` if\nthere is one.",3,null],[11,"surrounding_points","","The points that lie on either side of the given `x`.",3,null],[11,"closest_point","","A reference point that is closest to the given `x` if there is one.",3,null],[11,"y","","Return `y` for the given `x`.",3,null],[11,"steps","","Sample the `Envelope`'s `y` value for every given positive `x` step starting from the first\npoint's `X` value.",3,null],[11,"interpolate","","Interpolate between two points and return y for the given x.",4,{"inputs":[{"name":"x"},{"name":"self"},{"name":"self"}],"output":{"name":"y"}}]],"paths":[[3,"BezierPoint"],[3,"EasePoint"],[3,"Steps"],[8,"Envelope"],[8,"Point"]]}; initSearch(searchIndex);