<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>aabb.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>aabb_8cpp</filename>
    <includes id="aabb_8h" name="aabb.h" local="no" imported="no">geometric_shapes/aabb.h</includes>
  </compound>
  <compound kind="file">
    <name>aabb.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>aabb_8h</filename>
    <class kind="class">bodies::AABB</class>
    <namespace>bodies</namespace>
  </compound>
  <compound kind="file">
    <name>bodies.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>bodies_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="yes" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="yes" imported="no">geometric_shapes/body_operations.h</includes>
    <includes id="check__isometry_8h" name="check_isometry.h" local="yes" imported="no">geometric_shapes/check_isometry.h</includes>
    <class kind="struct">bodies::detail::intersc</class>
    <class kind="struct">bodies::detail::interscOrder</class>
    <namespace>bodies</namespace>
    <namespace>bodies::detail</namespace>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>distanceSQR</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a0cbe2c15ef7eb2454b810dd45203618a</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>filterIntersections</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a05d4332b3d5d82b20ff3cb0f909fcbc2</anchor>
      <arglist>(std::vector&lt; detail::intersc &gt; &amp;ipts, EigenSTL::vector_Vector3d *intersections, const size_t count)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::map&lt; size_t, size_t &gt; &amp;</type>
      <name>getTriangleForPlane</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a16f7804ed70c38e4263adb1e15c14c15</anchor>
      <arglist>(const ConvexMesh *mesh)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>normalize</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>ab88541fe95e24869665080430c1b41ed</anchor>
      <arglist>(const Eigen::Vector3d &amp;dir)</arglist>
    </member>
    <member kind="variable">
      <type>std::unordered_map&lt; const ConvexMesh *, std::map&lt; size_t, size_t &gt; &gt;</type>
      <name>g_triangle_for_plane_</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a0540c89340d12bf51c1f82c7c04ad50d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::mutex</type>
      <name>g_triangle_for_plane_mutex</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>aef220cb0c5cfc539a3338b0eab3751f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>ZERO</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a71a11264e1fc6c25eb27f02185f1a892</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>bodies.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>bodies_8h</filename>
    <includes id="aabb_8h" name="aabb.h" local="yes" imported="no">geometric_shapes/aabb.h</includes>
    <includes id="obb_8h" name="obb.h" local="yes" imported="no">geometric_shapes/obb.h</includes>
    <includes id="shapes_8h" name="shapes.h" local="yes" imported="no">geometric_shapes/shapes.h</includes>
    <class kind="class">bodies::Body</class>
    <class kind="class">bodies::BodyVector</class>
    <class kind="struct">bodies::BoundingCylinder</class>
    <class kind="struct">bodies::BoundingSphere</class>
    <class kind="class">bodies::Box</class>
    <class kind="class">bodies::ConvexMesh</class>
    <class kind="class">bodies::Cylinder</class>
    <class kind="struct">bodies::ConvexMesh::MeshData</class>
    <class kind="class">bodies::Sphere</class>
    <namespace>bodies</namespace>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Body &gt;</type>
      <name>BodyConstPtr</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a050f3e79a9237d24ec7fddf581351191</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Body &gt;</type>
      <name>BodyPtr</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a7052acbf495412cba0429e7464bea421</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>body_operations.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>body__operations_8cpp</filename>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <includes id="check__isometry_8h" name="check_isometry.h" local="no" imported="no">geometric_shapes/check_isometry.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <namespace>bodies</namespace>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsgHelper</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a560ff06af99e61aa156cd4d4213d8474</anchor>
      <arglist>(const T &amp;shape_msg, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>body_operations.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>body__operations_8h</filename>
    <includes id="shapes_8h" name="shapes.h" local="yes" imported="no">geometric_shapes/shapes.h</includes>
    <includes id="bodies_8h" name="bodies.h" local="yes" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="shape__messages_8h" name="shape_messages.h" local="yes" imported="no">geometric_shapes/shape_messages.h</includes>
    <namespace>bodies</namespace>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a768b2d7cfb14ee44ad09663cb5ecf28f</anchor>
      <arglist>(const std::vector&lt; const Body *&gt; &amp;bodies, BoundingSphere &amp;mergedSphere)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsg</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>aecdad149aaffd5746f3de5d1ce5d3d8f</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsg</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a35adfe9f5f5236259a16a11f633ce9fb</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsg</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a72c7f45a357c9a4f7f9161021c401913</anchor>
      <arglist>(const shapes::ShapeMsg &amp;shape, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>constructMarkerFromBody</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a7c6f383d63edbbff673a16615ae32c15</anchor>
      <arglist>(const bodies::Body *body, visualization_msgs::Marker &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>shapes::ShapeConstPtr</type>
      <name>constructShapeFromBody</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a30529e9655f4db725753d0e1b4c69bd7</anchor>
      <arglist>(const bodies::Body *body)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>createBodyFromShape</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>abf617e7be8a3078bc4f5a0b9b7bc5b8f</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>createEmptyBodyFromShapeType</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>ac79f838d8913cb4082d0acfdd76af00d</anchor>
      <arglist>(const shapes::ShapeType &amp;shapeType)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeBoundingBoxes</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>af16c692d644e6c7b0383b56d63d7e1e3</anchor>
      <arglist>(const std::vector&lt; AABB &gt; &amp;boxes, AABB &amp;mergedBox)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeBoundingBoxesApprox</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a906efd15235fdf3cb1518fbea03ea56f</anchor>
      <arglist>(const std::vector&lt; OBB &gt; &amp;boxes, OBB &amp;mergedBox)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeBoundingSpheres</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>aabddd5487778a25ecff184c78702306c</anchor>
      <arglist>(const std::vector&lt; BoundingSphere &gt; &amp;spheres, BoundingSphere &amp;mergedSphere)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>check_isometry.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>check__isometry_8h</filename>
    <member kind="define">
      <type>#define</type>
      <name>ASSERT_ISOMETRY</name>
      <anchorfile>check__isometry_8h.html</anchorfile>
      <anchor>add2ae0c04a5eb46efc15d0c1961d4212</anchor>
      <arglist>(transform)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CHECK_ISOMETRY_PRECISION</name>
      <anchorfile>check__isometry_8h.html</anchorfile>
      <anchor>a1e4e9c068addd6a0d9fd08071fa4e1fc</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>checkIsometry</name>
      <anchorfile>check__isometry_8h.html</anchorfile>
      <anchor>a136451dba153add65f0d7d7ff62cd2c3</anchor>
      <arglist>(const Eigen::Isometry3d &amp;transform, const double precision=CHECK_ISOMETRY_PRECISION, const bool printError=true)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>mesh_operations.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>mesh__operations_8cpp</filename>
    <includes id="mesh__operations_8h" name="mesh_operations.h" local="yes" imported="no">geometric_shapes/mesh_operations.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="yes" imported="no">geometric_shapes/shape_operations.h</includes>
    <namespace>shapes</namespace>
    <namespace>shapes::detail</namespace>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromAsset</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a45ac8dc499dcca9b4d2ce5b1e4ceff5e</anchor>
      <arglist>(const aiScene *scene, const Eigen::Vector3d &amp;scale, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromAsset</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a05ddfa7af3ff72e05dea89b8a2d932e0</anchor>
      <arglist>(const aiScene *scene, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a693232dbe21b0d92d7b08d7bca945a35</anchor>
      <arglist>(const char *buffer, std::size_t size, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7cd215791cfc18e5b1311ac833202a1f</anchor>
      <arglist>(const char *buffer, std::size_t size, const Eigen::Vector3d &amp;scale, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromResource</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ac8bcf235bea4d4cd524651eee07b0c92</anchor>
      <arglist>(const std::string &amp;resource)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromResource</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a0747930a810548cc02dc9b8ed0d59ed0</anchor>
      <arglist>(const std::string &amp;resource, const Eigen::Vector3d &amp;scale)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ab4a4c0028accac7c62bf9c6e5f533a27</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a9f2861755d6e56fffc98113c8b04e82b</anchor>
      <arglist>(const Box &amp;box)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7047c069af85c7f67d272900ded32da4</anchor>
      <arglist>(const Sphere &amp;sphere)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae4268bd5eca2b03f5ed7859f6f24bbc5</anchor>
      <arglist>(const Cylinder &amp;cylinder)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a40dfb4700bbc77bef3a9ee0abc93532e</anchor>
      <arglist>(const Cone &amp;cone)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromVertices</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a4673bed87156e1a65aebc1ea91670d84</anchor>
      <arglist>(const EigenSTL::vector_Vector3d &amp;vertices, const std::vector&lt; unsigned int &gt; &amp;triangles)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromVertices</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad6c414d8c0d07f8e631470ed1c6fa4d8</anchor>
      <arglist>(const EigenSTL::vector_Vector3d &amp;source)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSTLBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a05f5274afb0b12fa09adc84c0977c6e2</anchor>
      <arglist>(const Mesh *mesh, std::vector&lt; char &gt; &amp;buffer)</arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>index</name>
      <anchorfile>mesh__operations_8cpp.html</anchorfile>
      <anchor>a589d64202487f78e3cc30dd2e04c5201</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>x</name>
      <anchorfile>mesh__operations_8cpp.html</anchorfile>
      <anchor>af88b946fb90d5f08b5fb740c70e98c10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>y</name>
      <anchorfile>mesh__operations_8cpp.html</anchorfile>
      <anchor>ab927965981178aa1fba979a37168db2a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>z</name>
      <anchorfile>mesh__operations_8cpp.html</anchorfile>
      <anchor>ab3e6ed577a7c669c19de1f9c1b46c872</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>mesh_operations.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>mesh__operations_8h</filename>
    <includes id="shapes_8h" name="shapes.h" local="yes" imported="no">geometric_shapes/shapes.h</includes>
    <namespace>shapes</namespace>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromAsset</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a45ac8dc499dcca9b4d2ce5b1e4ceff5e</anchor>
      <arglist>(const aiScene *scene, const Eigen::Vector3d &amp;scale, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromAsset</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a05ddfa7af3ff72e05dea89b8a2d932e0</anchor>
      <arglist>(const aiScene *scene, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a693232dbe21b0d92d7b08d7bca945a35</anchor>
      <arglist>(const char *buffer, std::size_t size, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7cd215791cfc18e5b1311ac833202a1f</anchor>
      <arglist>(const char *buffer, std::size_t size, const Eigen::Vector3d &amp;scale, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromResource</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ac8bcf235bea4d4cd524651eee07b0c92</anchor>
      <arglist>(const std::string &amp;resource)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromResource</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a0747930a810548cc02dc9b8ed0d59ed0</anchor>
      <arglist>(const std::string &amp;resource, const Eigen::Vector3d &amp;scale)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ab4a4c0028accac7c62bf9c6e5f533a27</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a9f2861755d6e56fffc98113c8b04e82b</anchor>
      <arglist>(const Box &amp;box)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7047c069af85c7f67d272900ded32da4</anchor>
      <arglist>(const Sphere &amp;sphere)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae4268bd5eca2b03f5ed7859f6f24bbc5</anchor>
      <arglist>(const Cylinder &amp;cylinder)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a40dfb4700bbc77bef3a9ee0abc93532e</anchor>
      <arglist>(const Cone &amp;cone)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromVertices</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a4673bed87156e1a65aebc1ea91670d84</anchor>
      <arglist>(const EigenSTL::vector_Vector3d &amp;vertices, const std::vector&lt; unsigned int &gt; &amp;triangles)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromVertices</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad6c414d8c0d07f8e631470ed1c6fa4d8</anchor>
      <arglist>(const EigenSTL::vector_Vector3d &amp;source)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSTLBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a05f5274afb0b12fa09adc84c0977c6e2</anchor>
      <arglist>(const Mesh *mesh, std::vector&lt; char &gt; &amp;buffer)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>obb.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>obb_8cpp</filename>
    <includes id="obb_8h" name="obb.h" local="no" imported="no">geometric_shapes/obb.h</includes>
    <class kind="class">bodies::OBBPrivate</class>
    <namespace>bodies</namespace>
    <member kind="typedef">
      <type>fcl::OBB</type>
      <name>FCL_OBB</name>
      <anchorfile>obb_8cpp.html</anchorfile>
      <anchor>a761bb68d64ce7d9123419ca72dfa6de7</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>fcl::Vec3f</type>
      <name>FCL_Vec3</name>
      <anchorfile>obb_8cpp.html</anchorfile>
      <anchor>a4c591a6cefbb37605140dfe79158e72d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>fromFcl</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a6c0c622bfdc03e182e8a676b91305c09</anchor>
      <arglist>(const FCL_Vec3 &amp;fclVec)</arglist>
    </member>
    <member kind="function">
      <type>FCL_Vec3</type>
      <name>toFcl</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a97bc488055f3bdcf69b15cf531ef8fa0</anchor>
      <arglist>(const Eigen::Vector3d &amp;eigenVec)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>obb.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>obb_8h</filename>
    <includes id="aabb_8h" name="aabb.h" local="no" imported="no">geometric_shapes/aabb.h</includes>
    <class kind="class">bodies::OBB</class>
    <namespace>bodies</namespace>
  </compound>
  <compound kind="file">
    <name>shape_extents.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>shape__extents_8cpp</filename>
    <includes id="shape__extents_8h" name="shape_extents.h" local="no" imported="no">geometric_shapes/shape_extents.h</includes>
    <includes id="solid__primitive__dims_8h" name="solid_primitive_dims.h" local="no" imported="no">geometric_shapes/solid_primitive_dims.h</includes>
  </compound>
  <compound kind="file">
    <name>shape_extents.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>shape__extents_8h</filename>
    <namespace>geometric_shapes</namespace>
    <member kind="function">
      <type>void</type>
      <name>getShapeExtents</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>a661fade87b7d82f8ce3f24cb6d803ff1</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg, double &amp;x_extent, double &amp;y_extent, double &amp;z_extent)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getShapeExtents</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>a221bf55dda51162f99618f2a51b439f0</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg, double &amp;x_extent, double &amp;y_extent, double &amp;z_extent)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shape_messages.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>shape__messages_8h</filename>
    <namespace>shapes</namespace>
    <member kind="typedef">
      <type>boost::variant&lt; shape_msgs::SolidPrimitive, shape_msgs::Mesh, shape_msgs::Plane &gt;</type>
      <name>ShapeMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad733056c21f8393cb898630e512ffd10</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shape_operations.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>shape__operations_8cpp</filename>
    <includes id="shape__operations_8h" name="shape_operations.h" local="yes" imported="no">geometric_shapes/shape_operations.h</includes>
    <includes id="shape__to__marker_8h" name="shape_to_marker.h" local="no" imported="no">geometric_shapes/shape_to_marker.h</includes>
    <includes id="shape__extents_8h" name="shape_extents.h" local="no" imported="no">geometric_shapes/shape_extents.h</includes>
    <includes id="solid__primitive__dims_8h" name="solid_primitive_dims.h" local="no" imported="no">geometric_shapes/solid_primitive_dims.h</includes>
    <namespace>shapes</namespace>
    <member kind="function">
      <type>void</type>
      <name>computeShapeBoundingSphere</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae4414a80a94fa6a8dad3f3de9be9b15d</anchor>
      <arglist>(const Shape *shape, Eigen::Vector3d &amp;center, double &amp;radius)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>computeShapeExtents</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aea7e0916996263f3b1d73000a16d89aa</anchor>
      <arglist>(const ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>computeShapeExtents</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aa36c2f3d20d9970c60058276fe0e810c</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a0aaee41a2e8e5111cb37d7bd076e9b8d</anchor>
      <arglist>(const Shape *shape, visualization_msgs::Marker &amp;mk, bool use_mesh_triangle_list=false)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>constructMsgFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>af2fafa8168f92f2ed5c9ae3748d0f032</anchor>
      <arglist>(const Shape *shape, ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7824b8686f01fa2f7e50e970a1466823</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a729b444c0ec91afa656aabd53c3ce814</anchor>
      <arglist>(const shape_msgs::Plane &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad360695f21e256950f44d5bad693d62f</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aa7e5677850d893e3fbce1f0f17af3dc4</anchor>
      <arglist>(const ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromText</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a9e50a80063122de1d81aa7889532d62f</anchor>
      <arglist>(std::istream &amp;in)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>saveAsText</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a1b88439464535790e61896034563fe5b</anchor>
      <arglist>(const Shape *shape, std::ostream &amp;out)</arglist>
    </member>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>shapeStringName</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>abe8c39046e7fa1e040cd32676ea5abe3</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>visualization_msgs::Marker *</type>
      <name>marker_</name>
      <anchorfile>shape__operations_8cpp.html</anchorfile>
      <anchor>a1160c141d461e39a017b536b8ee0ca22</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>use_mesh_triangle_list_</name>
      <anchorfile>shape__operations_8cpp.html</anchorfile>
      <anchor>aa3debe42627849a84d618047edeeda5a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shape_operations.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>shape__operations_8h</filename>
    <includes id="shapes_8h" name="shapes.h" local="yes" imported="no">geometric_shapes/shapes.h</includes>
    <includes id="shape__messages_8h" name="shape_messages.h" local="yes" imported="no">geometric_shapes/shape_messages.h</includes>
    <includes id="mesh__operations_8h" name="mesh_operations.h" local="yes" imported="no">geometric_shapes/mesh_operations.h</includes>
    <namespace>shapes</namespace>
    <member kind="function">
      <type>void</type>
      <name>computeShapeBoundingSphere</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae4414a80a94fa6a8dad3f3de9be9b15d</anchor>
      <arglist>(const Shape *shape, Eigen::Vector3d &amp;center, double &amp;radius)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>computeShapeExtents</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aea7e0916996263f3b1d73000a16d89aa</anchor>
      <arglist>(const ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>computeShapeExtents</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aa36c2f3d20d9970c60058276fe0e810c</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a0aaee41a2e8e5111cb37d7bd076e9b8d</anchor>
      <arglist>(const Shape *shape, visualization_msgs::Marker &amp;mk, bool use_mesh_triangle_list=false)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>constructMsgFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>af2fafa8168f92f2ed5c9ae3748d0f032</anchor>
      <arglist>(const Shape *shape, ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7824b8686f01fa2f7e50e970a1466823</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a729b444c0ec91afa656aabd53c3ce814</anchor>
      <arglist>(const shape_msgs::Plane &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad360695f21e256950f44d5bad693d62f</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aa7e5677850d893e3fbce1f0f17af3dc4</anchor>
      <arglist>(const ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromText</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a9e50a80063122de1d81aa7889532d62f</anchor>
      <arglist>(std::istream &amp;in)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>saveAsText</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a1b88439464535790e61896034563fe5b</anchor>
      <arglist>(const Shape *shape, std::ostream &amp;out)</arglist>
    </member>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>shapeStringName</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>abe8c39046e7fa1e040cd32676ea5abe3</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shape_to_marker.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>shape__to__marker_8cpp</filename>
    <includes id="shape__to__marker_8h" name="shape_to_marker.h" local="no" imported="no">geometric_shapes/shape_to_marker.h</includes>
    <includes id="solid__primitive__dims_8h" name="solid_primitive_dims.h" local="no" imported="no">geometric_shapes/solid_primitive_dims.h</includes>
  </compound>
  <compound kind="file">
    <name>shape_to_marker.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>shape__to__marker_8h</filename>
    <namespace>geometric_shapes</namespace>
    <member kind="function">
      <type>void</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>a043808675d83896b09a83ef5c69ba018</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg, visualization_msgs::Marker &amp;marker, bool use_mesh_triangle_list=true)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>acb2c4ce33443c5341db25111e46eb779</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg, visualization_msgs::Marker &amp;marker)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shapes.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/src/</path>
    <filename>shapes_8cpp</filename>
    <includes id="shapes_8h" name="shapes.h" local="yes" imported="no">geometric_shapes/shapes.h</includes>
    <namespace>shapes</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a55cad70d71e949953cf8d1a627b3cec9</anchor>
      <arglist>(std::ostream &amp;ss, ShapeType type)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>shapes.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>shapes_8h</filename>
    <class kind="class">shapes::Box</class>
    <class kind="class">shapes::Cone</class>
    <class kind="class">shapes::Cylinder</class>
    <class kind="class">shapes::Mesh</class>
    <class kind="class">shapes::OcTree</class>
    <class kind="class">shapes::Plane</class>
    <class kind="class">shapes::Shape</class>
    <class kind="class">shapes::Sphere</class>
    <namespace>octomap</namespace>
    <namespace>shapes</namespace>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Shape &gt;</type>
      <name>ShapeConstPtr</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae361d27bb9c03ed99275fc1b38185c10</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Shape &gt;</type>
      <name>ShapePtr</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a364d1bfa62020b9f5c95c2e2a58779d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ShapeType</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNKNOWN_SHAPE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ad72b0f4396023d81d873a68d54a4b27d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SPHERE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ac093bbe694b61885456ea9cdf41ef84a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CYLINDER</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ae9c54d1997ff1193f993fce6303d884b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CONE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002a9dcb0ebb715762e98a319af4e74b72f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>BOX</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ad9dc5f493cdf205abf4187a3b38d1a59</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PLANE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ae7174999b26eef63b0a901194ab7c2ad</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>MESH</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002aae3a7afd4e3c590128e89e1ee048f4ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>OCTREE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002a3bd76d47061050a9e9c792c533bc6a85</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a55cad70d71e949953cf8d1a627b3cec9</anchor>
      <arglist>(std::ostream &amp;ss, ShapeType type)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>solid_primitive_dims.h</name>
    <path>/tmp/ws/src/geometric_shapes/include/geometric_shapes/</path>
    <filename>solid__primitive__dims_8h</filename>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::BOX &gt;</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::CONE &gt;</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::CYLINDER &gt;</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::SPHERE &gt;</class>
    <namespace>geometric_shapes</namespace>
  </compound>
  <compound kind="file">
    <name>test_basics.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__basics_8cpp</filename>
    <includes id="check__isometry_8h" name="check_isometry.h" local="no" imported="no">geometric_shapes/check_isometry.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__basics_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__basics_8cpp.html</anchorfile>
      <anchor>af6ce478601ed426fbfb613aaf11c01c3</anchor>
      <arglist>(Utils, checkIsometry)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__basics_8cpp.html</anchorfile>
      <anchor>ab49ea8574c6167cb09f8c9a664d6f3fb</anchor>
      <arglist>(Utils, assertIsometry)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_body_operations.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__body__operations_8cpp</filename>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <member kind="function">
      <type>void</type>
      <name>expectVector3dSetsEqual</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>afae35977e62caa7e230b229d4cd23c24</anchor>
      <arglist>(EigenSTL::vector_Vector3d vec1, EigenSTL::vector_Vector3d vec2, const double upToError=1e-6)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>ae51d794f964f1f224989ea905a11038f</anchor>
      <arglist>(Bodies, ConstructShapeFromBodySphere)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>a500c8c09472bd7f6be24803d9b330d84</anchor>
      <arglist>(Bodies, ConstructShapeFromBodyBox)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>ac4597ef12bce1227c28f6a475cc3d86c</anchor>
      <arglist>(Bodies, ConstructShapeFromBodyCylinder)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>a092ca027eaabf8ea96c5b4aff8778c03</anchor>
      <arglist>(Bodies, ConstructShapeFromBodyMesh)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>a53ec3c966e49ce9e43db4996e74c6b51</anchor>
      <arglist>(Bodies, ConstructMarkerFromBodySphere)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>ae69eb191d5f6583d71ba6a1f356eb815</anchor>
      <arglist>(Bodies, ConstructMarkerFromBodyBox)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>a9fa96729a6696953a8f478d05b7189d6</anchor>
      <arglist>(Bodies, ConstructMarkerFromBodyCylinder)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__body__operations_8cpp.html</anchorfile>
      <anchor>a49e9c4883d6be9fbb533b47d26540484</anchor>
      <arglist>(Bodies, ConstructMarkerFromBodyMesh)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_bounding_box.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__bounding__box_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="no" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <member kind="function">
      <type>shapes::Mesh *</type>
      <name>createBoxMesh</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a183462a7cb1d328e08c8c97c448a9359</anchor>
      <arglist>(const Eigen::Vector3d &amp;min, const Eigen::Vector3d &amp;max)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a5cfba30a2f329438d264ab0fbf6a9186</anchor>
      <arglist>(SphereBoundingBox, Sphere1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a758348c110b2ed0ac6c29fce63863724</anchor>
      <arglist>(SphereBoundingBox, Sphere2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>af6a43bc192a1e2cf7adcb047de33864c</anchor>
      <arglist>(BoxBoundingBox, Box1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a0f32ebf740edb75198c09a80707877e9</anchor>
      <arglist>(BoxBoundingBox, Box2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a7d5b73bbf7c2829eb52d6801279139fa</anchor>
      <arglist>(CylinderBoundingBox, Cylinder1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>addb93eeace20c1251ab537c66b56860c</anchor>
      <arglist>(CylinderBoundingBox, Cylinder2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>af1d0ed7016040f745db4850addc8bd5a</anchor>
      <arglist>(MeshBoundingBox, Mesh1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>aa1a7c8e09da6bd52bb4e555822e99543</anchor>
      <arglist>(MeshBoundingBox, Mesh2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a9c8ffc6d8206317d6a4d1972720f80e0</anchor>
      <arglist>(MergeBoundingBoxes, Merge1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>aeedc0561f6ce10accafd220a9fbcd641</anchor>
      <arglist>(MergeBoundingBoxes, OBBInvalid)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a5509aab42e6871070b5fb0db05418a1f</anchor>
      <arglist>(MergeBoundingBoxes, OBBContains1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>a3d3a2eb73114d45aefa6c8ce662086d8</anchor>
      <arglist>(MergeBoundingBoxes, OBBContains2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__box_8cpp.html</anchorfile>
      <anchor>ad1ded8ea5be15684048bee4fb0dddcc9</anchor>
      <arglist>(MergeBoundingBoxes, OBBApprox1)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_bounding_cylinder.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__bounding__cylinder_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="no" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <member kind="function">
      <type>shapes::Mesh *</type>
      <name>createBoxMesh</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a183462a7cb1d328e08c8c97c448a9359</anchor>
      <arglist>(const Eigen::Vector3d &amp;min, const Eigen::Vector3d &amp;max)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a9bfb83e079f7eb7411e3716e3c6e0097</anchor>
      <arglist>(SphereBoundingCylinder, Sphere1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a862050eca34a853a27b356c42a134e89</anchor>
      <arglist>(SphereBoundingCylinder, Sphere2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a97349f2936bc2c727cecd715266c8a9b</anchor>
      <arglist>(BoxBoundingCylinder, Box1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>ab748b287be4a8cd7704ba49411e05903</anchor>
      <arglist>(BoxBoundingCylinder, Box2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a615b596eecc053129f8f8a170ed19e7c</anchor>
      <arglist>(CylinderBoundingCylinder, Cylinder1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a74cd2c3ef081078291c933330a76da37</anchor>
      <arglist>(CylinderBoundingCylinder, Cylinder2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a1ef30cfda1d34676c2157e92ac21bcbc</anchor>
      <arglist>(MeshBoundingCylinder, Mesh1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__cylinder_8cpp.html</anchorfile>
      <anchor>a525c1be84150646a0a59560fb60018db</anchor>
      <arglist>(MeshBoundingCylinder, Mesh2)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_bounding_sphere.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__bounding__sphere_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="no" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>ad2c2f43cce7aa1372eb62386d30458a3</anchor>
      <arglist>(SphereBoundingSphere, Sphere1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>a8760d485e336f38c61696dd028ebbe1c</anchor>
      <arglist>(SphereBoundingSphere, Sphere2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>ab37f4e801c92d7283d0e43916b31b22d</anchor>
      <arglist>(BoxBoundingSphere, Box1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>acfd999a1399de9dac488a7c5549c9355</anchor>
      <arglist>(BoxBoundingSphere, Box2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>afd0687703bfb33bbe188bc801be00a87</anchor>
      <arglist>(CylBoundingSphere, Cyl1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>aaebab97962e9006559428aeb74867f11</anchor>
      <arglist>(CylBoundingSphere, Cyl2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>aa2c5e83213a78a25369a519e7385fc79</anchor>
      <arglist>(ConeBoundingSphere, Cone1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>ad8958612db4b311bd479fd0e6b14ae40</anchor>
      <arglist>(ConeBoundingSphere, Cone2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>a88bb60c3474af47ac979cbf7c8d521e8</anchor>
      <arglist>(ConeBoundingSphere, Cone3)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>ad985af5f280cd543e4f3ea7e34fbeaa5</anchor>
      <arglist>(ConeBoundingSphere, Cone4)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__bounding__sphere_8cpp.html</anchorfile>
      <anchor>acc520d7af61d3c67198fb8416c053b35</anchor>
      <arglist>(MeshBoundingSphere, Mesh1)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_create_mesh.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__create__mesh_8cpp</filename>
    <includes id="mesh__operations_8h" name="mesh_operations.h" local="no" imported="no">geometric_shapes/mesh_operations.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>a13292c7735edab4ea62603645070988a</anchor>
      <arglist>(CreateMesh, stl)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>ae083cd62fed8b0c521cc32ff62097782</anchor>
      <arglist>(CreateMesh, daeNoUp)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>ac0cf8ba65f9384b44e2bc3d0839c4b49</anchor>
      <arglist>(CreateMesh, daeYUp)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>a1d7c3cfdb24e004453154800f9675e81</anchor>
      <arglist>(CreateMesh, daeZUp)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>a1ad00c88e349079b826a044f372c1d02</anchor>
      <arglist>(CreateMesh, daeXUp)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>abfb39942aed0eed54f558a7b5baae96f</anchor>
      <arglist>(CreateMesh, daeNoUnit)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>a4a6806a8cb4cf74701e64727f8f61c91</anchor>
      <arglist>(CreateMesh, dae1M)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__create__mesh_8cpp.html</anchorfile>
      <anchor>a8bb7eb0c85db3702757e54936a2541a2</anchor>
      <arglist>(CreateMesh, dae10M)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_loaded_meshes.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__loaded__meshes_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="no" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <class kind="class">CompareMeshVsPrimitive</class>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__loaded__meshes_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__loaded__meshes_8cpp.html</anchorfile>
      <anchor>ab58eace556831503287da16db72b2a7a</anchor>
      <arglist>(CompareMeshVsPrimitive, ContainsPoint)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__loaded__meshes_8cpp.html</anchorfile>
      <anchor>a0ffb8c421ddd7e62adb3f2431c0d3d51</anchor>
      <arglist>(CompareMeshVsPrimitive, IntersectsRay)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__loaded__meshes_8cpp.html</anchorfile>
      <anchor>a1297c76d9df9ab5fcbf5858124c4b2a5</anchor>
      <arglist>(CompareMeshVsPrimitive, BoundingSphere)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__loaded__meshes_8cpp.html</anchorfile>
      <anchor>a896b84e3fac0b176d75c713130f5d3db</anchor>
      <arglist>(CompareMeshVsPrimitive, BoxVertexCount)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST_F</name>
      <anchorfile>test__loaded__meshes_8cpp.html</anchorfile>
      <anchor>a994bd2bd0d42370ffb4c64f01c4f9099</anchor>
      <arglist>(CompareMeshVsPrimitive, BoxTriangleCount)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_point_inclusion.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__point__inclusion_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="no" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>EXPECT_SURF</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a9bde522257fe83d91d1da5ad8555deff</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>Eigen::Isometry3d</type>
      <name>getRandomPose</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a2237bb2731e489b020302ff858e868d5</anchor>
      <arglist>(random_numbers::RandomNumberGenerator &amp;g)</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>largestComponentForLength2D</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a913f55bb7761fddee62f488207f3ca75</anchor>
      <arglist>(const double length)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a90900f48147148bce1ff4efccd1eeab5</anchor>
      <arglist>(SpherePointContainment, Basic)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>ab08107ec871da79de6309eaa79710200</anchor>
      <arglist>(SpherePointContainment, SimpleInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a62961abf96f3819109ca213f7cce7fb1</anchor>
      <arglist>(SpherePointContainment, SimpleOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a1d8b1e7ed56ee878efd122142092bc99</anchor>
      <arglist>(SpherePointContainment, ComplexInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>af455080ac67f05a37f50241d415b351f</anchor>
      <arglist>(SpherePointContainment, ComplexOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>aa1b194b886395cdd36be2fa593dc0c85</anchor>
      <arglist>(BoxPointContainment, Basic)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>aa4ea73c06a1ff0e48ef16cf63a2bafd1</anchor>
      <arglist>(BoxPointContainment, SimpleInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>aa3c6cb33e95d06a0118297fb88df3592</anchor>
      <arglist>(BoxPointContainment, SimpleOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a6c9a8903e43b19f6c2173f1ff82bee08</anchor>
      <arglist>(BoxPointContainment, ComplexInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a82b171ba151efa4ee1835523beddb585</anchor>
      <arglist>(BoxPointContainment, Sampled)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>adb937307e4f1fe6199b664d6b581643d</anchor>
      <arglist>(BoxPointContainment, ComplexOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a027533dbac8404ea2fc0a63469dfbef9</anchor>
      <arglist>(CylinderPointContainment, Basic)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a4b0b1a304c279d3d63def509b5c21f95</anchor>
      <arglist>(CylinderPointContainment, SimpleInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a1374ca3b8e17bea6aced04a21afb28af</anchor>
      <arglist>(CylinderPointContainment, SimpleOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a6cdfad726a13fdcc8fa8b34b879c2d26</anchor>
      <arglist>(CylinderPointContainment, CylinderPadding)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a465272fdb260e505a0c37188c4805b4b</anchor>
      <arglist>(CylinderPointContainment, Sampled)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a9cd88ec9e87926e67e8e4d460c978ccd</anchor>
      <arglist>(MeshPointContainment, Basic)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>a1c4ddf519a0da5d957177ca159b480a2</anchor>
      <arglist>(MeshPointContainment, Pr2Forearm)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__point__inclusion_8cpp.html</anchorfile>
      <anchor>ae42c8126fd1c5edcf8dd851554e4c17f</anchor>
      <arglist>(MergeBoundingSpheres, MergeTwoSpheres)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_ray_intersection.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__ray__intersection_8cpp</filename>
    <includes id="bodies_8h" name="bodies.h" local="no" imported="no">geometric_shapes/bodies.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <includes id="body__operations_8h" name="body_operations.h" local="no" imported="no">geometric_shapes/body_operations.h</includes>
    <member kind="define">
      <type>#define</type>
      <name>CHECK_INTERSECTS</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a0d0e681976fa903f7f62c2e710d8a98f</anchor>
      <arglist>(body, origin, direction, numIntersections)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CHECK_INTERSECTS_ONCE</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>aaf932816144dc554611e13aae94f29e3</anchor>
      <arglist>(body, origin, direction, intersection, error)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CHECK_INTERSECTS_TWICE</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>aa2375aaf2a7af85340c7edcfad97855a</anchor>
      <arglist>(body, origin, direction, intersc1, intersc2, error)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>CHECK_NO_INTERSECTION</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a7a14cc48b8b73d1e55475e6fd4cb76a2</anchor>
      <arglist>(body, origin, direction)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>EXPECT_VECTORS_EQUAL</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a02b5629e11a3a872288e57bc18f04810</anchor>
      <arglist>(v1, v2, error)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Isometry3d</type>
      <name>getRandomPose</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a2237bb2731e489b020302ff858e868d5</anchor>
      <arglist>(random_numbers::RandomNumberGenerator &amp;g)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>aa1fb7ad841ead8f99bb6f4e11b68b882</anchor>
      <arglist>(SphereRayIntersection, OriginInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>acbdcb9552bd0082955ac5028c69b3548</anchor>
      <arglist>(SphereRayIntersection, OriginOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>aab691e0a9648d377e31eb4cfcbb457ff</anchor>
      <arglist>(SphereRayIntersection, SimpleRay1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>afbd6d93ab24a1eb1f1042b19defc4a53</anchor>
      <arglist>(SphereRayIntersection, SimpleRay2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a0e2c5706f5eeb0b9a06caa096efd29d9</anchor>
      <arglist>(CylinderRayIntersection, OriginInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>ab84848966bf9ab1bd708c67dded7d723</anchor>
      <arglist>(CylinderRayIntersection, OriginOutside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a0c1a473e08fe8398df5f35c79821b122</anchor>
      <arglist>(CylinderRayIntersection, SimpleRay1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a1cca40c1796cc9f9050abc608d369f58</anchor>
      <arglist>(CylinderRayIntersection, SimpleRay2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a1d4ca917bb2d10eac7d3fe49acd26301</anchor>
      <arglist>(BoxRayIntersection, SimpleRay1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>ad3ce94bd3579b7b7e50a605104036210</anchor>
      <arglist>(BoxRayIntersection, SimpleRay2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>af34834503a0e55c5e895198b43476f88</anchor>
      <arglist>(BoxRayIntersection, SimpleRay3)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a0fb25bd339dd1d00039dc533f10ab41f</anchor>
      <arglist>(BoxRayIntersection, Regression109)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a84f8e418f4179cfa95ff8998e41b0f5f</anchor>
      <arglist>(BoxRayIntersection, OriginInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a7b6bda70e2d2ae8f587e0827ac25c6be</anchor>
      <arglist>(BoxRayIntersection, OriginOutsideIntersects)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a98f636b0961f3096f377cbe11284bf47</anchor>
      <arglist>(ConvexMeshRayIntersection, SimpleRay1)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a4f58cbdaa36e86add22fd74b0d8c5a20</anchor>
      <arglist>(ConvexMeshRayIntersection, SimpleRay2)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>ab2e0e66f8bf70ba1effbf2b52029e87a</anchor>
      <arglist>(ConvexMeshRayIntersection, SimpleRay3)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a682168ec43cb9ca01a729e8d7f35900b</anchor>
      <arglist>(ConvexMeshRayIntersection, OriginInside)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__ray__intersection_8cpp.html</anchorfile>
      <anchor>a504d4cd45667e02e07c11f8e9f7066e4</anchor>
      <arglist>(ConvexMeshRayIntersection, OriginOutsideIntersects)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>test_shapes.cpp</name>
    <path>/tmp/ws/src/geometric_shapes/test/</path>
    <filename>test__shapes_8cpp</filename>
    <includes id="shapes_8h" name="shapes.h" local="no" imported="no">geometric_shapes/shapes.h</includes>
    <includes id="shape__operations_8h" name="shape_operations.h" local="no" imported="no">geometric_shapes/shape_operations.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>a0101e8eafd0fec63ce084ec15d1793b2</anchor>
      <arglist>(Plane, ScaleAndPadd)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>ae080b6fec17e2866601fa4bb71595c48</anchor>
      <arglist>(OcTree, ScaleAndPaddEmpty)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>a1e91d8d70724d0bc05e0e0e59457e21f</anchor>
      <arglist>(Sphere, ScaleAndPadd)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>ad1e864671bcd190ce81cc875541a4a9d</anchor>
      <arglist>(Cylinder, ScaleAndPadd)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>a62a12c35bf156c242451947bf01c87d3</anchor>
      <arglist>(Cone, ScaleAndPadd)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>ab870bc7da7c8ce4ad505f8b90214ff6b</anchor>
      <arglist>(Box, ScaleAndPadd)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>TEST</name>
      <anchorfile>test__shapes_8cpp.html</anchorfile>
      <anchor>aa6fe591cf20ffafc42840083b2a49d28</anchor>
      <arglist>(Mesh, ScaleAndPadd)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::AABB</name>
    <filename>classbodies_1_1AABB.html</filename>
    <member kind="function">
      <type>void</type>
      <name>extendWithTransformedBox</name>
      <anchorfile>classbodies_1_1AABB.html</anchorfile>
      <anchor>a26422bf509eb0b6c8ca2e79342df4de7</anchor>
      <arglist>(const Eigen::Isometry3d &amp;transform, const Eigen::Vector3d &amp;box)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::Body</name>
    <filename>classbodies_1_1Body.html</filename>
    <member kind="function">
      <type></type>
      <name>Body</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a53802e3958ea9e96556ca2d4c9e0554d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>BodyPtr</type>
      <name>cloneAt</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a94100abae18cbcd39ef8be54db1f058f</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose) const</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual BodyPtr</type>
      <name>cloneAt</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a12792d8398ba4e20c56b37783a60a4ad</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, double padding, double scaling) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a9929c4c17e504d89734f642c639e865f</anchor>
      <arglist>(AABB &amp;bbox) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a97d660fc19ee7ac08a97db76af2e02ea</anchor>
      <arglist>(OBB &amp;bbox) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>computeBoundingCylinder</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a5bf78a8c74d71fff97fff94288529ccf</anchor>
      <arglist>(BoundingCylinder &amp;cylinder) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a4583e8d969b93249c6a4a6993cbd0044</anchor>
      <arglist>(BoundingSphere &amp;sphere) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual double</type>
      <name>computeVolume</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a29923bf8464de2617862d11f2a07aaf1</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>ad1e06e5ea2a6925d4fd7f0bc43c346da</anchor>
      <arglist>(double x, double y, double z, bool verbose=false) const</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a3eb8610712faa2682718357eb5a035cd</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, bool verbose=false) const =0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual std::vector&lt; double &gt;</type>
      <name>getDimensions</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a1659b1955f541ad881813e20adab55db</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getPadding</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a08a62aef3a1c4f09f2e5972ee0ad0b32</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const Eigen::Isometry3d &amp;</type>
      <name>getPose</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a9ce8686c06eb5ab80243729f74220f22</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>getScale</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>aad1a29f56f5da3ebdb5f0b36296d225d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual std::vector&lt; double &gt;</type>
      <name>getScaledDimensions</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a2e901a0ed08bf6a7cca25a99c3c6bda9</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function">
      <type>shapes::ShapeType</type>
      <name>getType</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a5b6bc09f3a2fda1a697f64aaea13ec22</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual bool</type>
      <name>intersectsRay</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>af4539a37624c49a14b3c547ca6ded727</anchor>
      <arglist>(const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir, EigenSTL::vector_Vector3d *intersections=nullptr, unsigned int count=0) const =0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>samplePointInside</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>aee06f911ae9c2a962feb7c793c051065</anchor>
      <arglist>(random_numbers::RandomNumberGenerator &amp;rng, unsigned int max_attempts, Eigen::Vector3d &amp;result) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDimensions</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a079805b1d1c2c2f3037d32769b5e897b</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setDimensionsDirty</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>af32306e42a50cec4fb8e3b70db51ef4c</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPadding</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a752875b7d6322f57206485495d1693c7</anchor>
      <arglist>(double padd)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPaddingDirty</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>ae97a0e085c5e906741642baab557caea</anchor>
      <arglist>(double padd)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPose</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>affaaf1a48591f27a49e762144bee793d</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPoseDirty</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a1c345c68ce92dc0799ac3b3d7428a73a</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setScale</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>ad2eade1fcb7071ffeb9b14e89366f208</anchor>
      <arglist>(double scale)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setScaleDirty</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>adb13f49e9b7855c1578e2d91745bd4fd</anchor>
      <arglist>(double scale)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>updateInternalData</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>ae03614fc7860bf0352db06148460a17f</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Body</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>ad8c5d83a272e10e435c41f38370b6663</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="protected" virtualness="pure">
      <type>virtual void</type>
      <name>useDimensions</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a74c3bb0fae68970ea7c0e2d261d043d7</anchor>
      <arglist>(const shapes::Shape *shape)=0</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>padding_</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a5a075ec98f4e5ab10034082ca46850cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Isometry3d</type>
      <name>pose_</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a05821d855e4f8e2c101b4b770c840371</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>scale_</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a1c93c67996bd5634d4c30738d64862e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>shapes::ShapeType</type>
      <name>type_</name>
      <anchorfile>classbodies_1_1Body.html</anchorfile>
      <anchor>a6975be2a3591cf29ccf97e7ebaed6d20</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::BodyVector</name>
    <filename>classbodies_1_1BodyVector.html</filename>
    <member kind="function">
      <type>void</type>
      <name>addBody</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a57c2185b2465411fb65a0d2f62d3124d</anchor>
      <arglist>(Body *body)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>addBody</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>ad5d33535c7255ff0bed01b5affdec57d</anchor>
      <arglist>(const shapes::Shape *shape, const Eigen::Isometry3d &amp;pose, double padding=0.0)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BodyVector</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>af27c7e249c7ca36113a575d0f2e4aa9b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>BodyVector</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a4480275f8b9ed2084bb7c4549cc8a352</anchor>
      <arglist>(const std::vector&lt; shapes::Shape *&gt; &amp;shapes, const EigenSTL::vector_Isometry3d &amp;poses, double padding=0.0)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>clear</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a74979ad97feee5fb723c5696b16d4305</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a8a4e39cca705e7fbd58cf1588d9a754b</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, bool verbose=false) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a7e2dece5f0d3c0ce02d13df223b3d591</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, std::size_t &amp;index, bool verbose=false) const</arglist>
    </member>
    <member kind="function">
      <type>const Body *</type>
      <name>getBody</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>ab32d595b03252def366fb31fa0b2d3e3</anchor>
      <arglist>(unsigned int i) const</arglist>
    </member>
    <member kind="function">
      <type>std::size_t</type>
      <name>getCount</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a8a925bbbabb3aae3694498036e997b54</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>intersectsRay</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a9212658821c97a0080d51ae12c9b46a3</anchor>
      <arglist>(const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir, std::size_t &amp;index, EigenSTL::vector_Vector3d *intersections=nullptr, unsigned int count=0) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPose</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a4b86f392485d5de8b28097590f2e2f6b</anchor>
      <arglist>(unsigned int i, const Eigen::Isometry3d &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~BodyVector</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a50b03b897de6d55cd6230d8b27f97fb0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; Body * &gt;</type>
      <name>bodies_</name>
      <anchorfile>classbodies_1_1BodyVector.html</anchorfile>
      <anchor>a5a1f9fd274492c38732550f13b8d14e5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>bodies::BoundingCylinder</name>
    <filename>structbodies_1_1BoundingCylinder.html</filename>
    <member kind="variable">
      <type>double</type>
      <name>length</name>
      <anchorfile>structbodies_1_1BoundingCylinder.html</anchorfile>
      <anchor>ac0f7c74293eb02d6f3e555a73e26fc4a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Isometry3d</type>
      <name>pose</name>
      <anchorfile>structbodies_1_1BoundingCylinder.html</anchorfile>
      <anchor>a6874df7ad30c45f1b35a978744099f39</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>radius</name>
      <anchorfile>structbodies_1_1BoundingCylinder.html</anchorfile>
      <anchor>a3fa7b5af99adf6fb5664cf032664d939</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>bodies::BoundingSphere</name>
    <filename>structbodies_1_1BoundingSphere.html</filename>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>center</name>
      <anchorfile>structbodies_1_1BoundingSphere.html</anchorfile>
      <anchor>a97ba33dd46e19263924c2a8a5e938795</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>radius</name>
      <anchorfile>structbodies_1_1BoundingSphere.html</anchorfile>
      <anchor>af1daba6677df222de60b5b9fd3747553</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::Box</name>
    <filename>classbodies_1_1Box.html</filename>
    <base>bodies::Body</base>
    <member kind="function">
      <type></type>
      <name>Box</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a3cd528f69f3617c599377bbae109e1d9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Box</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a7f94a0898ef5f7389c79a561a592df6e</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Box</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>aef1fc5df4fc97af46eb3811665007136</anchor>
      <arglist>(const AABB &amp;aabb)</arglist>
    </member>
    <member kind="function">
      <type>BodyPtr</type>
      <name>cloneAt</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a32c3b638bd5fc643bd72fc1b9def1c84</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, double padding, double scale) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a51ec70bcfab7632058dd662bc9419472</anchor>
      <arglist>(AABB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a56383d592053c6c935654a7c58dd4932</anchor>
      <arglist>(OBB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingCylinder</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>adf6439fb4f91d01a2729d5a90371b821</anchor>
      <arglist>(BoundingCylinder &amp;cylinder) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>ae50f296e75871a35ad668f805576370a</anchor>
      <arglist>(BoundingSphere &amp;sphere) const override</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeVolume</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>abdfe41d4abfea03ca7ee162e7dea0d59</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a9bdf8bd72ad3b09646599be82466c75b</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, bool verbose=false) const override</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getDimensions</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>ab5032f29b4e3c3df1767faf5d2cbf6fa</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getScaledDimensions</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a63abf90e10f853fdc14050d03d5d6443</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>intersectsRay</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>ace31f83345e7bac851ff0592a3752e22</anchor>
      <arglist>(const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir, EigenSTL::vector_Vector3d *intersections=nullptr, unsigned int count=0) const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>samplePointInside</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a7fb44be15b17c6cf40e99d83c4517d19</anchor>
      <arglist>(random_numbers::RandomNumberGenerator &amp;rng, unsigned int max_attempts, Eigen::Vector3d &amp;result) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateInternalData</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>aa2b8c780c744171678497bda5700cd83</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Box</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>ae22e2f53e0be555279c90e6758b828c5</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>useDimensions</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a116a9a748213ba5d026facb16f3e196f</anchor>
      <arglist>(const shapes::Shape *shape) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>center_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>afd2c9cc9aa4dc897f215dd38389be9e1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>corner1_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a1ce1015da9e92abf1a0f91c118f398eb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>corner2_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a1c12066532343e6b1f35fc80d0713ff3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>height2_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a116a4b324e69a86624fc78c9500a32cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>height_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a6339be7610523b2aa1284cde8bcd1599</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>length2_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a009f8b2f841311a20c63c73d80ea566a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>length_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a4b0c91a255e2ee02d7fb0b26138e0d32</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>normalH_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>abd55cb9be16e7331522166ce7f5cdb6e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>normalL_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a73ee7bfcf22e0208f7a9e32252129405</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>normalW_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>aa9b4d9dcc12669a6ea4f758b9a908e9c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radius2_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>aa597ad2103bf8f2576823de360cdcf52</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusB_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>ac59015805b810b43229df5615370c771</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>width2_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a87337311db054ce2329488860ba3aacf</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>width_</name>
      <anchorfile>classbodies_1_1Box.html</anchorfile>
      <anchor>a9bdb37bfebd54f7149acd51189f74b7c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Box</name>
    <filename>classshapes_1_1Box.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type></type>
      <name>Box</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>ae21067983d0d280f0084c91beab110f8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Box</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>aa9714d56117e4f5f4cced361534e1ef7</anchor>
      <arglist>(double x, double y, double z)</arglist>
    </member>
    <member kind="function">
      <type>Box *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>aa9bbecd9d7846471582eae2e58c2347a</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>padd</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>a07788b58e168c084eed3c41ebc51b412</anchor>
      <arglist>(double paddX, double paddY, double paddZ)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>a149b3d3fb6cec98700b6e25cca8828e1</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scale</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>ae008e64917bd4300d495557fe38c6b34</anchor>
      <arglist>(double scaleX, double scaleY, double scaleZ)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>a12e373f11898f972f01c9029b231b639</anchor>
      <arglist>(double scaleX, double scaleY, double scaleZ, double paddX, double paddY, double paddZ)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>aaba12326ba1017e274235a248802df97</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>size</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>a4ee50c6f553977d74890d516e6bfa64e</anchor>
      <arglist>[3]</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1Box.html</anchorfile>
      <anchor>a370e926a33a13584e1310c6062871cad</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>CompareMeshVsPrimitive</name>
    <filename>classCompareMeshVsPrimitive.html</filename>
    <member kind="function">
      <type></type>
      <name>CompareMeshVsPrimitive</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>aceac6734632d088edaf89b820c3fabdb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>SetUp</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>a342d6abd47585f42fb83eaf1023dedae</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>TearDown</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>a0f41abbc167cd2cf14e1e53dc4f2d3ec</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~CompareMeshVsPrimitive</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>a8730b7f89a039a0c6e6770606e89b511</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; bodies::Body * &gt;</type>
      <name>loaded_convex_meshes</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>a1447ec42570f8a639c5ed1eee49bcef0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; shapes::Mesh * &gt;</type>
      <name>loaded_meshes</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>ab0d54d216f0ec4d73985523bec4672e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>random_numbers::RandomNumberGenerator</type>
      <name>rng</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>a9365c02c8e4d85dfdaa5d9ea93f21069</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; bodies::Body * &gt;</type>
      <name>shape_convex_meshes</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>a903ed724bb1d87dd5273df04cef6c6de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::vector&lt; shapes::Mesh * &gt;</type>
      <name>shape_meshes</name>
      <anchorfile>classCompareMeshVsPrimitive.html</anchorfile>
      <anchor>ae16b3afd62e999f338530db23f10a3c7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Cone</name>
    <filename>classshapes_1_1Cone.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type>Cone *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>a9a50e5833acecb6e4bb8ed807699dfbd</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cone</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>a40030896e4c8c64dc03c41a2cd445fd3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cone</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>af25bb656aa3e38012cdd5ebba9086fa3</anchor>
      <arglist>(double r, double l)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>padd</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>ad7f6b58811e1b5939cd9245b6996b3ab</anchor>
      <arglist>(double paddRadius, double paddLength)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>acb87d09c8665666ef43db4ec31a011cd</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scale</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>a48ad3f48edca5e44243cfaac8528a41a</anchor>
      <arglist>(double scaleRadius, double scaleLength)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>af207bd39ff690e73abbe394f23ea8827</anchor>
      <arglist>(double scaleRadius, double scaleLength, double paddRadius, double paddLength)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>a0e5c5bea0b1711ba44823b24660d61c4</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>length</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>ab62cc6632118f7834b5c5afefd6d396e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>radius</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>aff32ba96ebf357ee47de606193d7c88d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1Cone.html</anchorfile>
      <anchor>a968d70b6e675afac108c4b6025ba860d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::ConvexMesh</name>
    <filename>classbodies_1_1ConvexMesh.html</filename>
    <base>bodies::Body</base>
    <class kind="struct">bodies::ConvexMesh::MeshData</class>
    <member kind="function">
      <type>BodyPtr</type>
      <name>cloneAt</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>ae14630836e0c339f3aa0cde72ebe55b4</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, double padding, double scale) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>aadb143c6dfad7bf1dd7689b2bc567b2c</anchor>
      <arglist>(AABB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>ae0fb380d251088e82f989cca85406086</anchor>
      <arglist>(OBB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingCylinder</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>af8bc1314c5854b45daaa27d34ccfd4de</anchor>
      <arglist>(BoundingCylinder &amp;cylinder) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a4622dbd39b4a99ded3b1e77788dd9285</anchor>
      <arglist>(BoundingSphere &amp;sphere) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeScaledVerticesFromPlaneProjections</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a1bf46b24edab0d607251a89665205b1a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeVolume</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a78c53cba560a101980a2c468665e8fbb</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a8960ed6329554316dcd24b66d7a1892c</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, bool verbose=false) const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ConvexMesh</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a65b524896d764f7aa80d29bbbb36ded5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ConvexMesh</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a9c0e1d68d6e87c05b465feb7736341f5</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>correctVertexOrderFromPlanes</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a13d3d541a3eaab24f4ff2bfab2d39b6b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getDimensions</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>aaaf67fff99f102353564266ecebf1199</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>const EigenSTL::vector_Vector4d &amp;</type>
      <name>getPlanes</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>af16f72aa7bab959993f089ba77f21c89</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getScaledDimensions</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a68f5623ffaef6c246d09dc7dd7a21986</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>const EigenSTL::vector_Vector3d &amp;</type>
      <name>getScaledVertices</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a58ef6e4f89a02991b90b21e01bc3504d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; unsigned int &gt; &amp;</type>
      <name>getTriangles</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>aefa583c976627a3036729de644eda9bb</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const EigenSTL::vector_Vector3d &amp;</type>
      <name>getVertices</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a06c1c49afd7b3c6ba756e746332f5ffc</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>intersectsRay</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>acb62c8c730d2b8cc176089d25c2026b1</anchor>
      <arglist>(const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir, EigenSTL::vector_Vector3d *intersections=nullptr, unsigned int count=0) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateInternalData</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a9fb4a6f4b721b63d1a65c9e0f3c68030</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ConvexMesh</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a6406f26f48d855abe23480b2bbe0afe5</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>unsigned int</type>
      <name>countVerticesBehindPlane</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a4339a2a6462787f0de84085e748188c1</anchor>
      <arglist>(const Eigen::Vector4f &amp;planeNormal) const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>bool</type>
      <name>isPointInsidePlanes</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a6fab5675ead31f24e0570c10f40178e1</anchor>
      <arglist>(const Eigen::Vector3d &amp;point) const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>useDimensions</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a0c33aa8c934a4b6ba4fab79ec7f50f3d</anchor>
      <arglist>(const shapes::Shape *shape) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Box</type>
      <name>bounding_box_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>afeeab812334dcc5e900f5d57123384c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>center_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a07c66cb0813d0a52e35654e32ea22986</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Isometry3d</type>
      <name>i_pose_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>ae3fce2fc44bd52fb1cd93fcc58d398e2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::shared_ptr&lt; MeshData &gt;</type>
      <name>mesh_data_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>afc59a4121c753efbfd66328d986490a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusB_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a8f0bb2300b3f13119866694b6a3cc9f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusBSqr_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>afe7ff8f18647114b3d62136cac16d307</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>EigenSTL::vector_Vector3d *</type>
      <name>scaled_vertices_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>a6ab46a47e4d2ba7b044608be8f918e18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; EigenSTL::vector_Vector3d &gt;</type>
      <name>scaled_vertices_storage_</name>
      <anchorfile>classbodies_1_1ConvexMesh.html</anchorfile>
      <anchor>ae73f0aaefeb014cc2eef00b2002f1523</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::Cylinder</name>
    <filename>classbodies_1_1Cylinder.html</filename>
    <base>bodies::Body</base>
    <member kind="function">
      <type>BodyPtr</type>
      <name>cloneAt</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a6d9baae9ac269954b4c5ecad2cd95c5e</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, double padding, double scale) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a9496ad8be487025b2cb8b28c9b750e21</anchor>
      <arglist>(AABB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a8a35a8b3d94ca13a8d23d08abd299b7f</anchor>
      <arglist>(OBB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingCylinder</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a98bdde0bb51200b2fbe6a63aa9df2cd3</anchor>
      <arglist>(BoundingCylinder &amp;cylinder) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a0f1c87444357e658337a23f0261448ac</anchor>
      <arglist>(BoundingSphere &amp;sphere) const override</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeVolume</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>aad9205cabc964f967b1bf7ed9a80709b</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>af68e0d6f7a0a3adf4bca78b62c7c4353</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, bool verbose=false) const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cylinder</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a61d0731c52843e4033dcea26c7ebdcd7</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cylinder</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a917cc37c7d3806b51967b3f226aa9b1c</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cylinder</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a4dd7ce26dcda93e8f5ab52caf8b9363b</anchor>
      <arglist>(const BoundingCylinder &amp;cylinder)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getDimensions</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a9cc01d50058e05ca20ae63e90886cd9b</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getScaledDimensions</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>ab9619501064f3822b484aa404ece29ce</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>intersectsRay</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>ad646ba7370ff83441bf476f7adca7d27</anchor>
      <arglist>(const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir, EigenSTL::vector_Vector3d *intersections=nullptr, unsigned int count=0) const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>samplePointInside</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a695a065771473af91af34f130e75bbc9</anchor>
      <arglist>(random_numbers::RandomNumberGenerator &amp;rng, unsigned int max_attempts, Eigen::Vector3d &amp;result) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateInternalData</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a36026dc7e7008ec998c8902ec506c4ae</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Cylinder</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>adda5af125c39dbb320a82f083d2e3853</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>useDimensions</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a9b2f1d83ab7d82988926e4a7cee35d1f</anchor>
      <arglist>(const shapes::Shape *shape) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>center_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a37fbf70ab40dbf4f0af72a4655a04f80</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>d1_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>aba40e70cbd81c3b04c1e2fca1869551a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>d2_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>ae563d0203d744a2b41a49283dfc2f99d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>length2_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a1d95982a500c2d996a60e1e0eeecfa91</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>length_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>aa63bba71b03496b93e771eb966d76891</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>normalB1_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a15f21119e860415f3981ca0560a21181</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>normalB2_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a53ba1157b555d0b1fd3d65ff8fda90a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>normalH_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a41bd78ab7956cf87155e48a552a55db6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radius2_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>aae8af9df766e1a5eeb79107a50bcc3de</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radius_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>ab01f36426f4752db86d1b777ae81a24e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusB_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a843ab0a8d4eb25750b148014b1bd4651</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusBSqr_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a23c687f9616274c420c3d3f83c002640</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusU_</name>
      <anchorfile>classbodies_1_1Cylinder.html</anchorfile>
      <anchor>a2f7658251f9cfa4921ebe501b16e2e41</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Cylinder</name>
    <filename>classshapes_1_1Cylinder.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type>Cylinder *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>aa644d30eed2e3eca12b5cf6b7cb9a2c1</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cylinder</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a6ab7745a940bad6494f1907ac8990375</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Cylinder</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>ae7352d095ad3af006f44ea5ef4529e6d</anchor>
      <arglist>(double r, double l)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>padd</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a77b8cecbe852c45609220629017d7601</anchor>
      <arglist>(double paddRadius, double paddLength)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a3b2b76c2f22bba77c58d64f26f8ab4ff</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scale</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>ab4f9bdd4acdf38b98fc2064fa54bb395</anchor>
      <arglist>(double scaleRadius, double scaleLength)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a83de4cff310694edc16d7f8a022e01ca</anchor>
      <arglist>(double scaleRadius, double scaleLength, double paddRadius, double paddLength)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a2b179733dc7d3dadf2287eacf2fcb92b</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>length</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a279e7c1a3d57bc4be56c6584719a4760</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>radius</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a3f0efa50e1dc0b6f9cd3c8c8a90f0745</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1Cylinder.html</anchorfile>
      <anchor>a59dd009105952ab2ca8fb9674262a069</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>bodies::detail::intersc</name>
    <filename>structbodies_1_1detail_1_1intersc.html</filename>
    <member kind="function">
      <type></type>
      <name>intersc</name>
      <anchorfile>structbodies_1_1detail_1_1intersc.html</anchorfile>
      <anchor>a58d6455e065e977ef9462264d05924f6</anchor>
      <arglist>(const Eigen::Vector3d &amp;_pt, const double _tm)</arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>pt</name>
      <anchorfile>structbodies_1_1detail_1_1intersc.html</anchorfile>
      <anchor>a4f18963573aee5aecae67650b7533312</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>time</name>
      <anchorfile>structbodies_1_1detail_1_1intersc.html</anchorfile>
      <anchor>a778e7fa78dddcde281e3285c04d0aee9</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>bodies::detail::interscOrder</name>
    <filename>structbodies_1_1detail_1_1interscOrder.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator()</name>
      <anchorfile>structbodies_1_1detail_1_1interscOrder.html</anchorfile>
      <anchor>a24b35c28e246c43250ae38291dfcec59</anchor>
      <arglist>(const intersc &amp;a, const intersc &amp;b) const</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Mesh</name>
    <filename>classshapes_1_1Mesh.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type>Mesh *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>ace1cdf48d8bc6270bfec4b0ea68ce78d</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeTriangleNormals</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a2fb92ba0d0d41a38b0f8ffdc3381cfc5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeVertexNormals</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>ab9ba5ece0d8749fe5d962e77c1bd5523</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeVertices</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>aae94dfe3a26722e83d1346484759c378</anchor>
      <arglist>(double threshold)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Mesh</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a3d1c377422f5f3d64d91eb2a72d3f8f5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Mesh</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>ac08029899eba33f16893370f541c49eb</anchor>
      <arglist>(unsigned int v_count, unsigned int t_count)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>padd</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a71a896d6273a4a6a47c8c679c83727ab</anchor>
      <arglist>(double paddX, double paddY, double paddZ)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>ae7087e950c37de575f3ac5a0b98e76b3</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scale</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a76ae3e8c842c6232a220577faa6f09fe</anchor>
      <arglist>(double scaleX, double scaleY, double scaleZ)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a0fb98fcf4bb01ab7648b38a7f61c31c0</anchor>
      <arglist>(double scaleX, double scaleY, double scaleZ, double paddX, double paddY, double paddZ)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>afe282bf006f33a5538908ceee9569b44</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Mesh</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a02c8109ded1f5e00918bccd9108d6bfe</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>triangle_count</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a3aac400f399808208a7888b3c290236e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double *</type>
      <name>triangle_normals</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a591d06cd14eda0a0a2c8f202705d3a34</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int *</type>
      <name>triangles</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>ac137888f5ddc3239c7f533c7f9c38b30</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>unsigned int</type>
      <name>vertex_count</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a001b35d57e31b5c489b6724af983073a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double *</type>
      <name>vertex_normals</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a8f00bca7c41ffac692e4cbf1cceb776b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double *</type>
      <name>vertices</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>a8bf67c4e3b643a1fa8b67f71d013b69d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1Mesh.html</anchorfile>
      <anchor>aa933eedfc40e58bfcc9d484a8c815b3a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>bodies::ConvexMesh::MeshData</name>
    <filename>structbodies_1_1ConvexMesh_1_1MeshData.html</filename>
    <member kind="variable">
      <type>BoundingCylinder</type>
      <name>bounding_cylinder_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>af7c79028a6b9d03d974fd00dcf4be53d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>box_offset_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>a15b8f34d87fbc0b2de781bec3a2c8320</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>box_size_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>a18d8b3719b5c671d0e224ecfa9a8da2d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>Eigen::Vector3d</type>
      <name>mesh_center_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>ad48d3343eb75d50ddf123a7a8e6693a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>mesh_radiusB_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>a12c68c18812705fa078d97b4055da841</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::map&lt; unsigned int, unsigned int &gt;</type>
      <name>plane_for_triangle_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>a1f4f82f5257a56bffa4d766b14d35145</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EigenSTL::vector_Vector4d</type>
      <name>planes_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>a2a2c8ec41606840c05284c872c33623a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned int &gt;</type>
      <name>triangles_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>ac1d72ec11477cfa2623560323c01f71b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>EigenSTL::vector_Vector3d</type>
      <name>vertices_</name>
      <anchorfile>structbodies_1_1ConvexMesh_1_1MeshData.html</anchorfile>
      <anchor>a583ac0ec04b76cc30ac81c001937fbec</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::OBB</name>
    <filename>classbodies_1_1OBB.html</filename>
    <member kind="function">
      <type>EigenSTL::vector_Vector3d</type>
      <name>computeVertices</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a9cb47cf9dee214866d156783958c26a2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>contains</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a64a605b843472673aa0cdc261587a78a</anchor>
      <arglist>(const Eigen::Vector3d &amp;point) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>contains</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a4b689215059624bf98f3d32ef12654ea</anchor>
      <arglist>(const OBB &amp;obb) const</arglist>
    </member>
    <member kind="function">
      <type>OBB *</type>
      <name>extendApprox</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>aa6af57878d2e139a0b4e8f04c8d2a96d</anchor>
      <arglist>(const OBB &amp;box)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>getExtents</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a83f903eb90b2a583aafe444467f56b3d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getExtents</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>ab34e2ab37cfadf2b13e391a863d3790d</anchor>
      <arglist>(Eigen::Vector3d &amp;extents) const</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Isometry3d</type>
      <name>getPose</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>aa9be4b26e4bdce2a9262776024f79c62</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getPose</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a8c850b3c54bb9558758b3268e4823fa5</anchor>
      <arglist>(Eigen::Isometry3d &amp;pose) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OBB</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a3c7b6d9974192e0883d38f7c7b76d339</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OBB</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>ade620d857214a8571491af0b52d46305</anchor>
      <arglist>(const OBB &amp;other)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OBB</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>ac16e109b99bd37751040214a25022786</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, const Eigen::Vector3d &amp;extents)</arglist>
    </member>
    <member kind="function">
      <type>OBB &amp;</type>
      <name>operator=</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a7f05f8d8fb87ec84afaec6a1943b6072</anchor>
      <arglist>(const OBB &amp;other)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>overlaps</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>ac778d1ad25c9c255d9b4377b36435ed2</anchor>
      <arglist>(const OBB &amp;other) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setPoseAndExtents</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a0e6beec48972484347ab98849b0604d5</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, const Eigen::Vector3d &amp;extents)</arglist>
    </member>
    <member kind="function">
      <type>AABB</type>
      <name>toAABB</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>a24b7ff2256ce703e44ce39284c22de83</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>toAABB</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>ad3420395a38fc17b5080b5c530839fd4</anchor>
      <arglist>(AABB &amp;aabb) const</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~OBB</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>abec3f9a61047ac38523c40a01cda82fc</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>std::unique_ptr&lt; OBBPrivate &gt;</type>
      <name>obb_</name>
      <anchorfile>classbodies_1_1OBB.html</anchorfile>
      <anchor>ab524aa4ef05b3063a51aeb70b828daed</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::OBBPrivate</name>
    <filename>classbodies_1_1OBBPrivate.html</filename>
  </compound>
  <compound kind="class">
    <name>shapes::OcTree</name>
    <filename>classshapes_1_1OcTree.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type>OcTree *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>a8a2340c40597bb2e7e14cb25dc9431cd</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isFixed</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>a7a4b91238ee0ad199a65d448f3c378ed</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OcTree</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>a4ae37e15bb439ddeb4d6ae3e01815e6e</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>OcTree</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>af077154015de50bfa4e764b138e30ebe</anchor>
      <arglist>(const std::shared_ptr&lt; const octomap::OcTree &gt; &amp;t)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>a773da3e80e2b1ff9b5db25f68b31b171</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>aab92207719f78ff08199c7e528aa7427</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="variable">
      <type>std::shared_ptr&lt; const octomap::OcTree &gt;</type>
      <name>octree</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>a5acd03f6577d75ca048f3140d295488f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1OcTree.html</anchorfile>
      <anchor>a5219dbe764db3526242a318c47114317</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Plane</name>
    <filename>classshapes_1_1Plane.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type>Plane *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a703dfc6cfe4f1d2554debaeacdb03de9</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isFixed</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a32241a74a49f1d8d05fe3343123f6391</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Plane</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a65d838056e575fd8e5013adaa9fa7ad5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Plane</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>aad0751a360cfe78bae4f67a22ad51d0a</anchor>
      <arglist>(double pa, double pb, double pc, double pd)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a0646ab08bde9f87b286baee9c635e3a3</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>ae32054fd4a608fb84ef8fd89587db304</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>a</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>ac3e3227b5c494121e65b98962cc6655d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>b</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a392a6477b0c8b2e8c7ff2c110e162795</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>c</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a91ab91348f3c28c8baa02e58d908409c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>d</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>a09f0919678128febfe211531e62f274d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1Plane.html</anchorfile>
      <anchor>abccdb7e3ca2be3f3e244306834014f96</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Shape</name>
    <filename>classshapes_1_1Shape.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual Shape *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>ab31a2d6c46434f6903cae90570c5d972</anchor>
      <arglist>() const =0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual bool</type>
      <name>isFixed</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a9f12b95661e77fabcc0a0906328f2ca8</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>padd</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a7aed835292087aed0b8fc97c5bb03a5a</anchor>
      <arglist>(double padding)</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a3f7cb2d4ec9bf4fb93a0d2b51b5831fe</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scale</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a1b58c3445215d5fc37d47443074a899a</anchor>
      <arglist>(double scale)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>ad01f9a3afa526d990d3e90bda786c8d7</anchor>
      <arglist>(double scale, double padd)=0</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Shape</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a508d49b981b143cc48aac37759ff5989</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~Shape</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a12a18f8fcc734a42b1c65ddcb2d88cc5</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable">
      <type>ShapeType</type>
      <name>type</name>
      <anchorfile>classshapes_1_1Shape.html</anchorfile>
      <anchor>a5dc1d3e2ca557b653e776f30ff9b4aac</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>geometric_shapes::SolidPrimitiveDimCount</name>
    <filename>structgeometric__shapes_1_1SolidPrimitiveDimCount.html</filename>
    <templarg></templarg>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount.html</anchorfile>
      <anchor>aba1e80187d1591f988ef7163a989a7eaa37a90eae94d5fbeb2d074963a4077006</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount.html</anchorfile>
      <anchor>aba1e80187d1591f988ef7163a989a7eaa37a90eae94d5fbeb2d074963a4077006</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::BOX &gt;</name>
    <filename>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1BOX_01_4.html</filename>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1BOX_01_4.html</anchorfile>
      <anchor>a860ddc6177cec7e65ca30088aa20e284a93eb7d6a59a6bfc54e3cb2cc3cc7ab58</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1BOX_01_4.html</anchorfile>
      <anchor>a860ddc6177cec7e65ca30088aa20e284a93eb7d6a59a6bfc54e3cb2cc3cc7ab58</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::CONE &gt;</name>
    <filename>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1CONE_01_4.html</filename>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1CONE_01_4.html</anchorfile>
      <anchor>a1b170504deb771f61bfa3c1a29bf290aa7742b6142be413b0f53d52b190072deb</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1CONE_01_4.html</anchorfile>
      <anchor>a1b170504deb771f61bfa3c1a29bf290aa7742b6142be413b0f53d52b190072deb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::CYLINDER &gt;</name>
    <filename>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1CYLINDER_01_4.html</filename>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1CYLINDER_01_4.html</anchorfile>
      <anchor>a007653040029b73ef8890625f2052511aa3a4852d2dbc7782559e0a81757ec1fa</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1CYLINDER_01_4.html</anchorfile>
      <anchor>a007653040029b73ef8890625f2052511aa3a4852d2dbc7782559e0a81757ec1fa</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::SPHERE &gt;</name>
    <filename>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1SPHERE_01_4.html</filename>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1SPHERE_01_4.html</anchorfile>
      <anchor>a6ec382e8cedf70b9e57781617591e86ba54a149edb65884a92526119030057c88</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>value</name>
      <anchorfile>structgeometric__shapes_1_1SolidPrimitiveDimCount_3_01shape__msgs_1_1SolidPrimitive_1_1SPHERE_01_4.html</anchorfile>
      <anchor>a6ec382e8cedf70b9e57781617591e86ba54a149edb65884a92526119030057c88</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>shapes::Sphere</name>
    <filename>classshapes_1_1Sphere.html</filename>
    <base>shapes::Shape</base>
    <member kind="function">
      <type>Sphere *</type>
      <name>clone</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>ae89625a7f65e67cf8c3999989582f753</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>print</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>a91a60877b4435889e3e603611708b120</anchor>
      <arglist>(std::ostream &amp;out=std::cout) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>scaleAndPadd</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>a7dc84742127befc6f582b6c68327d338</anchor>
      <arglist>(double scale, double padd) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sphere</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>a8b1dca249c14a3ab558828751ef0d517</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sphere</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>a1c6c7252bf3e65572803b1f80d9eaa50</anchor>
      <arglist>(double r)</arglist>
    </member>
    <member kind="variable">
      <type>double</type>
      <name>radius</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>ad269e661de7e18238a6e9fcdd4d62506</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>STRING_NAME</name>
      <anchorfile>classshapes_1_1Sphere.html</anchorfile>
      <anchor>a9e8ece9f8fb6a4a5431d4643e923f65e</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>bodies::Sphere</name>
    <filename>classbodies_1_1Sphere.html</filename>
    <base>bodies::Body</base>
    <member kind="function">
      <type>BodyPtr</type>
      <name>cloneAt</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ac8728962770108e183dfa7d71d9bafae</anchor>
      <arglist>(const Eigen::Isometry3d &amp;pose, double padding, double scale) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a79862dda8e99f37e4a9272f5db852117</anchor>
      <arglist>(AABB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingBox</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a0fd9050574d42e0ee2750a539e80ff58</anchor>
      <arglist>(OBB &amp;bbox) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingCylinder</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ad6f9358a81c3dc875d07f39cc27f7413</anchor>
      <arglist>(BoundingCylinder &amp;cylinder) const override</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>aa12a07fbf8998db701f6ce85b58ca5fc</anchor>
      <arglist>(BoundingSphere &amp;sphere) const override</arglist>
    </member>
    <member kind="function">
      <type>double</type>
      <name>computeVolume</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ab63e6b705aa67c31226638f801c0da95</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>containsPoint</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a4b7720e8a629245579c84a4eafe6ecfa</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, bool verbose=false) const override</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getDimensions</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ab058856f61e40b17c791728589a7213e</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; double &gt;</type>
      <name>getScaledDimensions</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>aa1a3374c003b245a0d067a72b26c9662</anchor>
      <arglist>() const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>intersectsRay</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ab2b8ac384f8a9d9a42ade2771425ef6a</anchor>
      <arglist>(const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir, EigenSTL::vector_Vector3d *intersections=nullptr, unsigned int count=0) const override</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>samplePointInside</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ae81467c300bbb0e7690e159c999253f3</anchor>
      <arglist>(random_numbers::RandomNumberGenerator &amp;rng, unsigned int max_attempts, Eigen::Vector3d &amp;result) const override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sphere</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ac4697fac18832d48f85bba7863f79a3c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sphere</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a4437ec16b33dda1dc5a68cd1b1555302</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Sphere</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>abbb8f9504d04dfc5efa4ac05b72d63ba</anchor>
      <arglist>(const BoundingSphere &amp;sphere)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>updateInternalData</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>ad99f18e97c01b9480ece57d6d9024ec9</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Sphere</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a0a5c29ac850963a0b94cc3b1de2a66e4</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>void</type>
      <name>useDimensions</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a0f3de22d30e97b5c74ce80e233941b74</anchor>
      <arglist>(const shapes::Shape *shape) override</arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>Eigen::Vector3d</type>
      <name>center_</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a7cc58248558e04f68487b40c617e1141</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radius2_</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>a867704b908165f9a0042a5233d81ff65</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radius_</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>acfcc70293bdf1eb824849ac64a8f3f0a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="protected">
      <type>double</type>
      <name>radiusU_</name>
      <anchorfile>classbodies_1_1Sphere.html</anchorfile>
      <anchor>afc40083014095ce3fc6f4050c789db34</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>bodies</name>
    <filename>namespacebodies.html</filename>
    <namespace>bodies::detail</namespace>
    <class kind="class">bodies::AABB</class>
    <class kind="class">bodies::Body</class>
    <class kind="class">bodies::BodyVector</class>
    <class kind="struct">bodies::BoundingCylinder</class>
    <class kind="struct">bodies::BoundingSphere</class>
    <class kind="class">bodies::Box</class>
    <class kind="class">bodies::ConvexMesh</class>
    <class kind="class">bodies::Cylinder</class>
    <class kind="class">bodies::OBB</class>
    <class kind="class">bodies::OBBPrivate</class>
    <class kind="class">bodies::Sphere</class>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Body &gt;</type>
      <name>BodyConstPtr</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a050f3e79a9237d24ec7fddf581351191</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Body &gt;</type>
      <name>BodyPtr</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a7052acbf495412cba0429e7464bea421</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeBoundingSphere</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a768b2d7cfb14ee44ad09663cb5ecf28f</anchor>
      <arglist>(const std::vector&lt; const Body *&gt; &amp;bodies, BoundingSphere &amp;mergedSphere)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsg</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>aecdad149aaffd5746f3de5d1ce5d3d8f</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsg</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a35adfe9f5f5236259a16a11f633ce9fb</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsg</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a72c7f45a357c9a4f7f9161021c401913</anchor>
      <arglist>(const shapes::ShapeMsg &amp;shape, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>constructBodyFromMsgHelper</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a560ff06af99e61aa156cd4d4213d8474</anchor>
      <arglist>(const T &amp;shape_msg, const geometry_msgs::Pose &amp;pose)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>constructMarkerFromBody</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a7c6f383d63edbbff673a16615ae32c15</anchor>
      <arglist>(const bodies::Body *body, visualization_msgs::Marker &amp;msg)</arglist>
    </member>
    <member kind="function">
      <type>shapes::ShapeConstPtr</type>
      <name>constructShapeFromBody</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a30529e9655f4db725753d0e1b4c69bd7</anchor>
      <arglist>(const bodies::Body *body)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>createBodyFromShape</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>abf617e7be8a3078bc4f5a0b9b7bc5b8f</anchor>
      <arglist>(const shapes::Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>Body *</type>
      <name>createEmptyBodyFromShapeType</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>ac79f838d8913cb4082d0acfdd76af00d</anchor>
      <arglist>(const shapes::ShapeType &amp;shapeType)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>fromFcl</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a6c0c622bfdc03e182e8a676b91305c09</anchor>
      <arglist>(const FCL_Vec3 &amp;fclVec)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeBoundingBoxes</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>af16c692d644e6c7b0383b56d63d7e1e3</anchor>
      <arglist>(const std::vector&lt; AABB &gt; &amp;boxes, AABB &amp;mergedBox)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeBoundingBoxesApprox</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a906efd15235fdf3cb1518fbea03ea56f</anchor>
      <arglist>(const std::vector&lt; OBB &gt; &amp;boxes, OBB &amp;mergedBox)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>mergeBoundingSpheres</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>aabddd5487778a25ecff184c78702306c</anchor>
      <arglist>(const std::vector&lt; BoundingSphere &gt; &amp;spheres, BoundingSphere &amp;mergedSphere)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>normalize</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>ab88541fe95e24869665080430c1b41ed</anchor>
      <arglist>(const Eigen::Vector3d &amp;dir)</arglist>
    </member>
    <member kind="function">
      <type>FCL_Vec3</type>
      <name>toFcl</name>
      <anchorfile>namespacebodies.html</anchorfile>
      <anchor>a97bc488055f3bdcf69b15cf531ef8fa0</anchor>
      <arglist>(const Eigen::Vector3d &amp;eigenVec)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>bodies::detail</name>
    <filename>namespacebodies_1_1detail.html</filename>
    <class kind="struct">bodies::detail::intersc</class>
    <class kind="struct">bodies::detail::interscOrder</class>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>distanceSQR</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a0cbe2c15ef7eb2454b810dd45203618a</anchor>
      <arglist>(const Eigen::Vector3d &amp;p, const Eigen::Vector3d &amp;origin, const Eigen::Vector3d &amp;dir)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>filterIntersections</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a05d4332b3d5d82b20ff3cb0f909fcbc2</anchor>
      <arglist>(std::vector&lt; detail::intersc &gt; &amp;ipts, EigenSTL::vector_Vector3d *intersections, const size_t count)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::map&lt; size_t, size_t &gt; &amp;</type>
      <name>getTriangleForPlane</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a16f7804ed70c38e4263adb1e15c14c15</anchor>
      <arglist>(const ConvexMesh *mesh)</arglist>
    </member>
    <member kind="variable">
      <type>std::unordered_map&lt; const ConvexMesh *, std::map&lt; size_t, size_t &gt; &gt;</type>
      <name>g_triangle_for_plane_</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a0540c89340d12bf51c1f82c7c04ad50d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::mutex</type>
      <name>g_triangle_for_plane_mutex</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>aef220cb0c5cfc539a3338b0eab3751f6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const double</type>
      <name>ZERO</name>
      <anchorfile>namespacebodies_1_1detail.html</anchorfile>
      <anchor>a71a11264e1fc6c25eb27f02185f1a892</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>geometric_shapes</name>
    <filename>namespacegeometric__shapes.html</filename>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::BOX &gt;</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::CONE &gt;</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::CYLINDER &gt;</class>
    <class kind="struct">geometric_shapes::SolidPrimitiveDimCount&lt; shape_msgs::SolidPrimitive::SPHERE &gt;</class>
    <member kind="function">
      <type>void</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>a043808675d83896b09a83ef5c69ba018</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg, visualization_msgs::Marker &amp;marker, bool use_mesh_triangle_list=true)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>acb2c4ce33443c5341db25111e46eb779</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg, visualization_msgs::Marker &amp;marker)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getShapeExtents</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>a661fade87b7d82f8ce3f24cb6d803ff1</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg, double &amp;x_extent, double &amp;y_extent, double &amp;z_extent)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>getShapeExtents</name>
      <anchorfile>namespacegeometric__shapes.html</anchorfile>
      <anchor>a221bf55dda51162f99618f2a51b439f0</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg, double &amp;x_extent, double &amp;y_extent, double &amp;z_extent)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>octomap</name>
    <filename>namespaceoctomap.html</filename>
  </compound>
  <compound kind="namespace">
    <name>shapes</name>
    <filename>namespaceshapes.html</filename>
    <namespace>shapes::detail</namespace>
    <class kind="class">shapes::Box</class>
    <class kind="class">shapes::Cone</class>
    <class kind="class">shapes::Cylinder</class>
    <class kind="class">shapes::Mesh</class>
    <class kind="class">shapes::OcTree</class>
    <class kind="class">shapes::Plane</class>
    <class kind="class">shapes::Shape</class>
    <class kind="class">shapes::Sphere</class>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const Shape &gt;</type>
      <name>ShapeConstPtr</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae361d27bb9c03ed99275fc1b38185c10</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>boost::variant&lt; shape_msgs::SolidPrimitive, shape_msgs::Mesh, shape_msgs::Plane &gt;</type>
      <name>ShapeMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad733056c21f8393cb898630e512ffd10</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; Shape &gt;</type>
      <name>ShapePtr</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a364d1bfa62020b9f5c95c2e2a58779d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ShapeType</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>UNKNOWN_SHAPE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ad72b0f4396023d81d873a68d54a4b27d</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>SPHERE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ac093bbe694b61885456ea9cdf41ef84a</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CYLINDER</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ae9c54d1997ff1193f993fce6303d884b</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>CONE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002a9dcb0ebb715762e98a319af4e74b72f7</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>BOX</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ad9dc5f493cdf205abf4187a3b38d1a59</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>PLANE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002ae7174999b26eef63b0a901194ab7c2ad</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>MESH</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002aae3a7afd4e3c590128e89e1ee048f4ac</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumvalue">
      <name>OCTREE</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a398baa9cade400094956e6742dc41002a3bd76d47061050a9e9c792c533bc6a85</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>computeShapeBoundingSphere</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae4414a80a94fa6a8dad3f3de9be9b15d</anchor>
      <arglist>(const Shape *shape, Eigen::Vector3d &amp;center, double &amp;radius)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>computeShapeExtents</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aea7e0916996263f3b1d73000a16d89aa</anchor>
      <arglist>(const ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Eigen::Vector3d</type>
      <name>computeShapeExtents</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aa36c2f3d20d9970c60058276fe0e810c</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>constructMarkerFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a0aaee41a2e8e5111cb37d7bd076e9b8d</anchor>
      <arglist>(const Shape *shape, visualization_msgs::Marker &amp;mk, bool use_mesh_triangle_list=false)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>constructMsgFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>af2fafa8168f92f2ed5c9ae3748d0f032</anchor>
      <arglist>(const Shape *shape, ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7824b8686f01fa2f7e50e970a1466823</anchor>
      <arglist>(const shape_msgs::SolidPrimitive &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a729b444c0ec91afa656aabd53c3ce814</anchor>
      <arglist>(const shape_msgs::Plane &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad360695f21e256950f44d5bad693d62f</anchor>
      <arglist>(const shape_msgs::Mesh &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromMsg</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>aa7e5677850d893e3fbce1f0f17af3dc4</anchor>
      <arglist>(const ShapeMsg &amp;shape_msg)</arglist>
    </member>
    <member kind="function">
      <type>Shape *</type>
      <name>constructShapeFromText</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a9e50a80063122de1d81aa7889532d62f</anchor>
      <arglist>(std::istream &amp;in)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromAsset</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a45ac8dc499dcca9b4d2ce5b1e4ceff5e</anchor>
      <arglist>(const aiScene *scene, const Eigen::Vector3d &amp;scale, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromAsset</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a05ddfa7af3ff72e05dea89b8a2d932e0</anchor>
      <arglist>(const aiScene *scene, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a693232dbe21b0d92d7b08d7bca945a35</anchor>
      <arglist>(const char *buffer, std::size_t size, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7cd215791cfc18e5b1311ac833202a1f</anchor>
      <arglist>(const char *buffer, std::size_t size, const Eigen::Vector3d &amp;scale, const std::string &amp;assimp_hint=std::string())</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromResource</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ac8bcf235bea4d4cd524651eee07b0c92</anchor>
      <arglist>(const std::string &amp;resource)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromResource</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a0747930a810548cc02dc9b8ed0d59ed0</anchor>
      <arglist>(const std::string &amp;resource, const Eigen::Vector3d &amp;scale)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ab4a4c0028accac7c62bf9c6e5f533a27</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a9f2861755d6e56fffc98113c8b04e82b</anchor>
      <arglist>(const Box &amp;box)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a7047c069af85c7f67d272900ded32da4</anchor>
      <arglist>(const Sphere &amp;sphere)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ae4268bd5eca2b03f5ed7859f6f24bbc5</anchor>
      <arglist>(const Cylinder &amp;cylinder)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromShape</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a40dfb4700bbc77bef3a9ee0abc93532e</anchor>
      <arglist>(const Cone &amp;cone)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromVertices</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a4673bed87156e1a65aebc1ea91670d84</anchor>
      <arglist>(const EigenSTL::vector_Vector3d &amp;vertices, const std::vector&lt; unsigned int &gt; &amp;triangles)</arglist>
    </member>
    <member kind="function">
      <type>Mesh *</type>
      <name>createMeshFromVertices</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>ad6c414d8c0d07f8e631470ed1c6fa4d8</anchor>
      <arglist>(const EigenSTL::vector_Vector3d &amp;source)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a55cad70d71e949953cf8d1a627b3cec9</anchor>
      <arglist>(std::ostream &amp;ss, ShapeType type)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>saveAsText</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a1b88439464535790e61896034563fe5b</anchor>
      <arglist>(const Shape *shape, std::ostream &amp;out)</arglist>
    </member>
    <member kind="function">
      <type>const std::string &amp;</type>
      <name>shapeStringName</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>abe8c39046e7fa1e040cd32676ea5abe3</anchor>
      <arglist>(const Shape *shape)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeSTLBinary</name>
      <anchorfile>namespaceshapes.html</anchorfile>
      <anchor>a05f5274afb0b12fa09adc84c0977c6e2</anchor>
      <arglist>(const Mesh *mesh, std::vector&lt; char &gt; &amp;buffer)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>shapes::detail</name>
    <filename>namespaceshapes_1_1detail.html</filename>
  </compound>
</tagfile>
