Go to the documentation of this file.
   38 #ifndef FCL_SHAPE_CONE_INL_H 
   39 #define FCL_SHAPE_CONE_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 * (0.1 * lz * lz + 3 * radius * radius / 20);
 
   94   S iz = 0.3 * V * radius * radius;
 
  100 template <
typename S>
 
  107 template <
typename S>
 
  111   std::vector<Vector3<S>> result(7);
 
  114   auto r2 = radius * 2 / std::sqrt(3.0);
 
  131 template <
typename S>
 
  134   std::stringstream ss;
 
  135   ss << std::setprecision(precision);
 
  136   ss << 
"Cone<" << S_str << 
">(" << radius << 
", " << lz << 
");";
 
  
static const char * value()
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
Base class for all basic geometric shapes.
Eigen::Matrix< S, 3, 1 > Vector3
Eigen::Matrix< S, 3, 3 > Matrix3
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...
Vector3< S > computeCOM() const override
static constexpr S pi()
The mathematical constant pi.
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
Matrix3< S > computeMomentofInertia() const override
S computeVolume() const override
NODE_TYPE
traversal node type: bounding volume (AABB, OBB, RSS, kIOS, OBBRSS, KDOP16, KDOP18,...
void computeLocalAABB() override
Compute AABB.
NODE_TYPE getNodeType() const override
Get node type: a cone.
template class FCL_EXPORT Cone< double >
fcl
Author(s): 
autogenerated on Fri Mar 14 2025 02:38:17