Go to the documentation of this file.
5 #ifndef __pinocchio_multibody_pool_geometry_hpp__
6 #define __pinocchio_multibody_pool_geometry_hpp__
13 template<
typename _Scalar,
int _Options,
template<
typename,
int>
class JointCollectionTpl>
14 class GeometryPoolTpl :
public ModelPoolTpl<_Scalar, _Options, JointCollectionTpl>
17 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45 const size_t pool_size = (
size_t)omp_get_max_threads())
50 for (
size_t k = 0; k < pool_size; ++k)
70 const size_t pool_size = other.size();
73 for (
size_t k = 0; k < pool_size; ++k)
85 "Index greater than the size of the geometry_models vector.");
94 "Index greater than the size of the geometry_models vector.");
103 "Index greater than the size of the geometry_datas vector.");
112 "Index greater than the size of the geometry_datas vector.");
145 void sync(
const GeometryModel & geometry_model,
const std::vector<GeomIndex> & geometry_indexes)
150 "One of the given geometry index is greater than geometry_model.ngeoms.");
155 geometry_model_pool.geometryObjects[
i] = geometry_model.
geometryObjects[
i].clone();
168 geometry_data.oMg = geometry_data_to_copy.oMg;
170 geometry_data.distanceRequests = geometry_data_to_copy.distanceRequests;
171 geometry_data.collisionRequests = geometry_data_to_copy.collisionRequests;
172 geometry_data.collisionPairIndex = geometry_data_to_copy.collisionPairIndex;
189 const size_t current_size = (size_t)
size();
192 if (current_size < new_size)
194 for (
size_t k = current_size; k < new_size; ++k)
205 #endif // ifndef __pinocchio_multibody_pool_geometry_hpp__
const GeometryModelVector & getGeometryModels() const
Returns the vector of Geometry Model.
GeometryModel clone() const
Create a deep copy of *this.
Base::ModelVector ModelVector
const GeometryData & getGeometryData(const size_t index) const
Returns the geometry_data at given index.
GeometryPoolTpl(const Model &model, const GeometryModel &geometry_model, const size_t pool_size=(size_t) omp_get_max_threads())
Default constructor from a model and a pool size.
#define PINOCCHIO_CHECK_INPUT_ARGUMENT(...)
Macro to check an assert-like condition and throw a std::invalid_argument exception (with a message) ...
std::vector< GeometryModel, Eigen::aligned_allocator< GeometryModel > > GeometryModelVector
virtual ~GeometryPoolTpl()
 
::pinocchio::GeometryData GeometryData
GeometryModel & getGeometryModel(const size_t index)
Returns the geometry_model at given index.
GeometryPoolTpl(const GeometryPoolTpl &other)
Copy constructor from an other GeometryPoolTpl.
Base::DataVector DataVector
GeometryModelVector m_geometry_models
Vector of Geometry Model associated to the pool.
ModelTpl< Scalar, Options > Model
virtual void update(const GeometryData &geometry_data_to_copy)
Update the geometry datas with the new value.
GeometryObjectVector geometryObjects
Vector of GeometryObjects used for collision computations.
DataTpl< Scalar, Options > Data
GeometryData & getGeometryData(const size_t index)
Returns the geometry_data at given index.
std::vector< bool > activeCollisionPairs
Vector of collision pairs.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef ModelPoolTpl< _Scalar, _Options, JointCollectionTpl > Base
::pinocchio::GeometryModel GeometryModel
GeometryDataVector m_geometry_datas
Vector of Geometry Data associated to the pool.
const GeometryModel & getGeometryModel(const size_t index) const
Returns the geometry_model at given index.
Index ngeoms
The number of GeometryObjects.
AABB & update(const Vec3f &a, const Vec3f &b)
std::vector< GeometryData, Eigen::aligned_allocator< GeometryData > > GeometryDataVector
const GeometryDataVector & getGeometryDatas() const
Returns the vector of Geometry Data.
GeometryModelVector & getGeometryModels()
Returns the vector of Geometry Model.
GeometryDataVector & getGeometryDatas()
Returns the vector of Geometry Data.
virtual void doResize(const size_t new_size)
 
void sync(const GeometryModel &geometry_model, const std::vector< GeomIndex > &geometry_indexes)
Synchronize the internal geometry models with the input geometry for all given geometry indexes by cl...
SE3Tpl< context::Scalar, context::Options > SE3
JointCollectionTpl & model
Main pinocchio namespace.
pinocchio
Author(s):
autogenerated on Fri Nov 1 2024 02:41:44