Struct graphics::deform::DeformGrid [−][src]
Represents a deformed grid.
Fields
cols: usize
The number of columns in the grid.
rows: usize
The number of rows in the grid.
rect: [Scalar; 4]
The grid undeformed, which is a plain rectangle.
vertices: Vec<Vec2d>
The vertices, deformed.
indices: Vec<usize>
The triangle indices.
texture_coords: Vec<[f32; 2]>
The texture coordinates.
ps: Vec<[Scalar; 2]>
Initial position of control points.
qs: Vec<[Scalar; 2]>
The current position of control points.
wis: Vec<Scalar>
A weight computation buffer, one for each control point.
Implementations
impl DeformGrid
[src]
pub fn new(rect: Rectangle, cols: usize, rows: usize) -> DeformGrid
[src]
Creates a new DeformGrid.
pub fn set_current(&mut self, i: usize, pos: Vec2d)
[src]
Sets current control position.
pub fn set_original(&mut self, i: usize, pos: Vec2d)
[src]
Sets original control position.
pub fn reset_control_points(&mut self)
[src]
Removes all control points.
pub fn reset_vertices_and_texture_coords(&mut self)
[src]
Sets vertices and texture coords back to default.
pub fn hit(&self, pos: Vec2d) -> Option<Vec2d>
[src]
Finds original coordinate. If the deformed grid is overlapping itself, multiple hits might occur. Returns the first hit it finds.
pub fn draw_image<G>(
&self,
texture: &<G as Graphics>::Texture,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
[src]
&self,
texture: &<G as Graphics>::Texture,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
Draws deformed image using default method.
pub fn draw_image_tri<G>(
&self,
texture: &<G as Graphics>::Texture,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
[src]
&self,
texture: &<G as Graphics>::Texture,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
Draws deformed image using triangulation.
pub fn add_control_point(&mut self, pos: Vec2d)
[src]
Adds a control point, in original coordinates.
pub fn draw_vertical_lines<G>(
&self,
line: &Line,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
[src]
&self,
line: &Line,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
Draw vertical grid lines.
pub fn draw_horizontal_lines<G>(
&self,
line: &Line,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
[src]
&self,
line: &Line,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G
) where
G: Graphics,
Draw horizontal grid lines.
pub fn update(&mut self)
[src]
Updates the grid, by deforming the vertices.
Trait Implementations
impl Clone for DeformGrid
[src]
fn clone(&self) -> DeformGrid
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
Auto Trait Implementations
impl RefUnwindSafe for DeformGrid
impl Send for DeformGrid
impl Sync for DeformGrid
impl Unpin for DeformGrid
impl UnwindSafe for DeformGrid
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,