diff options
| author | Arne Dußin | 2021-01-06 22:56:37 +0100 |
|---|---|---|
| committer | Arne Dußin | 2021-01-06 22:56:37 +0100 |
| commit | fa1afb6be3ba2d521eb0791edc0bb8e631a85327 (patch) | |
| tree | e0a365444784efaaeb1eea6373b34559b6d57fbc /src/map/polygon_room.rs | |
| parent | 1c81d7c70fe891e6ded49d49d6a09f04ce74dd6e (diff) | |
| parent | 30b23db9e86fdf72a4e7de72213df274ce19123e (diff) | |
| download | graf_karto-fa1afb6be3ba2d521eb0791edc0bb8e631a85327.tar.gz graf_karto-fa1afb6be3ba2d521eb0791edc0bb8e631a85327.zip | |
Merge branch 'master' into snapping
Diffstat (limited to 'src/map/polygon_room.rs')
| -rw-r--r-- | src/map/polygon_room.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/map/polygon_room.rs b/src/map/polygon_room.rs index fd4122e..2a29436 100644 --- a/src/map/polygon_room.rs +++ b/src/map/polygon_room.rs @@ -6,8 +6,10 @@ use crate::colours::DEFAULT_COLOURS; use crate::math::{self, Polygon, Rect, Triangle}; use crate::transform::Transform; use crate::transformable::NonRigidTransformable; +use crate::FLOAT_MARGIN; use nalgebra::{Matrix3, Point2}; use raylib::drawing::{RaylibDraw, RaylibDrawHandle}; +use std::ops::Deref; /// Data type for the Polygon room. pub type PolygonRoomData = Polygon<f64>; @@ -25,7 +27,7 @@ impl PolygonRoom { pub fn from_data(data: PolygonRoomData) -> Self { Self { data: data.clone(), - triangulated: math::triangulate(data), + triangulated: math::triangulate(data, FLOAT_MARGIN), selected: false, } } @@ -33,7 +35,7 @@ impl PolygonRoom { // When the internal polygon changes, it must be retriangulated to be drawn on the screen // properly, so this function must be called any time that happens. fn retriangulate(&mut self) { - self.triangulated = math::triangulate(self.data.clone()); + self.triangulated = math::triangulate(self.data.clone(), FLOAT_MARGIN); } } @@ -85,3 +87,11 @@ impl NonRigidTransformable for PolygonRoom { self.retriangulate(); } } + +impl Deref for PolygonRoom { + type Target = PolygonRoomData; + + fn deref(&self) -> &Self::Target { + &self.data + } +} |
