pub trait TrackSelf {
    type Out;

    // Required method
    fn track_self(self) -> Self::Out;
}
Expand description

Lets a traversing query track itself. This is just immediate ancestors/descendants depending on if the traversal is a descent or ascent. See Track for an explaination on tracking.

§Example

use bevy::prelude::*;
use aery::prelude::*;

#[derive(Component)]
struct A;

#[derive(Component)]
struct B;

#[derive(Relation)]
struct R;

fn descent_with_parent(
    left: Query<((&A, &B), Relations<R>)>,
    starts: Query<Entity, Root<R>>
) {
    left.traverse::<R>(starts.iter())
        .track_self()
        .for_each(|(parent_a, parent_b), _, (child_a, child_b), _| {
            // ..
        })
}

Required Associated Types§

Required Methods§

source

fn track_self(self) -> Self::Out

Implementors§

source§

impl<Control, Edge, Starts> TrackSelf for TraverseAnd<Control, Edge, Starts>

§

type Out = TraverseAnd<Control, Edge, Starts, SelfTracking>