pinocchio 4.1.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
broadphase.hpp
1//
2// Copyright (c) 2026 INRIA
3//
4
5#pragma once
6
7// IWYU pragma: begin_keep
8#include <Eigen/Core>
9#include <Eigen/Dense>
10
11#include <cstdint>
12#include <cstddef>
13#include <vector>
14#include <omp.h>
15
16#include "pinocchio/fwd.hpp"
17#include "pinocchio/eigen-common.hpp"
18#include "pinocchio/macros.hpp"
19
20#include "pinocchio/algorithm/geometry.hpp"
21
22#include "pinocchio/utils/openmp.hpp"
23
24#include "pinocchio/collision/pool/broadphase-manager.hpp"
25#include "pinocchio/collision/broadphase.hpp"
26// IWYU pragma: end_keep
27
28namespace pinocchio
29{
30 template<
31 typename BroadPhaseManagerDerived,
32 typename Scalar,
33 int Options,
34 template<typename, int> class JointCollectionTpl,
35 typename ConfigVectorPool,
36 typename CollisionVectorResult>
37 void computeCollisionsInParallel(
38 const size_t num_threads,
39 BroadPhaseManagerPoolBase<BroadPhaseManagerDerived, Scalar, Options, JointCollectionTpl> & pool,
40 const Eigen::MatrixBase<ConfigVectorPool> & q,
41 const Eigen::MatrixBase<CollisionVectorResult> & res,
42 const bool stopAtFirstCollisionInConfiguration = false,
43 const bool stopAtFirstCollisionInBatch = false);
44
49 template<
50 typename BroadPhaseManagerDerived,
51 typename Scalar,
52 int Options,
53 template<typename, int> class JointCollectionTpl>
54 void computeCollisionsInParallel(
55 const size_t num_threads,
56 BroadPhaseManagerPoolBase<BroadPhaseManagerDerived, Scalar, Options, JointCollectionTpl> & pool,
57 const std::vector<Eigen::MatrixXd> & trajectories,
58 std::vector<VectorXb> & res,
59 const bool stopAtFirstCollisionInTrajectory = false);
60
61} // namespace pinocchio
62
63// IWYU pragma: begin_exports
64#include "pinocchio/src/collision/parallel/broadphase.hxx"
65// IWYU pragma: end_exports
Main pinocchio namespace.
Definition treeview.dox:11