pub struct Vec3 { /* private fields */ }Implementations§
Source§impl Vec3
impl Vec3
pub fn new(e0: f64, e1: f64, e2: f64) -> Self
pub fn x(&self) -> f64
pub fn y(&self) -> f64
pub fn z(&self) -> f64
pub fn set_x(&mut self, x: f64)
pub fn set_y(&mut self, y: f64)
pub fn set_z(&mut self, z: f64)
pub fn k(&self) -> f64
pub fn l(&self) -> f64
pub fn m(&self) -> f64
pub fn length(&self) -> f64
pub fn length_squared(&self) -> f64
pub fn normalize(&self) -> Self
pub fn is_unit(&self) -> bool
pub fn dot(&self, rhs: Self) -> f64
Sourcepub fn sq_grid_in_circ(
radius: f64,
spacing: f64,
z: f64,
radial_offset_x: f64,
radial_offset_y: f64,
) -> Vec<Self>
pub fn sq_grid_in_circ( radius: f64, spacing: f64, z: f64, radial_offset_x: f64, radial_offset_y: f64, ) -> Vec<Self>
Create a square grid of vectors that sample a circle.
§Arguments
radius- The radius of the circle.z- The z-coordinate of the circle.spacing- The spacing of the grid. For example, a spacing of 1.0 will sample the circle at every pair of integer coordinates, while a scale of 0.5 will sample the circle at every pair of half-integer coordinates.- radial_offset_x: Offset the radial position of the vectors by this amount in x
- radial_offset_y: Offset the radial position of the vectors by this amount in y
Sourcepub fn fan(
n: usize,
r: f64,
theta: f64,
z: f64,
radial_offset_x: f64,
radial_offset_y: f64,
) -> Vec<Self>
pub fn fan( n: usize, r: f64, theta: f64, z: f64, radial_offset_x: f64, radial_offset_y: f64, ) -> Vec<Self>
Create a fan of uniformly spaced vectors with endpoints in a given z-plane.
The vectors have endpoints at an angle theta with respect to the x-axis and extend from distances (-r + radial_offset) to (r + radial_offset) from the point (0, 0, z).
§Arguments
- n: Number of vectors to create
- r: Radial span of vector endpoints from [-r, r]
- theta: Angle of vectors with respect to x
- z: z-coordinate of endpoints
- radial_offset_x: Offset the radial position of the vectors by this amount in x
- radial_offset_y: Offset the radial position of the vectors by this amount in y
Trait Implementations§
Source§impl AddAssign for Vec3
impl AddAssign for Vec3
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+= operation. Read moreSource§impl<'de> Deserialize<'de> for Vec3
impl<'de> Deserialize<'de> for Vec3
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<Vec3> for [f64; 3]
Required to serialize Vec3 directly into an array instead of a JSON Object.
impl From<Vec3> for [f64; 3]
Required to serialize Vec3 directly into an array instead of a JSON Object.
impl Copy for Vec3
Auto Trait Implementations§
impl Freeze for Vec3
impl RefUnwindSafe for Vec3
impl Send for Vec3
impl Sync for Vec3
impl Unpin for Vec3
impl UnwindSafe for Vec3
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more