16 #ifndef SURGSIM_MATH_PARTICLESSHAPE_H 17 #define SURGSIM_MATH_PARTICLESSHAPE_H 30 namespace DataStructures
38 SURGSIM_STATIC_REGISTRATION(ParticlesShape);
68 const std::shared_ptr<const SurgSim::DataStructures::AabbTree> getAabbTree()
const;
72 void setRadius(
double radius);
76 double getRadius()
const;
78 int getType()
const override;
80 double getVolume()
const override;
84 Matrix33d getSecondMomentOfVolume()
const override;
86 std::shared_ptr<Shape> getTransformed(
const RigidTransform3d& pose)
const override;
90 bool isTransformable()
const override;
95 bool doUpdate()
override;
98 std::shared_ptr<SurgSim::DataStructures::AabbTree>
m_aabbTree;
118 #endif // SURGSIM_MATH_PARTICLESSHAPE_H double m_radius
Particles' radius.
Definition: ParticlesShape.h:101
Definition: CompoundShapeToGraphics.cpp:29
::SurgSim::Math::Vector3d Vector3d
Definition: Shape.h:68
double m_volume
Total volume of particles.
Definition: ParticlesShape.h:107
Matrix33d m_secondMomentOfVolume
Second moment of volume.
Definition: ParticlesShape.h:110
#define SURGSIM_CLASSNAME(ClassName)
Declare the class name of a class with the appropriate function header, do not use quotes...
Definition: Macros.h:21
bool isValid(float value)
Check if a float value is valid.
Definition: Valid-inl.h:98
Eigen::AlignedBox< double, 3 > Aabbd
Wrapper around the Eigen type.
Definition: Aabb.h:30
Definitions of small fixed-size square matrix types.
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
Definitions of small fixed-size vector types.
Vector3d m_center
Volumetric center of particles.
Definition: ParticlesShape.h:104
::SurgSim::Math::Matrix33d Matrix33d
Definition: Shape.h:69
std::shared_ptr< SurgSim::DataStructures::AabbTree > m_aabbTree
The aabb tree of the ParticlesShape.
Definition: ParticlesShape.h:98
Base class for mesh structures, handling basic vertex functionality.
Definition: Vertices.h:51
Particles Shape: A shape consisting of a group of particles of equal radius.
Definition: ParticlesShape.h:41
Generic rigid shape class defining a shape.
Definition: Shape.h:65