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

Mesh helper generator 更多...

#include <MeshFactory.h>

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

struct  RoadParameters
 Parameters for the road generation 更多...
 

Public 成员函数

std::unique_ptr< MeshGenerate (const road::Lane &lane) const
 Generates a mesh that defines the whole lane
 
std::unique_ptr< MeshGenerate (const road::Lane &lane, const double s_start, const double s_end) const
 Generates a mesh that defines a lane from a given s start and end
 
std::unique_ptr< MeshGenerate (const road::LaneSection &lane_section) const
 Generates a mesh that defines a lane section
 
std::unique_ptr< MeshGenerate (const road::Road &road) const
 Generates a mesh that defines a road
 
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
 Generates a chunked road with all the features needed for simulation
 
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
 
void GenerateLaneMarksForNotCenterLine (const road::LaneSection &lane_section, const road::Lane &lane, std::vector< std::unique_ptr< Mesh > > &inout, std::vector< std::string > &outinfo) const
 
void GenerateLaneSectionOrdered (const road::LaneSection &lane_section, std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > &result) const
 Generates a mesh that defines a lane section
 
std::unique_ptr< MeshGenerateLeftWall (const road::Lane &lane, const double s_start, const double s_end) const
 Generates a wall-like mesh at the left side of the lane
 
std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > GenerateOrderedWithMaxLen (const road::LaneSection &lane_section) const
 Generates a list of meshes that defines a lane_section with a maximum length
 
std::map< carla::road::Lane::LaneType, std::vector< std::unique_ptr< Mesh > > > GenerateOrderedWithMaxLen (const road::Road &road) const
 Generates a list of meshes that defines a road with a maximum length
 
std::unique_ptr< MeshGenerateRightWall (const road::Lane &lane, const double s_start, const double s_end) const
 Generates a wall-like mesh at the right side of the lane
 
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
 
std::unique_ptr< MeshGenerateSidewalk (const road::LaneSection &lane_section) const
 
std::unique_ptr< MeshGenerateTesselated (const road::Lane &lane) const
 Generates a mesh that defines the whole lane with bigger tesselation
 
std::unique_ptr< MeshGenerateTesselated (const road::Lane &lane, const double s_start, const double s_end) const
 Generates a mesh that defines a lane from a given s start and end with bigger tesselation
 
std::unique_ptr< MeshGenerateWalls (const road::LaneSection &lane_section) const
 Genrates a mesh representing a wall on the road corners to avoid cars falling down
 
std::vector< std::unique_ptr< Mesh > > GenerateWallsWithMaxLen (const road::LaneSection &lane_section) const
 Generates a list of meshes that defines a lane_section safety wall with a maximum length
 
std::vector< std::unique_ptr< Mesh > > GenerateWallsWithMaxLen (const road::Road &road) const
 Generates a list of meshes that defines a road safety wall with a maximum length
 
std::vector< std::unique_ptr< Mesh > > GenerateWithMaxLen (const road::LaneSection &lane_section) const
 Generates a list of meshes that defines a lane_section with a maximum length
 
std::vector< std::unique_ptr< Mesh > > GenerateWithMaxLen (const road::Road &road) const
 Generates a list of meshes that defines a road with a maximum length
 
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
 

详细描述

Mesh helper generator

在文件 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

在文件 MeshFactory.cpp1192 行定义.

引用了 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

Generates a mesh that defines the whole lane

在文件 MeshFactory.cpp50 行定义.

引用了 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

Generates a mesh that defines a lane section

在文件 MeshFactory.cpp42 行定义.

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

+ 函数调用图:

◆ Generate() [4/4]

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

Generates a mesh that defines a road

在文件 MeshFactory.cpp34 行定义.

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

被这些函数引用 Generate(), Generate(), Generate(), carla::road::Map::GenerateChunkedMesh(), carla::road::Map::GenerateMesh() , 以及 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.cpp733 行定义.

引用了 GenerateOrderedWithMaxLen().

被这些函数引用 carla::road::Map::GenerateRoadsMultithreaded().

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

◆ GenerateAllWithMaxLen()

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

Generates a chunked road with all the features needed for simulation

在文件 MeshFactory.cpp703 行定义.

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

被这些函数引用 carla::road::Map::GenerateChunkedMesh().

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

◆ GenerateLaneMarkForRoad()

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

在文件 MeshFactory.cpp748 行定义.

引用了 carla::road::Lane::Bidirectional, carla::road::Lane::Driving, GenerateLaneMarksForCenterLine(), GenerateLaneMarksForNotCenterLine(), carla::road::Road::GetLaneSections(), carla::road::Lane::None , 以及 carla::road::Lane::Parking.

被这些函数引用 carla::road::Map::GenerateLineMarkings().

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

◆ 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

Generates a mesh that defines a lane section

在文件 MeshFactory.cpp194 行定义.

引用了 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

Generates a wall-like mesh at the left side of the lane

在文件 MeshFactory.cpp441 行定义.

引用了 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

Generates a list of meshes that defines a road with a maximum length

在文件 MeshFactory.cpp533 行定义.

引用了 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

Generates a wall-like mesh at the right side of the lane

在文件 MeshFactory.cpp390 行定义.

引用了 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.cpp251 行定义.

引用了 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.cpp242 行定义.

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

被这些函数引用 GenerateLaneSectionOrdered(), GenerateOrderedWithMaxLen(), GenerateSidewalk(), GenerateSidewalk() , 以及 carla::road::Map::GenerateSingleJunction().

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

◆ GenerateTesselated() [1/2]

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

Generates a mesh that defines the whole lane with bigger tesselation

在文件 MeshFactory.cpp56 行定义.

引用了 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

Genrates a mesh representing a wall on the road corners to avoid cars falling down

在文件 MeshFactory.cpp368 行定义.

引用了 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

Generates a list of meshes that defines a lane_section safety wall with a maximum length

在文件 MeshFactory.cpp657 行定义.

引用了 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

Generates a list of meshes that defines a road safety wall with a maximum length

在文件 MeshFactory.cpp644 行定义.

引用了 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

Generates a list of meshes that defines a lane_section with a maximum length

在文件 MeshFactory.cpp505 行定义.

引用了 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

Generates a list of meshes that defines a road with a maximum length

在文件 MeshFactory.cpp492 行定义.

引用了 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.cpp1134 行定义.

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

被这些函数引用 carla::road::Map::GenerateChunkedMesh() , 以及 carla::road::Map::GenerateMesh().

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

◆ SelectVerticesInWidth()

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

在文件 MeshFactory.cpp1169 行定义.

引用了 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

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