Trait Drawer

Source
pub trait Drawer:
    TypePath
    + Component
    + Sized {
    type Vertex: Vertex;
    type ExtractParam: ReadOnlySystemParam;
    type ExtractData: ReadOnlyQueryData;
    type ExtractFilter: QueryFilter;
    type DrawParam: ReadOnlySystemParam;

    // Required methods
    fn extract(
        drawer: DrawerExtract<'_, Self>,
        param: &SystemParamItem<'_, '_, Self::ExtractParam>,
        query: QueryItem<'_, Self::ExtractData>,
    );
    fn draw(
        &mut self,
        param: &SystemParamItem<'_, '_, Self::DrawParam>,
        queuer: &impl VertexQueuer<Vertex = Self::Vertex>,
    );
}
Expand description

A render world Component extracted from the main world that will be used to issue draw requests.

Required Associated Types§

Source

type Vertex: Vertex

The type of vertex this drawer works with.

Source

type ExtractParam: ReadOnlySystemParam

System parameter to fetch when extracting data from the main world.

Source

type ExtractData: ReadOnlyQueryData

Query item to fetch from entities when extracting from those entities to the render world.

Source

type ExtractFilter: QueryFilter

Additional query filters accompanying ExtractData.

Source

type DrawParam: ReadOnlySystemParam

System parameter to fetch when issuing draw requests.

Required Methods§

Source

fn extract( drawer: DrawerExtract<'_, Self>, param: &SystemParamItem<'_, '_, Self::ExtractParam>, query: QueryItem<'_, Self::ExtractData>, )

Extracts an instance of this drawer from matching entities, if available.

Source

fn draw( &mut self, param: &SystemParamItem<'_, '_, Self::DrawParam>, queuer: &impl VertexQueuer<Vertex = Self::Vertex>, )

Issues vertex data and draw requests for the data.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§