Tesseract 0.28.4
Loading...
Searching...
No Matches
graph.h File Reference

A basic scene graph using boost. More...

#include <tesseract/common/macros.h>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/properties.hpp>
#include <string>
#include <unordered_map>
#include <Eigen/Geometry>
#include <tesseract/common/fwd.h>

Classes

struct  tesseract::scene_graph::ShortestPath
 Holds the shortest path information. More...
 
class  tesseract::scene_graph::SceneGraph
 

Typedefs

using tesseract::scene_graph::GraphProperty = boost::property< boost::graph_name_t, std::string, boost::property< boost::graph_root_t, std::string > >
 Defines the boost graph property.
 
using tesseract::scene_graph::VertexProperty = boost::property< boost::vertex_link_t, std::shared_ptr< Link > >
 Defines the boost graph vertex property.
 
using tesseract::scene_graph::EdgeProperty = boost::property< boost::edge_joint_t, std::shared_ptr< Joint >, boost::property< boost::edge_weight_t, double > >
 EdgeProperty.
 
using tesseract::scene_graph::Graph = boost::adjacency_list< boost::listS, boost::listS, boost::bidirectionalS, VertexProperty, EdgeProperty, GraphProperty >
 

Enumerations

enum  vertex_link_t : std::uint8_t { vertex_link }
 
enum  edge_joint_t : std::uint8_t { edge_joint }
 
enum  graph_root_t : std::uint8_t { graph_root }
 

Functions

 boost::BOOST_INSTALL_PROPERTY (vertex, link)
 
 boost::BOOST_INSTALL_PROPERTY (edge, joint)
 
 boost::BOOST_INSTALL_PROPERTY (graph, root)
 
template<class Archive >
void tesseract::scene_graph::serialize (Archive &ar, SceneGraph &obj)
 
std::ostream & tesseract::scene_graph::operator<< (std::ostream &os, const ShortestPath &path)
 

Detailed Description

A basic scene graph using boost.

Author
Levi Armstrong
Date
Dec 18, 2017
License
Software License Agreement (Apache License)
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Typedef Documentation

◆ EdgeProperty

using tesseract::scene_graph::EdgeProperty = typedef boost::property<boost::edge_joint_t, std::shared_ptr<Joint>, boost::property<boost::edge_weight_t, double> >

EdgeProperty.

The edge_weight represents the distance between the two links