[][src]Trait goko::plugins::GokoPlugin

pub trait GokoPlugin<D: PointCloud> {
    type NodeComponent: NodePlugin<D> + Clone + 'static;
    type TreeComponent: TreePlugin<D> + Clone + 'static;
    fn node_component(
        parameters: &Self::TreeComponent,
        my_node: &CoverNode<D>,
        my_tree: &CoverTreeReader<D>
    ) -> Option<Self::NodeComponent>; fn prepare_tree(
        _parameters: &Self::TreeComponent,
        _my_tree: &mut CoverTreeWriter<D>
    ) { ... } }

Parent trait that make this all work. Ideally this should be included in the TreePlugin but rust doesn't like it.

Associated Types

type NodeComponent: NodePlugin<D> + Clone + 'static

The node component of this plugin, these are attached to each node recursively when the plug in is attached to the tree.

type TreeComponent: TreePlugin<D> + Clone + 'static

This should largely be an object that manages the parameters of the plugin.

Loading content...

Required methods

fn node_component(
    parameters: &Self::TreeComponent,
    my_node: &CoverNode<D>,
    my_tree: &CoverTreeReader<D>
) -> Option<Self::NodeComponent>

The function that actually builds the node components.

Loading content...

Provided methods

fn prepare_tree(
    _parameters: &Self::TreeComponent,
    _my_tree: &mut CoverTreeWriter<D>
)

This is called just before we build the tree to prepare it for the upcomming plugin creations.

Loading content...

Implementors

impl<D: PointCloud + LabeledCloud> GokoPlugin<D> for LabelSummaryPlugin[src]

type NodeComponent = NodeLabelSummary<D::LabelSummary>

type TreeComponent = TreeLabelSummary

impl<D: PointCloud + MetaCloud> GokoPlugin<D> for MetaSummaryPlugin[src]

type NodeComponent = NodeMetaSummary<D::MetaSummary>

type TreeComponent = TreeMetaSummary

impl<D: PointCloud> GokoPlugin<D> for GokoCategorical[src]

Parent trait that make this all work. Ideally this should be included in the TreePlugin but rust doesn't like it.

type NodeComponent = Categorical

type TreeComponent = CategoricalTree

impl<D: PointCloud> GokoPlugin<D> for GokoDiagGaussian[src]

type NodeComponent = DiagGaussian

type TreeComponent = DiagGaussianTree

impl<D: PointCloud> GokoPlugin<D> for GokoDirichlet[src]

Parent trait that make this all work. Ideally this should be included in the TreePlugin but rust doesn't like it.

type NodeComponent = Dirichlet

type TreeComponent = DirichletTree

impl<D: PointCloud> GokoPlugin<D> for GokoSvdGaussian[src]

type NodeComponent = SvdGaussian

type TreeComponent = SvdGaussianTree

impl<D: PointCloud> GokoPlugin<D> for GokoCoverageIndexes[src]

type NodeComponent = CoverageIndexes

type TreeComponent = CoverageIndexesParams

Loading content...