cajun::rndf_t Class Reference

Route Network Definition File class. More...

#include <rndf.H>

List of all members.

Classes

class  builder_t
class  intersection_t
struct  lane_seg_t
class  lane_t
 Lane class. More...
class  segment_t
 Segment class. More...
class  spot_t
 Spot class. More...
class  waypoint_id_t
 Waypoint ID class. More...
class  waypoint_t
 Waypoint class. More...
class  zone_t
 Zone class. More...

Public Member Functions

std::string const & name () const
 RNDF name.
std::string const & format_version () const
 RNDF format version.
std::string const & creation_date () const
 RNDF creation date.
unsigned num_segments () const
 Number of segments.
segment_t const & segment (unsigned id_) const
 Segment.
unsigned num_zones () const
 Number of zones.
zone_t const & zone (unsigned id_) const
 Zone.
unsigned num_intersections () const
intersection_t const & intersection (unsigned id_) const
unsigned num_waypoints (unsigned id0_, unsigned id1_) const
 Number of waypoints in a lane/spot.
waypoint_t const & waypoint (waypoint_id_t const &id_) const
 Waypoints.
waypoint_t const & waypoint (unsigned id0_, unsigned id1_, unsigned id2_) const
 Waypoints.
unsigned num_checkpoints () const
 Number of checkpoints.
waypoint_t const & checkpoint (unsigned id_) const
 Checkpoint waypoint.
void relocate_wp (waypoint_id_t id_, double dx_, double dy_, double heading_diff_, int utm)
 move waypoint position Relocates waypoint id by x,y and lat,lon value given Also rotates entire set of points by heading_diff with waypoint 1,1,1 as origin
void print_all_intersections ()
 Prints all intersecion region.
void determine_intersections ()
 For each point on the rndf, call the intersection_at() function which adds adds intersection object if the point belongs to one which is not already noted.
void intersection_at (unsigned si, unsigned li, unsigned wi)
bool part_of_some_intersection (rndf_t::waypoint_id_t const &wp_id_, unsigned &inter_id_) const
 Returns true if wp_ is part of any of the intersection.

Static Public Member Functions

static rndf_tload (std::string const &path_, proj_t *proj_, bool relocate_=false)

Private Member Functions

void relocate (double dx_, double dy_)
 relocate all rndf points Relocates entire rndf by x,y values given

Private Attributes

std::string m_name
 RNDF name.
std::string m_format_version
 RNDF format version.
std::string m_creation_date
 RNDF creation date.
std::vector< segment_tm_segment
 Segments.
std::vector< zone_tm_zone
 Zones.
std::vector< waypoint_id_tm_checkpoint
 Checkpoint waypoint IDs.
std::vector< intersection_tm_intersections
 intersections
std::vector< std::vector
< std::vector< waypoint_t > > > 
m_waypoint
 RNDF Waypoints Waypoints are indexed as:

  • Segment ID / Lane ID / Waypoint ID
  • Zone ID / 0 / Waypoint ID
  • Zone ID / Spot ID / Waypoint ID.

Friends

class builder_t
class rndf_tool_t

Detailed Description

Route Network Definition File class.


Member Function Documentation

waypoint_t const& cajun::rndf_t::checkpoint ( unsigned  id_  )  const [inline]

Checkpoint waypoint.

Parameters:
id_ Checkpoint ID (1 to num_checkpoints())
Returns:
Checkpoint waypoint

References m_checkpoint, num_checkpoints(), and waypoint().

void rndf_t::intersection_at ( unsigned  si,
unsigned  li,
unsigned  wi 
)

brief Check if given point is already in any of the intersection, if not, creates a intersection and finds all the stop points and passing lanes through the interesection and add the intersection object to list of intersection in the rndf.

References cajun::rndf_t::intersection_t::determine_ir_region(), cajun::rndf_t::waypoint_t::entry(), cajun::rndf_t::waypoint_t::exit(), cajun::rndf_t::waypoint_t::id(), cajun::rndf_t::waypoint_t::is_exit(), cajun::rndf_t::waypoint_t::is_stop(), m_intersections, cajun::rndf_t::waypoint_t::num_entries(), cajun::rndf_t::waypoint_t::num_exits(), part_of_some_intersection(), and waypoint().

Referenced by determine_intersections().

unsigned cajun::rndf_t::num_waypoints ( unsigned  id0_,
unsigned  id1_ 
) const [inline]

Number of waypoints in a lane/spot.

Parameters:
id0_ Segment or Zone ID
id1_ Lane or Spot ID

References m_waypoint.

Referenced by cajun::rndf_t::zone_t::num_points(), cajun::rndf_t::spot_t::num_waypoints(), cajun::rndf_t::lane_t::num_waypoints(), and waypoint().

segment_t const& cajun::rndf_t::segment ( unsigned  id_  )  const [inline]

Segment.

Parameters:
id_ Segment ID (1 to num_segments())
Returns:
Segment

References m_segment, and num_segments().

Referenced by determine_intersections().

waypoint_t const& cajun::rndf_t::waypoint ( unsigned  id0_,
unsigned  id1_,
unsigned  id2_ 
) const [inline]

Waypoints.

Parameters:
id0_ Segment or Zone ID
id1_ Lane or Perimeter/Spot ID
id2_ Waypoint ID

References m_waypoint, and num_waypoints().

waypoint_t const& cajun::rndf_t::waypoint ( waypoint_id_t const &  id_  )  const [inline]
zone_t const& cajun::rndf_t::zone ( unsigned  id_  )  const [inline]

Zone.

Parameters:
id_ Zone ID (1 to num_zones())
Returns:
Zone

References m_zone, num_segments(), and num_zones().

Referenced by determine_intersections().


The documentation for this class was generated from the following files:

Generated on Fri Apr 9 10:45:13 2010 for MDF/RNDF Library by  doxygen 1.6.1