CARLA
 
载入中...
搜索中...
未找到
| Public 成员函数 | 静态 Public 成员函数 | Public 属性 | Private 成员函数 | 所有成员列表
carla::geom::MeshFactory类 参考

Mesh辅助生成器 更多...

#include <MeshFactory.h>

+ carla::geom::MeshFactory 的协作图:

struct  RoadParameters
 道路生成参数 更多...
 

Public 成员函数

std::unique_ptr< MeshGenerate (const road::Lane &lane) const
 生成定义整个车道的网格
 
std::unique_ptr< MeshGenerate (const road::Lane &lane, const double s_start, const double s_end) const
 从给定的s起始和结束生成车道的网格
 
std::unique_ptr< MeshGenerate (const road::LaneSection &lane_section) const
 生成定义一段车道的网格
 
std::unique_ptr< MeshGenerate (const road::Road &road) const
 生成定义一条道路的网格
 
void GenerateAllOrderedWithMaxLen (const road::Road &road, std::map< road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > &roads) const
 生成按顺序排列的道路网格,限制最大长度
 
std::vector< std::unique_ptr< Mesh > > GenerateAllWithMaxLen (const road::Road &road) const
 生成带有所有模拟所需特性的分块道路
 
void GenerateLaneMarkForRoad (const road::Road &road, std::vector< std::unique_ptr< Mesh > > &inout, std::vector< std::string > &outinfo) const
 为道路生成车道标记
 
void GenerateLaneMarksForCenterLine (const road::Road &road, const road::LaneSection &lane_section, const road::Lane &lane, std::vector< std::unique_ptr< Mesh > > &inout, std::vector< std::string > &outinfo) const
 仅为中心线(ID为0的线)生成车道标记
 
void GenerateLaneMarksForNotCenterLine (const road::LaneSection &lane_section, const road::Lane &lane, std::vector< std::unique_ptr< Mesh > > &inout, std::vector< std::string > &outinfo) const
 为非中心线(即ID不为0的所有线)生成车道标记
 
void GenerateLaneSectionOrdered (const road::LaneSection &lane_section, std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > &result) const
 生成按顺序排列的车道段网格
 
std::unique_ptr< MeshGenerateLeftWall (const road::Lane &lane, const double s_start, const double s_end) const
 在车道的左侧生成一个墙状网格
 
std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > GenerateOrderedWithMaxLen (const road::LaneSection &lane_section) const
 生成一个定义车道段的按顺序排列的网格列表,限制最大长度
 
std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > GenerateOrderedWithMaxLen (const road::Road &road) const
 生成一个定义道路的按顺序排列的网格列表,限制最大长度
 
std::unique_ptr< MeshGenerateRightWall (const road::Lane &lane, const double s_start, const double s_end) const
 在车道的右侧生成一个墙状网格
 
std::unique_ptr< MeshGenerateSidewalk (const road::Lane &lane) const
 生成车道的人行道网格
 
std::unique_ptr< MeshGenerateSidewalk (const road::Lane &lane, const double s_start, const double s_end) const
 从给定的s起始和结束生成车道的人行道网格
 
std::unique_ptr< MeshGenerateSidewalk (const road::LaneSection &lane_section) const
 生成车道段的人行道网格
 
std::unique_ptr< MeshGenerateTesselated (const road::Lane &lane) const
 生成定义整个车道的网格,使用更高的细分
 
std::unique_ptr< MeshGenerateTesselated (const road::Lane &lane, const double s_start, const double s_end) const
 用更高的细分生成从给定的s起始和结束的车道网格
 
std::unique_ptr< MeshGenerateWalls (const road::LaneSection &lane_section) const
 生成一个网格,表示道路角落的墙,以避免车辆掉下去
 
std::vector< std::unique_ptr< Mesh > > GenerateWallsWithMaxLen (const road::LaneSection &lane_section) const
 生成一个定义车道段安全墙的网格列表,限制最大长度
 
std::vector< std::unique_ptr< Mesh > > GenerateWallsWithMaxLen (const road::Road &road) const
 生成一个定义道路安全墙的网格列表,限制最大长度
 
std::vector< std::unique_ptr< Mesh > > GenerateWithMaxLen (const road::LaneSection &lane_section) const
 生成一个定义车道段的网格列表,限制最大长度
 
std::vector< std::unique_ptr< Mesh > > GenerateWithMaxLen (const road::Road &road) const
 生成一个定义道路的网格列表,限制最大长度
 
std::unique_ptr< MeshMergeAndSmooth (std::vector< std::unique_ptr< Mesh > > &lane_meshes) const
 合并并平滑多个车道网格
 
 MeshFactory (rpc::OpendriveGenerationParameters params=rpc::OpendriveGenerationParameters())
 

静态 Public 成员函数

static uint32_t SelectVerticesInWidth (uint32_t default_num_vertices, road::Lane::LaneType type)
 在给定车道类型下选择的宽度内的顶点数量
 

Public 属性

RoadParameters road_param
 

Private 成员函数

std::pair< geom::Vector3D, geom::Vector3DComputeEdgesForLanemark (const road::LaneSection &lane_section, const road::Lane &lane, const double s_current, const double lanemark_width) const
 计算车道标记的当前s位置两侧的点
 

详细描述

Mesh辅助生成器

在文件 MeshFactory.h22 行定义.

构造及析构函数说明

◆ MeshFactory()

carla::geom::MeshFactory::MeshFactory ( rpc::OpendriveGenerationParameters params = rpc::OpendriveGenerationParameters())

成员函数说明

◆ ComputeEdgesForLanemark()

std::pair< geom::Vector3D, geom::Vector3D > carla::geom::MeshFactory::ComputeEdgesForLanemark ( const road::LaneSection & lane_section,
const road::Lane & lane,
const double s_current,
const double lanemark_width ) const
private

计算车道标记的当前s位置两侧的点

在文件 MeshFactory.cpp1204 行定义.

引用了 carla::geom::MeshFactory::RoadParameters::extra_lane_width, carla::road::Lane::GetCornerPositions(), carla::road::LaneSection::GetLanes(), carla::geom::Vector3D::Length() , 以及 road_param.

被这些函数引用 GenerateLaneMarksForCenterLine() , 以及 GenerateLaneMarksForNotCenterLine().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ Generate() [1/4]

std::unique_ptr< Mesh > carla::geom::MeshFactory::Generate ( const road::Lane & lane) const

生成定义整个车道的网格

在文件 MeshFactory.cpp53 行定义.

引用了 carla::geom::EPSILON, Generate(), carla::road::Lane::GetDistance() , 以及 carla::road::Lane::GetLength().

+ 函数调用图:

◆ Generate() [2/4]

std::unique_ptr< Mesh > carla::geom::MeshFactory::Generate ( const road::Lane & lane,
const double s_start,
const double s_end ) const

◆ Generate() [3/4]

std::unique_ptr< Mesh > carla::geom::MeshFactory::Generate ( const road::LaneSection & lane_section) const

生成定义一段车道的网格

在文件 MeshFactory.cpp44 行定义.

引用了 Generate() , 以及 carla::road::LaneSection::GetLanes().

+ 函数调用图:

◆ Generate() [4/4]

std::unique_ptr< Mesh > carla::geom::MeshFactory::Generate ( const road::Road & road) const

生成定义一条道路的网格

在文件 MeshFactory.cpp35 行定义.

引用了 Generate() , 以及 carla::road::Road::GetLaneSections().

被这些函数引用 Generate(), Generate(), Generate() , 以及 GenerateWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateAllOrderedWithMaxLen()

void carla::geom::MeshFactory::GenerateAllOrderedWithMaxLen ( const road::Road & road,
std::map< road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > & roads ) const

生成按顺序排列的道路网格,限制最大长度

在文件 MeshFactory.cpp747 行定义.

引用了 GenerateOrderedWithMaxLen().

+ 函数调用图:

◆ GenerateAllWithMaxLen()

std::vector< std::unique_ptr< Mesh > > carla::geom::MeshFactory::GenerateAllWithMaxLen ( const road::Road & road) const

生成带有所有模拟所需特性的分块道路

在文件 MeshFactory.cpp717 行定义.

引用了 GenerateWallsWithMaxLen(), GenerateWithMaxLen() , 以及 carla::road::Road::IsJunction().

+ 函数调用图:

◆ GenerateLaneMarkForRoad()

void carla::geom::MeshFactory::GenerateLaneMarkForRoad ( const road::Road & road,
std::vector< std::unique_ptr< Mesh > > & inout,
std::vector< std::string > & outinfo ) const

◆ GenerateLaneMarksForCenterLine()

void carla::geom::MeshFactory::GenerateLaneMarksForCenterLine ( const road::Road & road,
const road::LaneSection & lane_section,
const road::Lane & lane,
std::vector< std::unique_ptr< Mesh > > & inout,
std::vector< std::string > & outinfo ) const

◆ GenerateLaneMarksForNotCenterLine()

void carla::geom::MeshFactory::GenerateLaneMarksForNotCenterLine ( const road::LaneSection & lane_section,
const road::Lane & lane,
std::vector< std::unique_ptr< Mesh > > & inout,
std::vector< std::string > & outinfo ) const

◆ GenerateLaneSectionOrdered()

void carla::geom::MeshFactory::GenerateLaneSectionOrdered ( const road::LaneSection & lane_section,
std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > & result ) const

生成按顺序排列的车道段网格

在文件 MeshFactory.cpp200 行定义.

引用了 carla::road::Lane::Bidirectional, carla::road::Lane::Biking, carla::road::Lane::Driving, GenerateSidewalk(), GenerateTesselated(), carla::road::LaneSection::GetLanes(), carla::road::Lane::Parking, road_param, SelectVerticesInWidth(), carla::road::Lane::Shoulder, carla::road::Lane::Sidewalk , 以及 carla::geom::MeshFactory::RoadParameters::vertex_width_resolution.

被这些函数引用 GenerateOrderedWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateLeftWall()

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateLeftWall ( const road::Lane & lane,
const double s_start,
const double s_end ) const

在车道的左侧生成一个墙状网格

在文件 MeshFactory.cpp448 行定义.

引用了 carla::geom::Mesh::AddMaterial(), carla::geom::Mesh::AddTriangleStrip(), DEBUG_ASSERT, carla::geom::Mesh::EndMaterial(), carla::geom::MeshFactory::RoadParameters::extra_lane_width, carla::road::Lane::GetCornerPositions(), carla::road::Lane::GetDistance(), carla::road::Lane::GetId(), carla::road::Lane::GetLength(), carla::road::Lane::GetType(), carla::road::Lane::IsStraight(), carla::geom::MESH_EPSILON, RELEASE_ASSERT, carla::geom::MeshFactory::RoadParameters::resolution, road_param, carla::road::Lane::Sidewalk , 以及 carla::geom::MeshFactory::RoadParameters::wall_height.

被这些函数引用 GenerateWalls() , 以及 GenerateWallsWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateOrderedWithMaxLen() [1/2]

std::map< road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > carla::geom::MeshFactory::GenerateOrderedWithMaxLen ( const road::LaneSection & lane_section) const

◆ GenerateOrderedWithMaxLen() [2/2]

std::map< road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > carla::geom::MeshFactory::GenerateOrderedWithMaxLen ( const road::Road & road) const

生成一个定义道路的按顺序排列的网格列表,限制最大长度

在文件 MeshFactory.cpp541 行定义.

引用了 GenerateOrderedWithMaxLen() , 以及 carla::road::Road::GetLaneSections().

被这些函数引用 GenerateAllOrderedWithMaxLen() , 以及 GenerateOrderedWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateRightWall()

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateRightWall ( const road::Lane & lane,
const double s_start,
const double s_end ) const

在车道的右侧生成一个墙状网格

在文件 MeshFactory.cpp398 行定义.

引用了 carla::geom::Mesh::AddMaterial(), carla::geom::Mesh::AddTriangleStrip(), DEBUG_ASSERT, carla::geom::Mesh::EndMaterial(), carla::geom::MeshFactory::RoadParameters::extra_lane_width, carla::road::Lane::GetCornerPositions(), carla::road::Lane::GetDistance(), carla::road::Lane::GetId(), carla::road::Lane::GetLength(), carla::road::Lane::GetType(), carla::road::Lane::IsStraight(), carla::geom::MESH_EPSILON, RELEASE_ASSERT, carla::geom::MeshFactory::RoadParameters::resolution, road_param, carla::road::Lane::Sidewalk , 以及 carla::geom::MeshFactory::RoadParameters::wall_height.

被这些函数引用 GenerateWalls() , 以及 GenerateWallsWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateSidewalk() [1/3]

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateSidewalk ( const road::Lane & lane) const

生成车道的人行道网格

在文件 MeshFactory.cpp256 行定义.

引用了 carla::geom::EPSILON, GenerateSidewalk(), carla::road::Lane::GetDistance() , 以及 carla::road::Lane::GetLength().

+ 函数调用图:

◆ GenerateSidewalk() [2/3]

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateSidewalk ( const road::Lane & lane,
const double s_start,
const double s_end ) const

◆ GenerateSidewalk() [3/3]

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateSidewalk ( const road::LaneSection & lane_section) const

生成车道段的人行道网格

在文件 MeshFactory.cpp247 行定义.

引用了 carla::geom::EPSILON, GenerateSidewalk() , 以及 carla::road::LaneSection::GetLanes().

被这些函数引用 GenerateLaneSectionOrdered(), GenerateOrderedWithMaxLen(), GenerateSidewalk() , 以及 GenerateSidewalk().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateTesselated() [1/2]

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateTesselated ( const road::Lane & lane) const

生成定义整个车道的网格,使用更高的细分

在文件 MeshFactory.cpp60 行定义.

引用了 carla::geom::EPSILON, GenerateTesselated(), carla::road::Lane::GetDistance() , 以及 carla::road::Lane::GetLength().

+ 函数调用图:

◆ GenerateTesselated() [2/2]

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateTesselated ( const road::Lane & lane,
const double s_start,
const double s_end ) const

◆ GenerateWalls()

std::unique_ptr< Mesh > carla::geom::MeshFactory::GenerateWalls ( const road::LaneSection & lane_section) const

生成一个网格,表示道路角落的墙,以避免车辆掉下去

在文件 MeshFactory.cpp374 行定义.

引用了 carla::geom::EPSILON, GenerateLeftWall(), GenerateRightWall() , 以及 carla::road::LaneSection::GetLanes().

被这些函数引用 GenerateWallsWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateWallsWithMaxLen() [1/2]

std::vector< std::unique_ptr< Mesh > > carla::geom::MeshFactory::GenerateWallsWithMaxLen ( const road::LaneSection & lane_section) const

生成一个定义车道段安全墙的网格列表,限制最大长度

在文件 MeshFactory.cpp671 行定义.

引用了 carla::geom::EPSILON, GenerateLeftWall(), GenerateRightWall(), GenerateWalls(), carla::road::LaneSection::GetDistance(), carla::road::LaneSection::GetLanes(), carla::road::LaneSection::GetLength(), carla::geom::MeshFactory::RoadParameters::max_road_len , 以及 road_param.

+ 函数调用图:

◆ GenerateWallsWithMaxLen() [2/2]

std::vector< std::unique_ptr< Mesh > > carla::geom::MeshFactory::GenerateWallsWithMaxLen ( const road::Road & road) const

生成一个定义道路安全墙的网格列表,限制最大长度

在文件 MeshFactory.cpp658 行定义.

引用了 GenerateWallsWithMaxLen() , 以及 carla::road::Road::GetLaneSections().

被这些函数引用 GenerateAllWithMaxLen() , 以及 GenerateWallsWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GenerateWithMaxLen() [1/2]

std::vector< std::unique_ptr< Mesh > > carla::geom::MeshFactory::GenerateWithMaxLen ( const road::LaneSection & lane_section) const

生成一个定义车道段的网格列表,限制最大长度

在文件 MeshFactory.cpp513 行定义.

引用了 carla::geom::EPSILON, Generate(), carla::road::LaneSection::GetDistance(), carla::road::LaneSection::GetLanes(), carla::road::LaneSection::GetLength(), carla::geom::MeshFactory::RoadParameters::max_road_len , 以及 road_param.

+ 函数调用图:

◆ GenerateWithMaxLen() [2/2]

std::vector< std::unique_ptr< Mesh > > carla::geom::MeshFactory::GenerateWithMaxLen ( const road::Road & road) const

生成一个定义道路的网格列表,限制最大长度

在文件 MeshFactory.cpp499 行定义.

引用了 GenerateWithMaxLen() , 以及 carla::road::Road::GetLaneSections().

被这些函数引用 GenerateAllWithMaxLen() , 以及 GenerateWithMaxLen().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ MergeAndSmooth()

std::unique_ptr< Mesh > carla::geom::MeshFactory::MergeAndSmooth ( std::vector< std::unique_ptr< Mesh > > & lane_meshes) const

合并并平滑多个车道网格

在文件 MeshFactory.cpp1147 行定义.

引用了 carla::geom::GetVertexNeighborhoodAndWeights(), road_param , 以及 carla::geom::Vector3D::z.

+ 函数调用图:

◆ SelectVerticesInWidth()

uint32_t carla::geom::MeshFactory::SelectVerticesInWidth ( uint32_t default_num_vertices,
road::Lane::LaneType type )
static

在给定车道类型下选择的宽度内的顶点数量

在文件 MeshFactory.cpp1183 行定义.

引用了 carla::road::Lane::Bidirectional, carla::road::Lane::Biking, carla::road::Lane::Driving, carla::road::Lane::Parking, carla::road::Lane::Shoulder , 以及 carla::road::Lane::Sidewalk.

被这些函数引用 GenerateLaneSectionOrdered() , 以及 GenerateOrderedWithMaxLen().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ road_param

RoadParameters carla::geom::MeshFactory::road_param

该类的文档由以下文件生成: