Struct turbine_reactive::Physics
[−]
[src]
pub struct Physics<T> { pub pos1: Vec<(T, T)>, pub pos2: Vec<([T; 2], [T; 2])>, pub pos3: Vec<([T; 3], [T; 3])>, pub pos4: Vec<([T; 4], [T; 4])>, pub eq_bones1: Vec<(usize, usize, T, T)>, pub eq_bones2: Vec<(usize, usize, T, T)>, pub eq_bones3: Vec<(usize, usize, T, T)>, pub eq_bones4: Vec<(usize, usize, T, T)>, pub less_bones1: Vec<(usize, usize, T, T)>, pub less_bones2: Vec<(usize, usize, T, T)>, pub less_bones3: Vec<(usize, usize, T, T)>, pub less_bones4: Vec<(usize, usize, T, T)>, pub more_bones1: Vec<(usize, usize, T, T)>, pub more_bones2: Vec<(usize, usize, T, T)>, pub more_bones3: Vec<(usize, usize, T, T)>, pub more_bones4: Vec<(usize, usize, T, T)>, pub map1: Vec<Point1<T>>, pub map2: Vec<Point2<T>>, pub map3: Vec<Point3<T>>, pub map4: Vec<Point4<T>>, }
Stores intermediate data for physics simulation.
Fields
pos1: Vec<(T, T)>
Scalars connected to bones.
pos2: Vec<([T; 2], [T; 2])>
2D points connected to bones.
pos3: Vec<([T; 3], [T; 3])>
3D points connected to bones.
pos4: Vec<([T; 4], [T; 4])>
4D points connected to bones.
eq_bones1: Vec<(usize, usize, T, T)>
Scalar bones that keep constant distance.
eq_bones2: Vec<(usize, usize, T, T)>
2D bones that keep constant distance.
eq_bones3: Vec<(usize, usize, T, T)>
3D bones that keep constant distance.
eq_bones4: Vec<(usize, usize, T, T)>
4D bones that keep constant distance.
less_bones1: Vec<(usize, usize, T, T)>
Bones that keep a maximum distance.
less_bones2: Vec<(usize, usize, T, T)>
2D bones that keep maximum distance.
less_bones3: Vec<(usize, usize, T, T)>
3D bones that keep maximum distance.
less_bones4: Vec<(usize, usize, T, T)>
4D bones that keep maximum distance.
more_bones1: Vec<(usize, usize, T, T)>
Scalar bones that keep minimum distance.
more_bones2: Vec<(usize, usize, T, T)>
2D bones that keep minimum distance.
more_bones3: Vec<(usize, usize, T, T)>
3D bones that keep minimum distance.
more_bones4: Vec<(usize, usize, T, T)>
4D bones that keep minimum distance.
map1: Vec<Point1<T>>
Position map back to document for scalars. Sorted to enable binary search.
map2: Vec<Point2<T>>
Position map back to document for 2D points. Sorted to enable binary search.
map3: Vec<Point3<T>>
Position map back to document for 3D points. Sorted to enable binary search.
map4: Vec<Point4<T>>
Position map back to document for 4D points. Sorted to enable binary search.
Methods
impl<T> Physics<T>
[src]
fn new(
doc: &Reactor<T>,
selection: &Selection<T>,
env: &mut Environment<T>
) -> Physics<T> where
T: Float,
f64: Cast<T>,
[src]
doc: &Reactor<T>,
selection: &Selection<T>,
env: &mut Environment<T>
) -> Physics<T> where
T: Float,
f64: Cast<T>,
Creates new physics from document.
fn simulate(&mut self) -> T where
T: Float,
f64: Cast<T>,
[src]
T: Float,
f64: Cast<T>,
Simulates points. Returns a positive number representing the error squared from a satisfied solution.
fn commit(&mut self, doc: &mut Reactor<T>) where
T: Copy,
[src]
T: Copy,
Commit changes to document. Writes data to document and updates previous position.