diff --git a/src/app.rs b/src/app.rs index 1fc43d8..5b66bd3 100644 --- a/src/app.rs +++ b/src/app.rs @@ -715,15 +715,3 @@ fn draw_grid(mesh: &mut Mesh, grid: &Array2D) { } } */ - -fn nodegraph_fn_inputs() -> ParameterList { - use vorpal_widgets::vorpal_core::{DataType, ExternInputId}; - let params = [ - (ExternInputId::new("time".to_string()), DataType::Scalar), - (ExternInputId::new("position".to_string()), DataType::Vec2), - ] - .into_iter() - .collect(); - - ParameterList(params) -} diff --git a/src/sim.rs b/src/sim.rs index 12015e8..44f5e91 100644 --- a/src/sim.rs +++ b/src/sim.rs @@ -5,7 +5,7 @@ use crate::query_accel::QueryAccelerator; use glam::Vec2; use rand::prelude::*; -use vorpal_widgets::vorpal_core::{ExternParameters, ExternInputId, Value}; +use vorpal_widgets::vorpal_core::{ExternParameters, ExternInputId, Value, ParameterList, DataType}; use vorpal_widgets::vorpal_core::{Node, native_backend::evaluate_node}; #[derive(Clone)] @@ -695,7 +695,7 @@ fn node_interactions(particles: &mut [Particle], node: &Rc, cfg: &NodeInte for i in 0..particles.len() { for neighbor in accel.query_neighbors_fast(i, points[i]) { // The vector pointing from a to b - let diff = points[i] - points[neighbor]; + let diff = points[neighbor] - points[i]; let inputs = [ (ExternInputId::new("neigh-radius".into()), Value::Scalar(cfg.neighbor_radius)), @@ -709,3 +709,14 @@ fn node_interactions(particles: &mut [Particle], node: &Rc, cfg: &NodeInte } } + +pub fn nodegraph_fn_inputs() -> ParameterList { + let params = [ + (ExternInputId::new("neigh-radius".to_string()), DataType::Scalar), + (ExternInputId::new("pos-diff".to_string()), DataType::Vec2), + ] + .into_iter() + .collect(); + + ParameterList(params) +}