diff options
Diffstat (limited to 'src/pipeline')
| -rw-r--r-- | src/pipeline/debug_render_pipeline/debug_render_pipeline.rs | 7 | ||||
| -rw-r--r-- | src/pipeline/query_pipeline/mod.rs | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/pipeline/debug_render_pipeline/debug_render_pipeline.rs b/src/pipeline/debug_render_pipeline/debug_render_pipeline.rs index f2e23cd..4d1a21e 100644 --- a/src/pipeline/debug_render_pipeline/debug_render_pipeline.rs +++ b/src/pipeline/debug_render_pipeline/debug_render_pipeline.rs @@ -85,6 +85,7 @@ impl DebugRenderPipeline { } /// Render the scene. + #[profiling::function] pub fn render( &mut self, backend: &mut impl DebugRenderBackend, @@ -101,6 +102,7 @@ impl DebugRenderPipeline { } /// Render contact. + #[profiling::function] pub fn render_contacts( &mut self, backend: &mut impl DebugRenderBackend, @@ -167,6 +169,7 @@ impl DebugRenderPipeline { } /// Render only the joints from the scene. + #[profiling::function] pub fn render_joints( &mut self, backend: &mut impl DebugRenderBackend, @@ -249,6 +252,7 @@ impl DebugRenderPipeline { } /// Render only the rigid-bodies from the scene. + #[profiling::function] pub fn render_rigid_bodies( &mut self, backend: &mut impl DebugRenderBackend, @@ -288,6 +292,7 @@ impl DebugRenderPipeline { } /// Render only the colliders from the scene. + #[profiling::function] pub fn render_colliders( &mut self, backend: &mut impl DebugRenderBackend, @@ -351,6 +356,7 @@ impl DebugRenderPipeline { } #[cfg(feature = "dim2")] + #[profiling::function] fn render_shape( &mut self, object: DebugRenderObject, @@ -458,6 +464,7 @@ impl DebugRenderPipeline { } #[cfg(feature = "dim3")] + #[profiling::function] fn render_shape( &mut self, object: DebugRenderObject, diff --git a/src/pipeline/query_pipeline/mod.rs b/src/pipeline/query_pipeline/mod.rs index cd4ee49..6d41f4f 100644 --- a/src/pipeline/query_pipeline/mod.rs +++ b/src/pipeline/query_pipeline/mod.rs @@ -312,6 +312,7 @@ impl QueryPipeline { /// Update the query pipeline incrementally, avoiding a complete rebuild of its /// internal data-structure. + #[profiling::function] pub fn update_incremental( &mut self, colliders: &ColliderSet, @@ -353,6 +354,7 @@ impl QueryPipeline { /// volume generator. /// /// See [`generators`] for available generators. + #[profiling::function] pub fn update_with_generator(&mut self, mode: impl QbvhDataGenerator<ColliderHandle>) { self.qbvh.clear_and_rebuild(mode, self.dilation_factor); } @@ -368,6 +370,7 @@ impl QueryPipeline { /// it starts inside of a shape. If this `false` then the ray will hit the shape's boundary /// even if its starts inside of it. /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn cast_ray( &self, bodies: &RigidBodySet, @@ -395,6 +398,7 @@ impl QueryPipeline { /// it starts inside of a shape. If this `false` then the ray will hit the shape's boundary /// even if its starts inside of it. /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn cast_ray_and_get_normal( &self, bodies: &RigidBodySet, @@ -429,6 +433,7 @@ impl QueryPipeline { /// * `callback`: function executed on each collider for which a ray intersection has been found. /// There is no guarantees on the order the results will be yielded. If this callback returns `false`, /// this method will exit early, ignore any further raycast. + #[profiling::function] pub fn intersections_with_ray<'a>( &self, bodies: &'a RigidBodySet, @@ -465,6 +470,7 @@ impl QueryPipeline { /// * `shape_pos` - The position of the shape used for the intersection test. /// * `shape` - The shape used for the intersection test. /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn intersection_with_shape( &self, bodies: &RigidBodySet, @@ -501,6 +507,7 @@ impl QueryPipeline { /// (if the point is located inside of an hollow shape, it is projected on the shape's /// boundary). /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn project_point( &self, bodies: &RigidBodySet, @@ -526,6 +533,7 @@ impl QueryPipeline { /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. /// * `callback` - A function called with each collider with a shape /// containing the `point`. + #[profiling::function] pub fn intersections_with_point( &self, bodies: &RigidBodySet, @@ -562,6 +570,7 @@ impl QueryPipeline { /// (if the point is located inside of an hollow shape, it is projected on the shape's /// boundary). /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn project_point_and_get_feature( &self, bodies: &RigidBodySet, @@ -578,6 +587,7 @@ impl QueryPipeline { } /// Finds all handles of all the colliders with an [`Aabb`] intersecting the given [`Aabb`]. + #[profiling::function] pub fn colliders_with_aabb_intersecting_aabb( &self, aabb: &Aabb, @@ -604,6 +614,7 @@ impl QueryPipeline { /// the shape is penetrating another shape at its starting point **and** its trajectory is such /// that it’s on a path to exit that penetration state. /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn cast_shape( &self, bodies: &RigidBodySet, @@ -645,6 +656,7 @@ impl QueryPipeline { /// that normal) then the nonlinear shape-casting will attempt to find another impact, /// at a time `> start_time` that could result in tunnelling. /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. + #[profiling::function] pub fn nonlinear_cast_shape( &self, bodies: &RigidBodySet, @@ -680,6 +692,7 @@ impl QueryPipeline { /// * `shape` - The shape to test. /// * `filter`: set of rules used to determine which collider is taken into account by this scene query. /// * `callback` - A function called with the handles of each collider intersecting the `shape`. + #[profiling::function] pub fn intersections_with_shape( &self, bodies: &RigidBodySet, |
