mirror of
https://codeberg.org/icewind/vbsp.git
synced 2026-06-03 18:54:05 +02:00
rust 2024
This commit is contained in:
parent
8c054ff565
commit
a8a090ee1a
2 changed files with 13 additions and 7 deletions
|
|
@ -6,7 +6,7 @@ homepage = "https://github.com/icewind1991/vbsp"
|
||||||
repository = "https://github.com/icewind1991/vbsp"
|
repository = "https://github.com/icewind1991/vbsp"
|
||||||
description = "Rust parser for valve bsp files."
|
description = "Rust parser for valve bsp files."
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
edition = "2021"
|
edition = "2024"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
exclude = ["*.bsp"]
|
exclude = ["*.bsp"]
|
||||||
rust-version = "1.85.0"
|
rust-version = "1.85.0"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@ use crate::data::*;
|
||||||
use arrayvec::ArrayVec;
|
use arrayvec::ArrayVec;
|
||||||
|
|
||||||
impl<'a> Handle<'a, DisplacementInfo> {
|
impl<'a> Handle<'a, DisplacementInfo> {
|
||||||
pub fn edge_neighbours(&self) -> impl Iterator<Item = Handle<'a, DisplacementSubNeighbour>> {
|
pub fn edge_neighbours(
|
||||||
|
&self,
|
||||||
|
) -> impl Iterator<Item = Handle<'a, DisplacementSubNeighbour>> + use<'a> {
|
||||||
self.data
|
self.data
|
||||||
.edge_neighbours
|
.edge_neighbours
|
||||||
.iter()
|
.iter()
|
||||||
|
|
@ -11,7 +13,9 @@ impl<'a> Handle<'a, DisplacementInfo> {
|
||||||
.map(|sub| Handle::new(self.bsp, sub))
|
.map(|sub| Handle::new(self.bsp, sub))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn corner_neighbours(&self) -> impl Iterator<Item = Handle<'a, DisplacementInfo>> {
|
pub fn corner_neighbours(
|
||||||
|
&self,
|
||||||
|
) -> impl Iterator<Item = Handle<'a, DisplacementInfo>> + use<'a> {
|
||||||
self.data
|
self.data
|
||||||
.corner_neighbours
|
.corner_neighbours
|
||||||
.iter()
|
.iter()
|
||||||
|
|
@ -19,7 +23,9 @@ impl<'a> Handle<'a, DisplacementInfo> {
|
||||||
.filter_map(|id| self.bsp.displacement(id as usize))
|
.filter_map(|id| self.bsp.displacement(id as usize))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn displacement_vertices(&self) -> impl Iterator<Item = Handle<'a, DisplacementVertex>> {
|
pub fn displacement_vertices(
|
||||||
|
&self,
|
||||||
|
) -> impl Iterator<Item = Handle<'a, DisplacementVertex>> + use<'a> {
|
||||||
(self.displacement_vertex_start..(self.displacement_vertex_start + self.vertex_count()))
|
(self.displacement_vertex_start..(self.displacement_vertex_start + self.vertex_count()))
|
||||||
.flat_map(|i| self.bsp.displacement_vertex(i as usize))
|
.flat_map(|i| self.bsp.displacement_vertex(i as usize))
|
||||||
}
|
}
|
||||||
|
|
@ -53,7 +59,7 @@ impl<'a> Handle<'a, DisplacementInfo> {
|
||||||
corner_positions
|
corner_positions
|
||||||
}
|
}
|
||||||
|
|
||||||
fn subdivided_face(&self) -> impl Iterator<Item = Vector> + 'a {
|
fn subdivided_face(&self) -> impl Iterator<Item = Vector> + use<'a> {
|
||||||
let steps = 2usize.pow(self.power as u32) + 1;
|
let steps = 2usize.pow(self.power as u32) + 1;
|
||||||
let corner_positions = self.corner_positions();
|
let corner_positions = self.corner_positions();
|
||||||
|
|
||||||
|
|
@ -75,13 +81,13 @@ impl<'a> Handle<'a, DisplacementInfo> {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn displaced_vertices(&self) -> impl Iterator<Item = Vector> + 'a {
|
pub fn displaced_vertices(&self) -> impl Iterator<Item = Vector> + use<'a> {
|
||||||
self.displacement_vertices()
|
self.displacement_vertices()
|
||||||
.zip(self.subdivided_face())
|
.zip(self.subdivided_face())
|
||||||
.map(move |(displacement, base_pos)| base_pos + displacement.displacement())
|
.map(move |(displacement, base_pos)| base_pos + displacement.displacement())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn triangulated_displaced_vertices(&self) -> impl Iterator<Item = Vector> + 'a {
|
pub fn triangulated_displaced_vertices(&self) -> impl Iterator<Item = Vector> + use<'a> {
|
||||||
let vertices: Vec<_> = self.displaced_vertices().collect();
|
let vertices: Vec<_> = self.displaced_vertices().collect();
|
||||||
let steps = 2usize.pow(self.power as u32);
|
let steps = 2usize.pow(self.power as u32);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue