Go to the documentation of this file.
   38 #ifndef FCL_SHAPE_CYLINDER_INL_H 
   39 #define FCL_SHAPE_CYLINDER_INL_H 
   66   const Vector3<S> v_delta(radius, radius, 0.5 * lz);
 
   67   this->aabb_local.max_ = v_delta;
 
   68   this->aabb_local.min_ = -v_delta;
 
   70   this->aabb_center = this->aabb_local.center();
 
   71   this->aabb_radius = (this->aabb_local.min_ - this->aabb_center).norm();
 
   92   S V = computeVolume();
 
   93   S ix = V * (3 * radius * radius + lz * lz) / 12;
 
   94   S iz = V * radius * radius / 2;
 
  100 template <
typename S>
 
  104   std::vector<Vector3<S>> result(12);
 
  107   auto r2 = radius * 2 / std::sqrt(3.0);
 
  129 template <
typename S>
 
  132   std::stringstream ss;
 
  133   ss << std::setprecision(precision);
 
  134   ss << 
"Cylinder<" << S_str << 
">(" << radius << 
", " << lz << 
");";
 
  
static const char * value()
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
Base class for all basic geometric shapes.
void computeLocalAABB() override
Compute AABB.
Eigen::Matrix< S, 3, 1 > Vector3
Eigen::Matrix< S, 3, 3 > Matrix3
Cylinder(S radius, S lz)
Constructor.
NODE_TYPE getNodeType() const override
Get node type: a cylinder.
S computeVolume() const override
std::vector< Vector3< S > > getBoundVertices(const Transform3< S > &tf) const
get the vertices of some convex shape which can bound this shape in a specific configuration
template class FCL_EXPORT Cylinder< double >
static constexpr S pi()
The mathematical constant pi.
Matrix3< S > computeMomentofInertia() const override
std::string representation(int precision=20) const
Create a string that should be sufficient to recreate this shape. This is akin to the repr() implemen...
NODE_TYPE
traversal node type: bounding volume (AABB, OBB, RSS, kIOS, OBBRSS, KDOP16, KDOP18,...
fcl
Author(s): 
autogenerated on Fri Mar 14 2025 02:38:17