Python Bindings pycrccosy¶
Segment
class¶
- class Segment¶
- __init__(self: commonroad_dc.pycrccosy.Segment, arg0: numpy.ndarray[numpy.float64[2, 1]], arg1: numpy.ndarray[numpy.float64[2, 1]], arg2: numpy.ndarray[numpy.float64[2, 1]], arg3: numpy.ndarray[numpy.float64[2, 1]]) None ¶
- Parameters
p_1 – start point of the segment
p_2 – end point of the segment
t_1 – tangent vector at the start of the segment
t_2 – tangent vector at the end of the segment
- length(self: commonroad_dc.pycrccosy.Segment) float ¶
- Returns
segment length
- normal_segment_end(self: commonroad_dc.pycrccosy.Segment) numpy.ndarray[numpy.float64[2, 1]] ¶
- Returns
normal vector at the end of the segment
- normal_segment_start(self: commonroad_dc.pycrccosy.Segment) numpy.ndarray[numpy.float64[2, 1]] ¶
- Returns
normal vector at the start of the segment
- pt_1(self: commonroad_dc.pycrccosy.Segment) numpy.ndarray[numpy.float64[2, 1]] ¶
- Returns
start point of segment in Cartesian coordinates
- pt_2(self: commonroad_dc.pycrccosy.Segment) numpy.ndarray[numpy.float64[2, 1]] ¶
- Returns
end point of segment in Cartesian coordinates
CurvilinearCoordinateSystem
class¶
- class CurvilinearCoordinateSystem¶
- __getstate__(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) tuple ¶
- __init__(*args, **kwargs)¶
Overloaded function.
__init__(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]]) -> None
__init__(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]], arg1: float, arg2: float) -> None
__init__(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]], arg1: float, arg2: float, arg3: float) -> None
Creates a curvilinear coordinate system aligned to the given reference path.The unique projection domain along the reference path is automatically computed.The absolute value of the lateral distance of the projection domain border from the reference path islimited to default_projection_domain_limit.To account for numeric imprecisions, the parameter eps reduces the computed lateral distance of theprojection domain border from the reference path.
- Parameters
reference_path – 2D polyline in Cartesian coordinates
default_projection_domain_limit – maximum absolute distance of the projection domain borderfrom the reference path, defaults to 20
eps – reduces the lateral distance of the projection domain border from the reference path, defaults to 0.1
eps2 – if nonzero, add additional segments to the beginning (3 segments) and the end (2 segments) of thereference path to enable the conversion of the points near the beginning and the end of the reference path,eps2 defaults to 1e-4.
- __setstate__(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: tuple) None ¶
- cartesian_point_inside_projection_domain(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float, arg1: float) bool ¶
Validates if a point in global coordinates is within the unique projection domain of the curvilinear coordinate system.
- Parameters
x – x-coordinate in the Cartesian coordinate system
y – y-coordinate in the Cartesian coordinate system
- Returns
True if the point is inside or on the boundary of the projection domain, False if the point is outside of the boundary of the projection domain.
- compute_and_set_curvature(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) int ¶
Automatically computes and sets the curvature information for the reference path.
- convert_list_of_points_to_cartesian_coords(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]], arg1: int) List[numpy.ndarray[numpy.float64[2, 1]]] ¶
Converts list of points to the cartesian coordinate system.
- Parameters
points – vector of points in the curvilinear coordinate frame
num_omp_threads – number of OMP threads for computation
- Returns
transformed points
- convert_list_of_points_to_curvilinear_coords(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]], arg1: int) List[numpy.ndarray[numpy.float64[2, 1]]] ¶
Converts list of points to the curvilinear coordinate system.
- Parameters
points – vector of points in the global coordinate frame
num_omp_threads – number of OMP threads for computation
- Returns
transformed points
- convert_list_of_polygons_to_curvilinear_coords_and_rasterize(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[List[numpy.ndarray[numpy.float64[2, 1]]]], arg1: List[int], arg2: int, arg3: int) tuple ¶
Transforms polygons in the Cartesian coordinates to the curvilinear coordinates.
- Parameters
polygons – list of input polygons
groups_of_polygons – group ID (from 0 to num_polygon_groups-1) for each input polygon, list of integers
num_polygon_groups – number of polygon groups
num_omp_threads – number of OMP threads for parallel computation
- Returns
(list of lists of output polygons, list of lists of rasterized output polygons). Both outermost lists contain lists of output polygons - for each polygon group
- convert_rectangle_to_cartesian_coords(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float, arg1: float, arg2: float, arg3: float) tuple ¶
Transforms a rectangle in the curvilinear coordinates to the Cartesian coordinates. Additionally, a triangle mesh of the resulting polygon is generated.
- Parameters
s_lo – minimum longitudinal coordinate of the rectangle
s_hi – maximum longitudinal coordinate of the rectangle
l_lo – minimum lateral coordinate of the rectangle.
l_hi – maximum lateral coordinate of the rectangle
- Returns
(transformed rectangle in Cartesian coordinates, triangle_mesh)
- convert_to_cartesian_coords(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float, arg1: float) numpy.ndarray[numpy.float64[2, 1]] ¶
Transforms a point in the curvilinear coordinate frame to the global coordinate frame.
- Parameters
s – longitudinal coordinate
l – lateral coordinate
- Returns
point in global coordinates
- convert_to_curvilinear_coords(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float, arg1: float) object ¶
Transforms a Cartesian point to the curvilinear frame.
- Parameters
x – x-coordinate in the Cartesian coordinate system
y – y-coordinate in the Cartesian coordinate system
- Returns
point in the curvilinear frame.
- convert_to_curvilinear_coords_and_get_segment_idx(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float, arg1: float) list ¶
Transforms a Cartesian point to the curvilinear frame and returns the segment index, in which the point is contained.
- Parameters
x – x-coordinate in the Cartesian coordinate system
y – y-coordinate in the Cartesian coordinate system
- Returns
(point in the curvilinear frame, segment index in which the point is contained)
- curvature_range(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float, arg1: float) Tuple[float, float] ¶
Returns an interval of the curvatures of the reference path within a given range of longitudinal positions
- Parameters
s_min – minimum longitudinal position
s_max – maximum longitudinal position
- Returns
enclosing interval of curvature values of the reference path within the range [s_min, s_max]
- curvilinear_projection_domain(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) List[numpy.ndarray[numpy.float64[2, 1]]] ¶
Returns the border of the unique projection domain of the curvilinear coordinate system in curvilinear coordinates
- Returns
2D line string representing the border of the projection domain
- determine_subset_of_polygon_within_curvilinear_projection_domain(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]]) List[List[numpy.ndarray[numpy.float64[2, 1]]]] ¶
Computes the parts of a polygon (given in curvilinear coordinates) which are inside the curvilinear projection domain of the curvilinear coordinate system.
- Parameters
polygon – vertices of the boundary of the polygon; vertices must be sorted clockwise and given as closed list (the last vertex must be the same as the first one)
- Returns
parts of the polygon which are inside the curvilinear projection domain.
- determine_subset_of_polygon_within_projection_domain(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[numpy.ndarray[numpy.float64[2, 1]]]) List[List[numpy.ndarray[numpy.float64[2, 1]]]] ¶
Computes the parts of a polygon which are inside the unique projection domain of the curvilinear coordinate system.
- Parameters
polygon – vertices of the boundary of the polygon; vertices must be sorted clockwise and given as closed list (the last vertex must be the same as the first one)
- Returns
parts of the polygon which are inside the projection domain.
- determine_subsets_of_multi_polygons_within_projection_domain(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[List[numpy.ndarray[numpy.float64[2, 1]]]], arg1: List[int], arg2: int) tuple ¶
Intersects each of the input polygons with the projection domain and returns the result of the intersection.
- Parameters
polygons – input list of polygons
groups_of_polygons – list of integers (of the same length as the list of input polygons) indicating the integer ID of the polygon group for each input polygon. It is useful because the list of output polygons after the intersection may be shorter and we return the polygon group IDs for each of the output polygons.
num_omp_threads – number of OMP threads for parallel computation
- Returns
(list of polygons produced after the intersection, list containing group ID for each of the output polygons).
- get_curvature(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) List[float] ¶
Returns the curvature of the reference path as a list.If the returned list is empty, please set the curvature first usingthe member function compute_and_set_curvature().
- Returns
list with curvature of reference path
- length(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) float ¶
- Returns
length of the reference path of the curvilinear coordinate system
- maximum_curvature(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) float ¶
Returns the maximum curvature along the reference path of the curvilinear coordinate system.
- Returns
maximum curvature
- maximum_curvature_radius(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) float ¶
Returns the maximum curvature radius along the reference path of the curvilinear coordinate system
- Returns
maximum curvature radius
- minimum_curvature(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) float ¶
Returns the minimum curvature along the reference path of the curvilinear coordinate system.
- Returns
minimum curvature
- minimum_curvature_radius(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) float ¶
Returns the minimum curvature radius along the reference path of the curvilinear coordinate system
- Returns
minimum curvature radius
- normal(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float) numpy.ndarray[numpy.float64[2, 1]] ¶
Normal vector at a specific longitudinal coordinate.
- Parameters
s – longitudinal coordinate.
- Returns
normal vector
- projection_domain(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) List[numpy.ndarray[numpy.float64[2, 1]]] ¶
Returns the border of the unique projection domain of the curvilinear coordinate system in Cartesian coordinates
- Returns
2D line string representing the border of the projection domain
- reference_path(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) List[numpy.ndarray[numpy.float64[2, 1]]] ¶
Returns the reference path (extended in both directions by default, please refer to the parameter of the class constructor eps2 for more details)
- Returns
2D polyline representing the reference path (extended)
- reference_path_original(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) List[numpy.ndarray[numpy.float64[2, 1]]] ¶
Returns the initial reference path without its extension
- Returns
2D polyline representing the reference path (original)
- segments_longitudinal_coordinates(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem) List[float] ¶
- Returns
array containing longitudinal coordinates corresponding to the start point of each segment
- set_curvature(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: List[float]) None ¶
Currently, the curvature of the reference path is not computed automatically upon construction. The function sets the curvature information manually. Note that the validity of the curvature is not checked, e.g., if it indeed corresponds to the reference pathof the curvilinear coordinate system. For an automatic version, please also refer to the member function compute_and_set_curvature.
- Parameters
curvature – curvature of the reference path
- tangent(self: commonroad_dc.pycrccosy.CurvilinearCoordinateSystem, arg0: float) numpy.ndarray[numpy.float64[2, 1]] ¶
Tangent vector at a specific longitudinal coordinate.
- Parameters
s – longitudinal coordinate
- Returns
tangent vector