Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mobile_robotics
autonomous_driving
autonomous_driving_tools
Commits
c7069460
Commit
c7069460
authored
Feb 05, 2021
by
Sergi Hernandez
Browse files
Initial doxygen documentation for the road class.
parent
2ad52efb
Changes
1
Show whitespace changes
Inline
Side-by-side
include/opendrive_road.h
View file @
c7069460
...
...
@@ -41,22 +41,158 @@ class COpendriveRoad
void
reindex
(
void
);
void
prune
(
std
::
vector
<
unsigned
int
>
&
path_nodes
);
public:
/**
* \brief Default constructor
*/
COpendriveRoad
();
/**
* \brief Copy constructor
*
* \param object constant reference to the object to be copied
*/
COpendriveRoad
(
const
COpendriveRoad
&
object
);
/**
* \brief Load an Opendrive road description
*
* This function loads the Opendrive description file initializes the internal
* data structures. If the file referenced by the parameter does not exist or
* the format is not valid, this function will throw an exception.
*
* \param filename the name of the opendrive file to load with the extension
* and the full path.
*/
void
load
(
const
std
::
string
&
filename
);
/**
* \brief Sets the resolution
*
* This functions sets the default resolution used to generate all the internal
* geomtry. This functions automatically changes the resolution of all underlying
* objects.
*
* \param res desired value of the resolution in meters. The default resolution
* is 0.1 m.
*/
void
set_resolution
(
double
res
);
/**
* \brief Sets the scale factor
*
* This function sets the scale factor to be applied to all the internal geometry.
* The scale factor makes it possible to change the size of the road withou actually
* modifying the internal geometry data. This functions automatically changes
* the scale factor of all underlying objects.
*
* \param scale desired scale factor. A value bigger than 1.0 will scale down the
* road and a value smaller than 1.0 will scale it up. The default
* value is 1.0.
*/
void
set_scale_factor
(
double
scale
);
/**
* \brief Sets the minim road length
*
* This function sets the length threshold to include any imported road segments into
* the internal structure. This functions automatically changes the minimum road length
* of all underlying objects.
*
* \param length threshold value to include a road segment. The default value is 0.01.
*/
void
set_min_road_length
(
double
length
);
/**
* \brief Returns the resolution
*
* \return This function returns the current resolution
*/
double
get_resolution
(
void
)
const
;
/**
* \brief Returns the scale factor
*
* \return This function returns the current scale factor
*/
double
get_scale_factor
(
void
)
const
;
/**
* \brief Returns the minimum road length
*
* \return This function returns the current minimum road length
*/
double
get_min_road_length
(
void
)
const
;
/**
* \brief Returns the number of road segment objects in the whole road
*
* \return This function returns the number of road segments present in
* whole road. The range of valid indexes goes from 0 to the
* value returned by this function -1.
*/
unsigned
int
get_num_segments
(
void
)
const
;
/**
* \brief Returns a road segment by index
*
* This function returns a constant reference to the desired road segment
* object, which can not be modified by the user. If the index is not valid,
* this function will throw an exception.
*
* \param index is the 0 based index of the desired road segment
*
* \return constant reference to the desired road segment object.
*/
const
COpendriveRoadSegment
&
get_segment
(
unsigned
int
index
)
const
;
/**
* \brief Returns the number of lane objects in the whole road
*
* \return This function returns the number of lanes present in whole
* road. The range of valid indexes goes from 0 to the value
* returned by this function -1.
*/
unsigned
int
get_num_lanes
(
void
)
const
;
/**
* \brief Returns a lane by index
*
* This function returns a constant reference to the desired lane
* object, which can not be modified by the user. If the index is not valid,
* this function will throw an exception.
*
* \param index is the 0 based index of the desired lane
*
* \return constant reference to the desired lane object.
*/
const
COpendriveLane
&
get_lane
(
unsigned
int
index
)
const
;
/**
* \brief Returns the number of road node objects in the whole road
*
* \return This function returns the number of road nodes present in whole
* road. The range of valid indexes goes from 0 to the value
* returned by this function -1.
*/
unsigned
int
get_num_nodes
(
void
)
const
;
/**
* \brief Returns a road node by index
*
* This function returns a constant reference to the desired road node
* object, which can not be modified by the user. If the index is not valid,
* this function will throw an exception.
*
* \param index is the 0 based index of the desired road node
*
* \return constant reference to the desired road node object.
*/
const
COpendriveRoadNode
&
get_node
(
unsigned
int
index
)
const
;
/**
* \brief overloaded index operator
*
* This operator is similar to the get_segment() function. It returns a
* constant reference to the desired road segment object, which can not
* be modified by the user. If the index is not valid,this function will
* throw an exception.
*
* \param index is the 0 based index of the desired road segment
*
* \return constant reference to the desired road segment object.
*/
const
COpendriveRoadSegment
&
operator
[](
std
::
size_t
index
);
/**
* \brief gets the closest node to a given point
*
* This functions searches all the road nodes for the one which is closest to
* a given position and returns it. The distance from the closest node to the
*/
const
COpendriveRoadNode
&
get_closest_node
(
TOpendriveWorldPose
&
pose
,
double
&
distance
,
double
angle_tol
=
0.1
)
const
;
unsigned
int
get_closest_node_index
(
TOpendriveWorldPose
&
pose
,
double
&
distance
,
double
angle_tol
=
0.1
)
const
;
const
COpendriveLane
&
get_closest_lane
(
TOpendriveWorldPose
&
pose
,
double
&
distance
,
double
angle_tol
=
0.1
)
const
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment