pub struct Cs2Collision { /* private fields */ }Expand description
Represents a CS2 Collision file decoded in memory.
Contains all collision mesh data for a 3D model, including vertices, triangles, and adjacency information for efficient collision detection.
§Fields
magic_number- File format identifierversion- File format version (0, 11, 13, 20, or 21)bounding_box- Overall bounds containing all collision meshescollisions_3d- List of named collision meshes
§Examples
ⓘ
let collision = Cs2Collision::decode(&mut data, &None)?;
println!("Version: {}", collision.version());
println!("Meshes: {}", collision.collisions_3d().len());Implementations§
Source§impl Cs2Collision
impl Cs2Collision
Sourcepub fn magic_number(&self) -> &u32
pub fn magic_number(&self) -> &u32
File format identifier.
Sourcepub fn bounding_box(&self) -> &Cube
pub fn bounding_box(&self) -> &Cube
Bounding box containing all collision meshes.
Sourcepub fn collisions_3d(&self) -> &Vec<Collision3d>
pub fn collisions_3d(&self) -> &Vec<Collision3d>
List of collision meshes in this file.
Trait Implementations§
Source§impl Clone for Cs2Collision
impl Clone for Cs2Collision
Source§fn clone(&self) -> Cs2Collision
fn clone(&self) -> Cs2Collision
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Cs2Collision
impl Debug for Cs2Collision
Source§impl Decodeable for Cs2Collision
impl Decodeable for Cs2Collision
Source§impl Default for Cs2Collision
impl Default for Cs2Collision
Source§fn default() -> Cs2Collision
fn default() -> Cs2Collision
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for Cs2Collision
impl<'de> Deserialize<'de> for Cs2Collision
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 Encodeable for Cs2Collision
impl Encodeable for Cs2Collision
Source§fn encode<W: WriteBytes>(
&mut self,
buffer: &mut W,
_extra_data: &Option<EncodeableExtraData<'_>>,
) -> Result<()>
fn encode<W: WriteBytes>( &mut self, buffer: &mut W, _extra_data: &Option<EncodeableExtraData<'_>>, ) -> Result<()>
Encodes the implementing type into binary data. Read more
Source§impl PartialEq for Cs2Collision
impl PartialEq for Cs2Collision
Source§impl Serialize for Cs2Collision
impl Serialize for Cs2Collision
impl StructuralPartialEq for Cs2Collision
Auto Trait Implementations§
impl Freeze for Cs2Collision
impl RefUnwindSafe for Cs2Collision
impl Send for Cs2Collision
impl Sync for Cs2Collision
impl Unpin for Cs2Collision
impl UnsafeUnpin for Cs2Collision
impl UnwindSafe for Cs2Collision
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.