pub struct CompoundBuilder<'a> { /* private fields */ }Expand description
Builder for Compound.
Borrowed hull and mesh inputs must outlive the builder until build is
called because Box3D reads them during compound creation.
Implementations§
Source§impl<'a> CompoundBuilder<'a>
impl<'a> CompoundBuilder<'a>
Sourcepub fn sphere(self, sphere: Sphere, material: SurfaceMaterial) -> Self
pub fn sphere(self, sphere: Sphere, material: SurfaceMaterial) -> Self
Adds a sphere child, storing any validation error until build.
Sourcepub fn with_sphere(
self,
sphere: Sphere,
material: SurfaceMaterial,
) -> Result<Self>
pub fn with_sphere( self, sphere: Sphere, material: SurfaceMaterial, ) -> Result<Self>
Adds a sphere child and returns validation errors immediately.
Sourcepub fn add_sphere(
&mut self,
sphere: Sphere,
material: SurfaceMaterial,
) -> Result<&mut Self>
pub fn add_sphere( &mut self, sphere: Sphere, material: SurfaceMaterial, ) -> Result<&mut Self>
Adds a sphere child to the builder in place.
Sourcepub fn capsule(self, capsule: Capsule, material: SurfaceMaterial) -> Self
pub fn capsule(self, capsule: Capsule, material: SurfaceMaterial) -> Self
Adds a capsule child, storing any validation error until build.
Sourcepub fn with_capsule(
self,
capsule: Capsule,
material: SurfaceMaterial,
) -> Result<Self>
pub fn with_capsule( self, capsule: Capsule, material: SurfaceMaterial, ) -> Result<Self>
Adds a capsule child and returns validation errors immediately.
Sourcepub fn add_capsule(
&mut self,
capsule: Capsule,
material: SurfaceMaterial,
) -> Result<&mut Self>
pub fn add_capsule( &mut self, capsule: Capsule, material: SurfaceMaterial, ) -> Result<&mut Self>
Adds a capsule child to the builder in place.
Sourcepub fn hull(
self,
hull: &'a Hull,
transform: impl Into<Transform>,
material: SurfaceMaterial,
) -> Self
pub fn hull( self, hull: &'a Hull, transform: impl Into<Transform>, material: SurfaceMaterial, ) -> Self
Adds a hull child, storing any validation error until build.
Sourcepub fn with_hull(
self,
hull: &'a Hull,
transform: impl Into<Transform>,
material: SurfaceMaterial,
) -> Result<Self>
pub fn with_hull( self, hull: &'a Hull, transform: impl Into<Transform>, material: SurfaceMaterial, ) -> Result<Self>
Adds a hull child and returns validation errors immediately.
Sourcepub fn add_hull(
&mut self,
hull: &'a Hull,
transform: impl Into<Transform>,
material: SurfaceMaterial,
) -> Result<&mut Self>
pub fn add_hull( &mut self, hull: &'a Hull, transform: impl Into<Transform>, material: SurfaceMaterial, ) -> Result<&mut Self>
Adds a hull child to the builder in place.
Sourcepub fn box_hull(
self,
hull: &'a BoxHull,
transform: impl Into<Transform>,
material: SurfaceMaterial,
) -> Self
pub fn box_hull( self, hull: &'a BoxHull, transform: impl Into<Transform>, material: SurfaceMaterial, ) -> Self
Adds a generated box hull child, storing any validation error until build.
Sourcepub fn with_box_hull(
self,
hull: &'a BoxHull,
transform: impl Into<Transform>,
material: SurfaceMaterial,
) -> Result<Self>
pub fn with_box_hull( self, hull: &'a BoxHull, transform: impl Into<Transform>, material: SurfaceMaterial, ) -> Result<Self>
Adds a generated box hull child and returns validation errors immediately.
Sourcepub fn add_box_hull(
&mut self,
hull: &'a BoxHull,
transform: impl Into<Transform>,
material: SurfaceMaterial,
) -> Result<&mut Self>
pub fn add_box_hull( &mut self, hull: &'a BoxHull, transform: impl Into<Transform>, material: SurfaceMaterial, ) -> Result<&mut Self>
Adds a generated box hull child to the builder in place.
Sourcepub fn mesh(
self,
mesh: &'a MeshData,
transform: impl Into<Transform>,
scale: impl Into<Vec3>,
materials: impl AsRef<[SurfaceMaterial]>,
) -> Self
pub fn mesh( self, mesh: &'a MeshData, transform: impl Into<Transform>, scale: impl Into<Vec3>, materials: impl AsRef<[SurfaceMaterial]>, ) -> Self
Adds a mesh child, storing any validation error until build.
Sourcepub fn with_mesh(
self,
mesh: &'a MeshData,
transform: impl Into<Transform>,
scale: impl Into<Vec3>,
materials: impl AsRef<[SurfaceMaterial]>,
) -> Result<Self>
pub fn with_mesh( self, mesh: &'a MeshData, transform: impl Into<Transform>, scale: impl Into<Vec3>, materials: impl AsRef<[SurfaceMaterial]>, ) -> Result<Self>
Adds a mesh child and returns validation errors immediately.
Sourcepub fn add_mesh(
&mut self,
mesh: &'a MeshData,
transform: impl Into<Transform>,
scale: impl Into<Vec3>,
materials: impl AsRef<[SurfaceMaterial]>,
) -> Result<&mut Self>
pub fn add_mesh( &mut self, mesh: &'a MeshData, transform: impl Into<Transform>, scale: impl Into<Vec3>, materials: impl AsRef<[SurfaceMaterial]>, ) -> Result<&mut Self>
Adds a mesh child to the builder in place.
materials must contain exactly mesh.material_count() entries and no
more than MAX_COMPOUND_MESH_MATERIALS entries.