pub struct RenderTree {
pub nodes: Vec<Option<Arc<RenderTreeNode>>>,
pub width: usize,
pub height: usize,
}Expand description
Main structure for rendering an execution plan as a tree. Manages a 2D grid of nodes and their layout information.
Fields§
§nodes: Vec<Option<Arc<RenderTreeNode>>>Storage for tree nodes in a flattened 2D grid
width: usizeTotal width of the rendered tree
height: usizeTotal height of the rendered tree
Implementations§
Source§impl RenderTree
impl RenderTree
Sourcepub fn create_tree(plan: &dyn ExecutionPlan) -> Self
pub fn create_tree(plan: &dyn ExecutionPlan) -> Self
Creates a new render tree from an execution plan.
fn new(width: usize, height: usize) -> Self
pub fn get_node(&self, x: usize, y: usize) -> Option<Arc<RenderTreeNode>>
pub fn set_node(&mut self, x: usize, y: usize, node: Arc<RenderTreeNode>)
pub fn has_node(&self, x: usize, y: usize) -> bool
fn get_position(&self, x: usize, y: usize) -> usize
Auto Trait Implementations§
impl Freeze for RenderTree
impl RefUnwindSafe for RenderTree
impl Send for RenderTree
impl Sync for RenderTree
impl Unpin for RenderTree
impl UnwindSafe for RenderTree
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more