Skip to main content

Model

Struct Model 

Source
pub struct Model { /* private fields */ }
Expand description

MODL — Model root chunk (v23–v30, 784–868 bytes)

The root of all model data. Contains Ref<T> fields pointing to every sub-chunk in the file: skeleton, mesh, materials, particles, physics, etc. The preamble (bytes 0x000–0x0E3) is identical across all versions; version-dependent material and physics references follow at 0x0E4+.

Version history: - v23 (784 bytes): Base release layout - v24 (+ikCCD): 796 bytes - v25 (+volumeNoiseMaterials): 808 bytes - v26 (+stbMaterials): 820 bytes - v28 (+reflectionMaterials, +clothPhysics): 844 bytes - v29 (+lensFlareMaterials): 856 bytes - v30 (+dataDrivenMaterials): 868 bytes

Implementations§

Source§

impl Model

Source

pub fn new() -> Self

§Panics

Panics if the native allocation fails.

Source

pub fn name(&self) -> String

Model file path (Ref<CHAR>)

Source

pub fn set_name(&mut self, value: &str)

Source

pub fn flags(&self) -> ModelFlag

Not None: only 21 of the corpus’s 56,146 models leave this at zero. These three are latches saying “this work is already done, do not redo it”, and the converter does all three – it sorts every STC_’s animIds, states kAnimRefBound on every bound AnimRef, and derives every BONE.flags from those (m3_anim::SolveBoneAnimFlags). The rest of the shipped bits are left clear so the editor recomputes them. A parsed or restored model overwrites this wholesale.

Source

pub fn set_flags(&mut self, value: ModelFlag)

Source

pub fn sequences_len(&self) -> usize

Animation sequences (SEQS)

Source

pub fn sequences(&self, index: usize) -> Option<Ref<'_, Sequence>>

Borrows element index in place. None when out of range.

Source

pub fn sequences_mut(&mut self, index: usize) -> Option<RefMut<'_, Sequence>>

Source

pub fn sequences_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Sequence>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_sequences(&mut self, count: usize)

Source

pub fn sub_track_collections_len(&self) -> usize

Sub-track containers (STC_) with keyframe refs

Source

pub fn sub_track_collections( &self, index: usize, ) -> Option<Ref<'_, SubTrackContainer>>

Borrows element index in place. None when out of range.

Source

pub fn sub_track_collections_mut( &mut self, index: usize, ) -> Option<RefMut<'_, SubTrackContainer>>

Source

pub fn sub_track_collections_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, SubTrackContainer>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_sub_track_collections(&mut self, count: usize)

Source

pub fn animation_groups_len(&self) -> usize

Animation groups (STG_)

Source

pub fn animation_groups(&self, index: usize) -> Option<Ref<'_, AnimationGroup>>

Borrows element index in place. None when out of range.

Source

pub fn animation_groups_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AnimationGroup>>

Source

pub fn animation_groups_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AnimationGroup>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_animation_groups(&mut self, count: usize)

Source

pub fn bone_animation_sets_len(&self) -> usize

Bone animation sets (BSET, always null)

Source

pub fn bone_animation_sets( &self, index: usize, ) -> Option<Ref<'_, BoneAnimationSet>>

Borrows element index in place. None when out of range.

Source

pub fn bone_animation_sets_mut( &mut self, index: usize, ) -> Option<RefMut<'_, BoneAnimationSet>>

Source

pub fn bone_animation_sets_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, BoneAnimationSet>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_bone_animation_sets(&mut self, count: usize)

Source

pub fn animation_split_count(&self) -> u32

Always 0

Source

pub fn set_animation_split_count(&mut self, value: u32)

Source

pub fn animation_states_len(&self) -> usize

Animation states (STS_)

Source

pub fn animation_states(&self, index: usize) -> Option<Ref<'_, AnimationState>>

Borrows element index in place. None when out of range.

Source

pub fn animation_states_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AnimationState>>

Source

pub fn animation_states_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AnimationState>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_animation_states(&mut self, count: usize)

Source

pub fn bones_len(&self) -> usize

Skeleton bones (BONE)

Source

pub fn bones(&self, index: usize) -> Option<Ref<'_, Bone>>

Borrows element index in place. None when out of range.

Source

pub fn bones_mut(&mut self, index: usize) -> Option<RefMut<'_, Bone>>

Source

pub fn bones_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Bone>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_bones(&mut self, count: usize)

Source

pub fn skin_bone_count(&self) -> u32

Number of bones affecting skin

Source

pub fn set_skin_bone_count(&mut self, value: u32)

Source

pub fn divisions_len(&self) -> usize

Mesh divisions (DIV_: faces, regions, batches)

Source

pub fn divisions(&self, index: usize) -> Option<Ref<'_, MeshDivision>>

Borrows element index in place. None when out of range.

Source

pub fn divisions_mut( &mut self, index: usize, ) -> Option<RefMut<'_, MeshDivision>>

Source

pub fn divisions_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, MeshDivision>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_divisions(&mut self, count: usize)

Source

pub fn bone_lookup(&self) -> &[u16]

Bone index remap table (U16_) Zero-copy view of the underlying std::vector.

Source

pub fn bone_lookup_mut(&mut self) -> &mut [u16]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_bone_lookup(&mut self, values: &[u16])

Source

pub fn resize_bone_lookup(&mut self, count: usize)

Source

pub fn bounds(&self) -> Ref<'_, Extent>

Model bounding volume Borrows the field in place — no copy, no allocation.

Source

pub fn bounds_mut(&mut self) -> RefMut<'_, Extent>

Source

pub fn collision_bounds(&self) -> Ref<'_, Extent>

Collision bounding volume Borrows the field in place — no copy, no allocation.

Source

pub fn collision_bounds_mut(&mut self) -> RefMut<'_, Extent>

Source

pub fn collision_faces(&self) -> &[u16]

Collision triangle indices (U16_) Zero-copy view of the underlying std::vector.

Source

pub fn collision_faces_mut(&mut self) -> &mut [u16]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_collision_faces(&mut self, values: &[u16])

Source

pub fn resize_collision_faces(&mut self, count: usize)

Source

pub fn collision_verts(&self) -> &[Vector3f]

Collision vertex positions (VEC3) Zero-copy view of the underlying std::vector.

Source

pub fn collision_verts_mut(&mut self) -> &mut [Vector3f]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_collision_verts(&mut self, values: &[Vector3f])

Source

pub fn resize_collision_verts(&mut self, count: usize)

Source

pub fn collision_normals(&self) -> &[Vector3f]

Collision face normals (VEC3) Zero-copy view of the underlying std::vector.

Source

pub fn collision_normals_mut(&mut self) -> &mut [Vector3f]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_collision_normals(&mut self, values: &[Vector3f])

Source

pub fn resize_collision_normals(&mut self, count: usize)

Source

pub fn attachment_points_len(&self) -> usize

Named bone locations (ATT_)

Source

pub fn attachment_points( &self, index: usize, ) -> Option<Ref<'_, AttachmentPoint>>

Borrows element index in place. None when out of range.

Source

pub fn attachment_points_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AttachmentPoint>>

Source

pub fn attachment_points_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AttachmentPoint>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_attachment_points(&mut self, count: usize)

Source

pub fn attachment_point_addons(&self) -> &[u16]

Attachment point addon indices (U16_) Zero-copy view of the underlying std::vector.

Source

pub fn attachment_point_addons_mut(&mut self) -> &mut [u16]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_attachment_point_addons(&mut self, values: &[u16])

Source

pub fn resize_attachment_point_addons(&mut self, count: usize)

Source

pub fn lights_len(&self) -> usize

Lights (LITE)

Source

pub fn lights(&self, index: usize) -> Option<Ref<'_, Light>>

Borrows element index in place. None when out of range.

Source

pub fn lights_mut(&mut self, index: usize) -> Option<RefMut<'_, Light>>

Source

pub fn lights_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Light>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_lights(&mut self, count: usize)

Source

pub fn shadow_boxes_len(&self) -> usize

Shadow boxes (SHBX)

Source

pub fn shadow_boxes(&self, index: usize) -> Option<Ref<'_, ShadowBox>>

Borrows element index in place. None when out of range.

Source

pub fn shadow_boxes_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ShadowBox>>

Source

pub fn shadow_boxes_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ShadowBox>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_shadow_boxes(&mut self, count: usize)

Source

pub fn cameras_len(&self) -> usize

Cameras (CAM_)

Source

pub fn cameras(&self, index: usize) -> Option<Ref<'_, Camera>>

Borrows element index in place. None when out of range.

Source

pub fn cameras_mut(&mut self, index: usize) -> Option<RefMut<'_, Camera>>

Source

pub fn cameras_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Camera>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_cameras(&mut self, count: usize)

Source

pub fn cameras_addons(&self) -> &[u16]

Camera addon indices (U16_) Zero-copy view of the underlying std::vector.

Source

pub fn cameras_addons_mut(&mut self) -> &mut [u16]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_cameras_addons(&mut self, values: &[u16])

Source

pub fn resize_cameras_addons(&mut self, count: usize)

Source

pub fn material_maps_len(&self) -> usize

Material type+index maps (MATM)

Source

pub fn material_maps(&self, index: usize) -> Option<Ref<'_, MaterialMap>>

Borrows element index in place. None when out of range.

Source

pub fn material_maps_mut( &mut self, index: usize, ) -> Option<RefMut<'_, MaterialMap>>

Source

pub fn material_maps_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, MaterialMap>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_material_maps(&mut self, count: usize)

Source

pub fn standard_materials_len(&self) -> usize

Standard materials (MAT_)

Source

pub fn standard_materials( &self, index: usize, ) -> Option<Ref<'_, StandardMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn standard_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, StandardMaterial>>

Source

pub fn standard_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, StandardMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_standard_materials(&mut self, count: usize)

Source

pub fn displacement_materials_len(&self) -> usize

Displacement materials (DIS_)

Source

pub fn displacement_materials( &self, index: usize, ) -> Option<Ref<'_, DisplacementMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn displacement_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, DisplacementMaterial>>

Source

pub fn displacement_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, DisplacementMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_displacement_materials(&mut self, count: usize)

Source

pub fn composite_materials_len(&self) -> usize

Composite materials (CMP_)

Source

pub fn composite_materials( &self, index: usize, ) -> Option<Ref<'_, CompositeMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn composite_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, CompositeMaterial>>

Source

pub fn composite_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, CompositeMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_composite_materials(&mut self, count: usize)

Source

pub fn terrain_materials_len(&self) -> usize

Terrain materials (TER_)

Source

pub fn terrain_materials( &self, index: usize, ) -> Option<Ref<'_, TerrainMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn terrain_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TerrainMaterial>>

Source

pub fn terrain_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TerrainMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_terrain_materials(&mut self, count: usize)

Source

pub fn volume_materials_len(&self) -> usize

Volume materials (VOL_)

Source

pub fn volume_materials(&self, index: usize) -> Option<Ref<'_, VolumeMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn volume_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, VolumeMaterial>>

Source

pub fn volume_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, VolumeMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_volume_materials(&mut self, count: usize)

Source

pub fn hair_materials_len(&self) -> usize

Hair materials (HAI_, defunct — always null)

Source

pub fn hair_materials(&self, index: usize) -> Option<Ref<'_, HairMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn hair_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, HairMaterial>>

Source

pub fn hair_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, HairMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_hair_materials(&mut self, count: usize)

Source

pub fn creep_materials_len(&self) -> usize

Creep materials (CREP)

Source

pub fn creep_materials(&self, index: usize) -> Option<Ref<'_, CreepMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn creep_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, CreepMaterial>>

Source

pub fn creep_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, CreepMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_creep_materials(&mut self, count: usize)

Source

pub fn volume_noise_materials_len(&self) -> usize

Volume noise materials (VON_, v25+)

Source

pub fn volume_noise_materials( &self, index: usize, ) -> Option<Ref<'_, VolumeNoiseMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn volume_noise_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, VolumeNoiseMaterial>>

Source

pub fn volume_noise_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, VolumeNoiseMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_volume_noise_materials(&mut self, count: usize)

Source

pub fn stb_materials_len(&self) -> usize

Splat terrain bake materials (STBM, v26+)

Source

pub fn stb_materials(&self, index: usize) -> Option<Ref<'_, STBMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn stb_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, STBMaterial>>

Source

pub fn stb_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, STBMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_stb_materials(&mut self, count: usize)

Source

pub fn reflection_materials_len(&self) -> usize

Reflection materials (REF_, v28+)

Source

pub fn reflection_materials( &self, index: usize, ) -> Option<Ref<'_, ReflectionMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn reflection_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ReflectionMaterial>>

Source

pub fn reflection_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ReflectionMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_reflection_materials(&mut self, count: usize)

Source

pub fn lens_flare_materials_len(&self) -> usize

Lens flare materials (LFLR, v29+)

Source

pub fn lens_flare_materials(&self, index: usize) -> Option<Ref<'_, LensFlare>>

Borrows element index in place. None when out of range.

Source

pub fn lens_flare_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, LensFlare>>

Source

pub fn lens_flare_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, LensFlare>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_lens_flare_materials(&mut self, count: usize)

Source

pub fn data_driven_materials_len(&self) -> usize

Data-driven materials (MADD, v30+)

Source

pub fn data_driven_materials( &self, index: usize, ) -> Option<Ref<'_, DataDrivenMaterial>>

Borrows element index in place. None when out of range.

Source

pub fn data_driven_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, DataDrivenMaterial>>

Source

pub fn data_driven_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, DataDrivenMaterial>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_data_driven_materials(&mut self, count: usize)

Source

pub fn particle_emitters_len(&self) -> usize

Particle emitters (PAR_)

Source

pub fn particle_emitters( &self, index: usize, ) -> Option<Ref<'_, ParticleEmitter>>

Borrows element index in place. None when out of range.

Source

pub fn particle_emitters_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ParticleEmitter>>

Source

pub fn particle_emitters_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ParticleEmitter>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_particle_emitters(&mut self, count: usize)

Source

pub fn particle_emitter_copies_len(&self) -> usize

Particle emitter copies (PARC)

Source

pub fn particle_emitter_copies( &self, index: usize, ) -> Option<Ref<'_, ParticleEmitterCopy>>

Borrows element index in place. None when out of range.

Source

pub fn particle_emitter_copies_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ParticleEmitterCopy>>

Source

pub fn particle_emitter_copies_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ParticleEmitterCopy>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_particle_emitter_copies(&mut self, count: usize)

Source

pub fn ribbon_emitters_len(&self) -> usize

Ribbon emitters (RIB_)

Source

pub fn ribbon_emitters(&self, index: usize) -> Option<Ref<'_, RibbonEmitter>>

Borrows element index in place. None when out of range.

Source

pub fn ribbon_emitters_mut( &mut self, index: usize, ) -> Option<RefMut<'_, RibbonEmitter>>

Source

pub fn ribbon_emitters_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, RibbonEmitter>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_ribbon_emitters(&mut self, count: usize)

Source

pub fn projections_len(&self) -> usize

Projectors / decals (PROJ)

Source

pub fn projections(&self, index: usize) -> Option<Ref<'_, Projector>>

Borrows element index in place. None when out of range.

Source

pub fn projections_mut(&mut self, index: usize) -> Option<RefMut<'_, Projector>>

Source

pub fn projections_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, Projector>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_projections(&mut self, count: usize)

Source

pub fn forces_len(&self) -> usize

Forces (FOR_)

Source

pub fn forces(&self, index: usize) -> Option<Ref<'_, Force>>

Borrows element index in place. None when out of range.

Source

pub fn forces_mut(&mut self, index: usize) -> Option<RefMut<'_, Force>>

Source

pub fn forces_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Force>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_forces(&mut self, count: usize)

Source

pub fn warps_len(&self) -> usize

Warps (WRP_)

Source

pub fn warps(&self, index: usize) -> Option<Ref<'_, Warp>>

Borrows element index in place. None when out of range.

Source

pub fn warps_mut(&mut self, index: usize) -> Option<RefMut<'_, Warp>>

Source

pub fn warps_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Warp>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_warps(&mut self, count: usize)

Source

pub fn view_volumes_len(&self) -> usize

View volumes (VVOL)

Source

pub fn view_volumes(&self, index: usize) -> Option<Ref<'_, ViewVolume>>

Borrows element index in place. None when out of range.

Source

pub fn view_volumes_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ViewVolume>>

Source

pub fn view_volumes_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ViewVolume>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_view_volumes(&mut self, count: usize)

Source

pub fn rigid_bodies_len(&self) -> usize

Rigid bodies (PHRB)

Source

pub fn rigid_bodies(&self, index: usize) -> Option<Ref<'_, RigidBody>>

Borrows element index in place. None when out of range.

Source

pub fn rigid_bodies_mut( &mut self, index: usize, ) -> Option<RefMut<'_, RigidBody>>

Source

pub fn rigid_bodies_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, RigidBody>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_rigid_bodies(&mut self, count: usize)

Source

pub fn physics_constraints_len(&self) -> usize

Physics constraints (PHCT)

Source

pub fn physics_constraints( &self, index: usize, ) -> Option<Ref<'_, PhysicsConstraint>>

Borrows element index in place. None when out of range.

Source

pub fn physics_constraints_mut( &mut self, index: usize, ) -> Option<RefMut<'_, PhysicsConstraint>>

Source

pub fn physics_constraints_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, PhysicsConstraint>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_physics_constraints(&mut self, count: usize)

Source

pub fn physics_joints_len(&self) -> usize

Physics joints (PHYJ)

Source

pub fn physics_joints(&self, index: usize) -> Option<Ref<'_, PhysicsJoint>>

Borrows element index in place. None when out of range.

Source

pub fn physics_joints_mut( &mut self, index: usize, ) -> Option<RefMut<'_, PhysicsJoint>>

Source

pub fn physics_joints_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, PhysicsJoint>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_physics_joints(&mut self, count: usize)

Source

pub fn cloth_physics_len(&self) -> usize

Cloth physics (PHCL, v28+)

Source

pub fn cloth_physics(&self, index: usize) -> Option<Ref<'_, ClothPhysics>>

Borrows element index in place. None when out of range.

Source

pub fn cloth_physics_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ClothPhysics>>

Source

pub fn cloth_physics_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ClothPhysics>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_cloth_physics(&mut self, count: usize)

Source

pub fn ik_two_joints_len(&self) -> usize

Two-joint IK solvers (IK2J)

Source

pub fn ik_two_joints(&self, index: usize) -> Option<Ref<'_, IKTwoJoint>>

Borrows element index in place. None when out of range.

Source

pub fn ik_two_joints_mut( &mut self, index: usize, ) -> Option<RefMut<'_, IKTwoJoint>>

Source

pub fn ik_two_joints_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, IKTwoJoint>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_ik_two_joints(&mut self, count: usize)

Source

pub fn ik_ccd_len(&self) -> usize

CCD IK solvers (IKCC, v24+)

Source

pub fn ik_ccd(&self, index: usize) -> Option<Ref<'_, IKCCD>>

Borrows element index in place. None when out of range.

Source

pub fn ik_ccd_mut(&mut self, index: usize) -> Option<RefMut<'_, IKCCD>>

Source

pub fn ik_ccd_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, IKCCD>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_ik_ccd(&mut self, count: usize)

Source

pub fn ik_joints_len(&self) -> usize

IK joints (IKJT)

Source

pub fn ik_joints(&self, index: usize) -> Option<Ref<'_, IKJoint>>

Borrows element index in place. None when out of range.

Source

pub fn ik_joints_mut(&mut self, index: usize) -> Option<RefMut<'_, IKJoint>>

Source

pub fn ik_joints_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, IKJoint>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_ik_joints(&mut self, count: usize)

Source

pub fn one_bone_solvers_len(&self) -> usize

One-bone IK solvers (PAOB)

Source

pub fn one_bone_solvers(&self, index: usize) -> Option<Ref<'_, OneBoneSolver>>

Borrows element index in place. None when out of range.

Source

pub fn one_bone_solvers_mut( &mut self, index: usize, ) -> Option<RefMut<'_, OneBoneSolver>>

Source

pub fn one_bone_solvers_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, OneBoneSolver>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_one_bone_solvers(&mut self, count: usize)

Source

pub fn turret_behaviors_len(&self) -> usize

Turret behaviors (PATU)

Source

pub fn turret_behaviors(&self, index: usize) -> Option<Ref<'_, TurretBehavior>>

Borrows element index in place. None when out of range.

Source

pub fn turret_behaviors_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TurretBehavior>>

Source

pub fn turret_behaviors_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TurretBehavior>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_turret_behaviors(&mut self, count: usize)

Source

pub fn trigger_data_len(&self) -> usize

Trigger data (TRGD)

Source

pub fn trigger_data(&self, index: usize) -> Option<Ref<'_, TriggerData>>

Borrows element index in place. None when out of range.

Source

pub fn trigger_data_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TriggerData>>

Source

pub fn trigger_data_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TriggerData>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_trigger_data(&mut self, count: usize)

Source

pub fn initial_reference_len(&self) -> usize

Inverse bind-pose matrices (IREF)

Source

pub fn initial_reference( &self, index: usize, ) -> Option<Ref<'_, InitialReference>>

Borrows element index in place. None when out of range.

Source

pub fn initial_reference_mut( &mut self, index: usize, ) -> Option<RefMut<'_, InitialReference>>

Source

pub fn initial_reference_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, InitialReference>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_initial_reference(&mut self, count: usize)

Source

pub fn tight_hit_test_object(&self) -> Ref<'_, HitTestShape>

Tight hit-test shape (SSGS, inline) Borrows the field in place — no copy, no allocation.

Source

pub fn tight_hit_test_object_mut(&mut self) -> RefMut<'_, HitTestShape>

Source

pub fn fuzzy_hit_test_objects_len(&self) -> usize

Fuzzy hit-test shapes (SSGS)

Source

pub fn fuzzy_hit_test_objects( &self, index: usize, ) -> Option<Ref<'_, HitTestShape>>

Borrows element index in place. None when out of range.

Source

pub fn fuzzy_hit_test_objects_mut( &mut self, index: usize, ) -> Option<RefMut<'_, HitTestShape>>

Source

pub fn fuzzy_hit_test_objects_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, HitTestShape>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_fuzzy_hit_test_objects(&mut self, count: usize)

Source

pub fn attachment_volumes_len(&self) -> usize

Attachment volumes (ATVL)

Source

pub fn attachment_volumes( &self, index: usize, ) -> Option<Ref<'_, AttachmentVolume>>

Borrows element index in place. None when out of range.

Source

pub fn attachment_volumes_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AttachmentVolume>>

Source

pub fn attachment_volumes_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AttachmentVolume>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_attachment_volumes(&mut self, count: usize)

Source

pub fn attachment_volumes_addon_0(&self) -> &[u16]

Attachment volume addon 0 (U16_) Zero-copy view of the underlying std::vector.

Source

pub fn attachment_volumes_addon_0_mut(&mut self) -> &mut [u16]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_attachment_volumes_addon_0(&mut self, values: &[u16])

Source

pub fn resize_attachment_volumes_addon_0(&mut self, count: usize)

Source

pub fn attachment_volumes_addon_1(&self) -> &[u16]

Attachment volume addon 1 (U16_) Zero-copy view of the underlying std::vector.

Source

pub fn attachment_volumes_addon_1_mut(&mut self) -> &mut [u16]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_attachment_volumes_addon_1(&mut self, values: &[u16])

Source

pub fn resize_attachment_volumes_addon_1(&mut self, count: usize)

Source

pub fn billboard_behaviors_len(&self) -> usize

Billboard behaviors (BBSC)

Source

pub fn billboard_behaviors( &self, index: usize, ) -> Option<Ref<'_, BillboardBehavior>>

Borrows element index in place. None when out of range.

Source

pub fn billboard_behaviors_mut( &mut self, index: usize, ) -> Option<RefMut<'_, BillboardBehavior>>

Source

pub fn billboard_behaviors_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, BillboardBehavior>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_billboard_behaviors(&mut self, count: usize)

Source

pub fn trailing_models_len(&self) -> usize

Trailing models (TMD_, defunct)

Source

pub fn trailing_models(&self, index: usize) -> Option<Ref<'_, TrailingModel>>

Borrows element index in place. None when out of range.

Source

pub fn trailing_models_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TrailingModel>>

Source

pub fn trailing_models_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TrailingModel>>

Iterate the elements, borrowing each in turn.

Source

pub fn resize_trailing_models(&mut self, count: usize)

Source

pub fn m_3a_anim_hash(&self) -> u32

Hash for .m3a animation file binding

Source

pub fn set_m_3a_anim_hash(&mut self, value: u32)

Source

pub fn m_3a_anim_hashes(&self) -> &[u32]

Additional .m3a hashes (U32_) Zero-copy view of the underlying std::vector.

Source

pub fn m_3a_anim_hashes_mut(&mut self) -> &mut [u32]

Zero-copy mutable view. Resize first — the borrow forbids it after.

Source

pub fn set_m_3a_anim_hashes(&mut self, values: &[u32])

Source

pub fn resize_m_3a_anim_hashes(&mut self, count: usize)

Trait Implementations§

Source§

impl Debug for Model

Source§

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

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

impl Default for Model

Source§

fn default() -> Self

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

impl Drop for Model

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl Send for Model

Auto Trait Implementations§

§

impl !Sync for Model

§

impl Freeze for Model

§

impl RefUnwindSafe for Model

§

impl Unpin for Model

§

impl UnsafeUnpin for Model

§

impl UnwindSafe for Model

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.