Template Class base_graph_view_entity

Inheritance Relationships

Base Type

  • public rpdecorator::decorator< TGraphViewType >

Derived Type

Class Documentation

template<typename TGraphType, typename TGraphViewType>
class base_graph_view_entity : public rpdecorator::decorator<TGraphViewType>

Representation of an entity within the arena which is a view from a graph. This representation makes it much easier to query and obtain summary information about the underlying subgraph without having to iterate over vertices/edges, by providing a “bounding-box” interface to the subgraph.

It has the following characteristics:

  • Does not “exist” in the sense that it is not detectable by robots.

  • Has no concept of movability/immovability (it is abstract).

Subclassed by cosm::repr::graph3D_view_entity< TGraphType, TGraphViewType >

Public Types

using decoratee_type = typename decorator_type::decoratee_type
using decorator_type = rpdecorator::decorator<graph_view_type>
using edge_descriptor = typename TGraphViewType::edge_descriptor
using edge_property_type = typename TGraphViewType::edge_property_type
using graph_type = TGraphType
using graph_view_type = TGraphViewType
using vertex_coord_type = typename TGraphViewType::vertex_coord_type
using vertex_descriptor = typename TGraphViewType::vertex_descriptor
using vertex_property_type = typename TGraphViewType::vertex_property_type

Public Functions

inline base_graph_view_entity(graph_view_type &&view, const rspatial::euclidean_dist &unit)
virtual ~base_graph_view_entity(void) = default
virtual const edge_property_type *access(const edge_descriptor vd) const = 0
virtual const vertex_property_type *access(const vertex_coord_type &c) const = 0
virtual const vertex_property_type *access(const vertex_descriptor vd) const = 0

Get the vertex associated with a particular set of coordinates within the view. Asserts that coordinates are within the bounds of the graph underlying the view.

Parameters:

c – The coordinates.

Returns:

A reference to the vertex.

virtual bool contains(const vertex_coord_type &c) const = 0

Determine if the specified coordinates lie within the view entity.

template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
template<typename ...Args>
inline auto Func(Args&&... args) -> decltype(std::declval<decltype(Member)>().Func(args...))
RCPPSW_DECORATE_DECL(vertex_iterator)
RCPPSW_WRAP_DECLDEF(adjacent_vertices)
RCPPSW_WRAP_DECLDEF(find)
RCPPSW_WRAP_DECLDEF(out_edges)
RCPPSW_WRAP_DECLDEF(target)
RCPPSW_WRAP_DECLDEF(vertices)

Protected Functions

inline const rspatial::euclidean_dist &unit(void) const
inline graph_view_type &view(void)
inline const graph_view_type &view(void) const