Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
autonomous_driving_tools
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
mobile_robotics
autonomous_driving
autonomous_driving_tools
Commits
c7069460
Commit
c7069460
authored
4 years ago
by
Sergi Hernandez
Browse files
Options
Downloads
Patches
Plain Diff
Initial doxygen documentation for the road class.
parent
2ad52efb
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
include/opendrive_road.h
+136
-0
136 additions, 0 deletions
include/opendrive_road.h
with
136 additions
and
0 deletions
include/opendrive_road.h
+
136
−
0
View file @
c7069460
...
@@ -41,22 +41,158 @@ class COpendriveRoad
...
@@ -41,22 +41,158 @@ class COpendriveRoad
void
reindex
(
void
);
void
reindex
(
void
);
void
prune
(
std
::
vector
<
unsigned
int
>
&
path_nodes
);
void
prune
(
std
::
vector
<
unsigned
int
>
&
path_nodes
);
public:
public:
/**
* \brief Default constructor
*/
COpendriveRoad
();
COpendriveRoad
();
/**
* \brief Copy constructor
*
* \param object constant reference to the object to be copied
*/
COpendriveRoad
(
const
COpendriveRoad
&
object
);
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
);
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
);
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
);
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
);
void
set_min_road_length
(
double
length
);
/**
* \brief Returns the resolution
*
* \return This function returns the current resolution
*/
double
get_resolution
(
void
)
const
;
double
get_resolution
(
void
)
const
;
/**
* \brief Returns the scale factor
*
* \return This function returns the current scale factor
*/
double
get_scale_factor
(
void
)
const
;
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
;
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
;
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
;
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
;
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
;
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
;
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
;
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
);
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
;
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
;
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
;
const
COpendriveLane
&
get_closest_lane
(
TOpendriveWorldPose
&
pose
,
double
&
distance
,
double
angle_tol
=
0.1
)
const
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment