Go to the documentation of this file.
38 #ifndef FCL_SHAPE_SPHERE_INL_H
39 #define FCL_SHAPE_SPHERE_INL_H
64 this->aabb_local.max_.setConstant(radius);
65 this->aabb_local.min_.setConstant(-radius);
67 this->aabb_center = this->aabb_local.center();
68 this->aabb_radius = radius;
81 S I = (
S)0.4 * radius * radius * computeVolume();
100 std::vector<Vector3<S>> result(12);
101 const auto m = (1 + std::sqrt(5.0)) / 2.0;
102 auto edge_size = radius * 6 / (std::sqrt(27.0) + std::sqrt(15.0));
105 auto b = m * edge_size;
123 template <
typename S>
126 std::stringstream ss;
127 ss << std::setprecision(precision);
128 ss <<
"Sphere<" << S_str <<
">(" << radius <<
");";
template class FCL_EXPORT Sphere< double >
static const char * value()
Eigen::Transform< S, 3, Eigen::Isometry > Transform3
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 getNodeType() const override
Get node type: a sphere.
S computeVolume() const override
Base class for all basic geometric shapes.
Eigen::Matrix< S, 3, 1 > Vector3
Eigen::Matrix< S, 3, 3 > Matrix3
void computeLocalAABB() override
Compute AABB
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
static constexpr S pi()
The mathematical constant pi.
NODE_TYPE
traversal node type: bounding volume (AABB, OBB, RSS, kIOS, OBBRSS, KDOP16, KDOP18,...
fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:48