Go to the documentation of this file.
16 #ifndef SURGSIM_MATH_SHAPE_H
17 #define SURGSIM_MATH_SHAPE_H
121 pose = Math::RigidTransform3d::Identity();
150 this->first = posedShapeFirst;
151 this->second = posedShapeSecond;
156 this->first.invalidate();
157 this->second.invalidate();
164 #endif // SURGSIM_MATH_SHAPE_H
virtual ~Shape()
Destructor.
Definition: Shape.cpp:31
ShapeDirection
Type defining the shape direction for certain templatized shape (i.e.
Definition: Shape.h:36
Math::Aabbd m_aabb
Definition: Shape.h:112
@ SHAPE_TYPE_SEGMENTMESH
Definition: Shape.h:57
@ SHAPE_TYPE_BOX
Definition: Shape.h:47
virtual std::shared_ptr< Shape > getTransformed(const RigidTransform3d &pose) const
Get a copy of this shape with an applied rigid transform.
Definition: Shape.cpp:40
Definitions of small fixed-size vector types.
PosedShape(const T &shapeInput, const Math::RigidTransform3d &poseInput)
Definition: Shape.h:123
PosedShapeMotion(const PosedShape< T > &posedShapeFirst, const PosedShape< T > &posedShapeSecond)
Definition: Shape.h:148
@ SHAPE_DIRECTION_AXIS_Z
Definition: Shape.h:39
virtual bool isValid() const =0
Check if the shape is valid.
PosedShapeMotion()
Definition: Shape.h:147
PosedShapeMotion is embedding the motion of a PosedShape, providing a posed shape at 2 different inst...
Definition: Shape.h:146
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
@ SHAPE_TYPE_DOUBLESIDEDPLANE
Definition: Shape.h:50
::SurgSim::Math::Matrix33d Matrix33d
Definition: Shape.h:69
PosedShape is a transformed shape with a record of the pose used to transform it.
Definition: Shape.h:118
virtual std::string getClassName() const
Get class name.
Definition: Shape.cpp:47
Definitions of small fixed-size square matrix types.
@ SHAPE_TYPE_SPHERE
Definition: Shape.h:55
@ SHAPE_TYPE_PARTICLES
Definition: Shape.h:53
@ SHAPE_TYPE_CYLINDER
Definition: Shape.h:49
virtual Vector3d getCenter() const =0
Get the volumetric center of the shape.
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:57
Definition: CompoundShapeToGraphics.cpp:30
void invalidate()
Definition: Shape.h:154
virtual const Math::Aabbd & getBoundingBox() const
Definition: Shape.cpp:55
ShapeType
Fixed List of enums for the available Shape types, do not explicitly assign values,...
Definition: Shape.h:45
Math::RigidTransform3d pose
Definition: Shape.h:140
@ SHAPE_TYPE_NONE
Definition: Shape.h:46
Mixin class for enabling a property system on OSS classes, the instance still needs to initialize pro...
Definition: Accessible.h:38
@ SHAPE_DIRECTION_AXIS_Y
Definition: Shape.h:38
PosedShape()
Definition: Shape.h:119
Eigen::Matrix< double, 3, 3, Eigen::RowMajor > Matrix33d
A 3x3 matrix of doubles.
Definition: Matrix.h:51
Eigen::AlignedBox< double, 3 > Aabbd
Wrapper around the Eigen type.
Definition: Aabb.h:30
@ SHAPE_TYPE_MESH
Definition: Shape.h:51
@ SHAPE_TYPE_OCTREE
Definition: Shape.h:52
@ SHAPE_TYPE_COMPOUNDSHAPE
Definition: Shape.h:58
const T & getShape() const
Definition: Shape.h:129
virtual bool isTransformable() const
Definition: Shape.cpp:35
CRTP Base class to implement Object Factory functionality on a base class, use this rather than writi...
Definition: ObjectFactory.h:123
@ SHAPE_TYPE_PLANE
Definition: Shape.h:54
virtual double getVolume() const =0
Get the volume of the shape.
const Math::RigidTransform3d & getPose() const
Definition: Shape.h:133
Generic rigid shape class defining a shape.
Definition: Shape.h:66
::SurgSim::Math::Vector3d Vector3d
Definition: Shape.h:68
void invalidate()
Definition: Shape.h:125
virtual int getType() const =0
@ SHAPE_DIRECTION_AXIS_X
Definition: Shape.h:37
Shape()
Constructor.
Definition: Shape.cpp:26
virtual Matrix33d getSecondMomentOfVolume() const =0
Get the second central moment of the volume, commonly used to calculate the moment of inertia matrix.
@ SHAPE_TYPE_SURFACEMESH
Definition: Shape.h:56
@ SHAPE_TYPE_CAPSULE
Definition: Shape.h:48
T shape
Definition: Shape.h:139
string(TOUPPER ${DEVICE} DEVICE_UPPER_CASE) option(BUILD_DEVICE_$
Definition: CMakeLists.txt:38
@ SHAPE_TYPE_COUNT
Definition: Shape.h:59