pub struct GridCone {
    pub pos: IVec2,
    pub angle_dir_rad: f32,
    pub angle_size_rad: f32,
    pub range: usize,
}

Fields§

§pos: IVec2§angle_dir_rad: f32

Angle of the cone in radians

§angle_size_rad: f32

Size/Arc of the cone in radians

§range: usize

Implementations§

source§

impl GridCone

source

pub fn new( xy: impl GridPoint, dir_deg: f32, size_deg: f32, range: usize ) -> Self

Create a new grid from angles represented in degrees.

Note an angle of 0. points to the right, and an angle of 90. points straight up (angle increases counter-clockwise).

source

pub fn origin(dir_deg: f32, size_deg: f32, range: usize) -> Self

Create a cone with it’s position set to 0,0

source

pub fn corners(&self) -> [IVec2; 3]

Retrieve the 3 grid positions of the corners of the cone

The first point is the position of the cone, and the next two points are the two corners making up the cone triangle

Trait Implementations§

source§

impl Clone for GridCone

source§

fn clone(&self) -> GridCone

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GridCone

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for GridCone

source§

fn default() -> GridCone

Returns the “default value” for a type. Read more
source§

impl GridShape for GridCone

source§

fn iter(&self) -> GridShapeIterator

source§

fn pos(&self) -> IVec2

source§

fn set_pos(&mut self, pos: IVec2)

source§

fn bounds(&self) -> GridRect

Get a rect encompassing the entire shape
source§

impl IntoIterator for GridCone

§

type Item = IVec2

The type of the elements being iterated over.
§

type IntoIter = GridConeIter

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl PartialEq for GridCone

source§

fn eq(&self, other: &GridCone) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for GridCone

source§

impl StructuralPartialEq for GridCone

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ShapeClone for T
where T: 'static + GridShape + Clone,

source§

fn clone_box(&self) -> Box<dyn GridShape>

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.