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 (+materialAddData): 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

Model flags (tangents, FOW, instancing, etc.)

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 material_add_data_len(&self) -> usize

Buffer material data (MADD, v30+)

Source

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

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

Source

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

Source

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

Iterate the elements, borrowing each in turn.

Source

pub fn resize_material_add_data(&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 = 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>,

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.