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

Mesh data container, validator and exporter. 更多...

#include <Mesh.h>

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

Public 类型

using index_type = size_t
 
using material_type = MeshMaterial
 
using normal_type = Vector3D
 
using uv_type = Vector2D
 
using vertex_type = Vector3D
 

Public 成员函数

void AddIndex (index_type index)
 Appends a index to the indexes list.
 
void AddMaterial (const std::string &material_name)
 Starts applying a new material to the new added triangles.
 
void AddNormal (normal_type normal)
 Appends a normal to the normal list.
 
void AddTriangleFan (const std::vector< vertex_type > &vertices)
 Adds a triangle fan to the mesh, vertex order is counterclockwise.
 
void AddTriangleStrip (const std::vector< vertex_type > &vertices)
 Adds a triangle strip to the mesh, vertex order is counterclockwise.
 
void AddUV (uv_type uv)
 Appends a vertex to the vertices list, they will be read 3 in 3.
 
void AddUVs (const std::vector< uv_type > &uv)
 Appends uvs.
 
void AddVertex (vertex_type vertex)
 Appends a vertex to the vertices list.
 
void AddVertices (const std::vector< vertex_type > &vertices)
 Appends a vertex to the vertices list.
 
MeshConcatMesh (const Mesh &rhs, int num_vertices_to_link)
 Merges two meshes into a single mesh
 
void EndMaterial ()
 Stops applying the material to the new added triangles.
 
std::string GenerateOBJ () const
 Returns a string containing the mesh encoded in OBJ.
 
std::string GenerateOBJForRecast () const
 Returns a string containing the mesh encoded in OBJ.
 
std::string GeneratePLY () const
 Returns a string containing the mesh encoded in PLY.
 
std::vector< index_type > & GetIndexes ()
 
const std::vector< index_type > & GetIndexes () const
 
size_t GetIndexesNum () const
 
size_t GetLastVertexIndex () const
 Returns the index of the last added vertex (number of vertices).
 
const std::vector< material_type > & GetMaterials () const
 
const std::vector< normal_type > & GetNormals () const
 
const std::vector< uv_type > & GetUVs () const
 
std::vector< vertex_type > & GetVertices ()
 
const std::vector< vertex_type > & GetVertices () const
 
size_t GetVerticesNum () const
 
bool IsValid () const
 Check if the mesh can be valid or not.
 
 Mesh (const std::vector< vertex_type > &vertices={}, const std::vector< normal_type > &normals={}, const std::vector< index_type > &indexes={}, const std::vector< uv_type > &uvs={})
 
 operator FProceduralCustomMesh () const
 
Meshoperator+= (const Mesh &rhs)
 Merges two meshes into a single mesh
 

Private 属性

std::vector< index_type_indexes
 
std::vector< material_type_materials
 
std::vector< normal_type_normals
 
std::vector< uv_type_uvs
 
std::vector< vertex_type_vertices
 

友元

Mesh operator+ (const Mesh &lhs, const Mesh &rhs)
 

详细描述

Mesh data container, validator and exporter.

在文件 Mesh.h44 行定义.

成员类型定义说明

◆ index_type

在文件 Mesh.h49 行定义.

◆ material_type

在文件 Mesh.h51 行定义.

◆ normal_type

在文件 Mesh.h48 行定义.

◆ uv_type

在文件 Mesh.h50 行定义.

◆ vertex_type

在文件 Mesh.h47 行定义.

构造及析构函数说明

◆ Mesh()

carla::geom::Mesh::Mesh ( const std::vector< vertex_type > & vertices = {},
const std::vector< normal_type > & normals = {},
const std::vector< index_type > & indexes = {},
const std::vector< uv_type > & uvs = {} )
inline

在文件 Mesh.h57 行定义.

被这些函数引用 operator FProceduralCustomMesh().

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

成员函数说明

◆ AddIndex()

void carla::geom::Mesh::AddIndex ( index_type index)

Appends a index to the indexes list.

在文件 Mesh.cpp101 行定义.

引用了 _indexes.

被这些函数引用 AddTriangleFan(), AddTriangleStrip(), carla::geom::MeshFactory::GenerateLaneMarksForCenterLine(), carla::geom::MeshFactory::GenerateLaneMarksForNotCenterLine(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated() , 以及 carla::road::Map::SDFToMesh().

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

◆ AddMaterial()

void carla::geom::Mesh::AddMaterial ( const std::string & material_name)

Starts applying a new material to the new added triangles.

在文件 Mesh.cpp113 行定义.

引用了 _indexes, _materials , 以及 EndMaterial().

被这些函数引用 carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated() , 以及 carla::road::Map::GetAllCrosswalkMesh().

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

◆ AddNormal()

void carla::geom::Mesh::AddNormal ( normal_type normal)

Appends a normal to the normal list.

在文件 Mesh.cpp97 行定义.

引用了 _normals.

◆ AddTriangleFan()

void carla::geom::Mesh::AddTriangleFan ( const std::vector< vertex_type > & vertices)

Adds a triangle fan to the mesh, vertex order is counterclockwise.

在文件 Mesh.cpp76 行定义.

引用了 AddIndex(), AddVertices(), DEBUG_ASSERT , 以及 GetVerticesNum().

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

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

◆ AddTriangleStrip()

void carla::geom::Mesh::AddTriangleStrip ( const std::vector< vertex_type > & vertices)

Adds a triangle strip to the mesh, vertex order is counterclockwise.

在文件 Mesh.cpp47 行定义.

引用了 AddIndex(), AddVertices(), DEBUG_ASSERT , 以及 GetVerticesNum().

被这些函数引用 carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall() , 以及 carla::geom::MeshFactory::GenerateRightWall().

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

◆ AddUV()

void carla::geom::Mesh::AddUV ( uv_type uv)

Appends a vertex to the vertices list, they will be read 3 in 3.

在文件 Mesh.cpp105 行定义.

引用了 _uvs.

◆ AddUVs()

void carla::geom::Mesh::AddUVs ( const std::vector< uv_type > & uv)

Appends uvs.

在文件 Mesh.cpp109 行定义.

引用了 _uvs.

被这些函数引用 carla::geom::MeshFactory::GenerateSidewalk() , 以及 carla::geom::MeshFactory::GenerateTesselated().

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

◆ AddVertex()

void carla::geom::Mesh::AddVertex ( vertex_type vertex)

Appends a vertex to the vertices list.

在文件 Mesh.cpp89 行定义.

引用了 _vertices.

被这些函数引用 carla::geom::MeshFactory::GenerateLaneMarksForCenterLine(), carla::geom::MeshFactory::GenerateLaneMarksForNotCenterLine() , 以及 carla::road::Map::SDFToMesh().

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

◆ AddVertices()

void carla::geom::Mesh::AddVertices ( const std::vector< vertex_type > & vertices)

Appends a vertex to the vertices list.

在文件 Mesh.cpp93 行定义.

引用了 _vertices.

被这些函数引用 AddTriangleFan(), AddTriangleStrip(), carla::geom::MeshFactory::GenerateSidewalk() , 以及 carla::geom::MeshFactory::GenerateTesselated().

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

◆ ConcatMesh()

Mesh & carla::geom::Mesh::ConcatMesh ( const Mesh & rhs,
int num_vertices_to_link )

Merges two meshes into a single mesh

在文件 Mesh.cpp294 行定义.

引用了 _indexes, _materials, _normals, _uvs, _vertices, GetIndexes(), GetIndexesNum(), GetMaterials(), GetNormals(), GetUVs(), GetVertices(), GetVerticesNum() , 以及 IsValid().

+ 函数调用图:

◆ EndMaterial()

void carla::geom::Mesh::EndMaterial ( )

Stops applying the material to the new added triangles.

在文件 Mesh.cpp129 行定义.

引用了 _indexes , 以及 _materials.

被这些函数引用 AddMaterial(), carla::geom::MeshFactory::Generate(), carla::geom::MeshFactory::GenerateLeftWall(), carla::geom::MeshFactory::GenerateRightWall(), carla::geom::MeshFactory::GenerateSidewalk(), carla::geom::MeshFactory::GenerateTesselated() , 以及 carla::road::Map::GetAllCrosswalkMesh().

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

◆ GenerateOBJ()

std::string carla::geom::Mesh::GenerateOBJ ( ) const

Returns a string containing the mesh encoded in OBJ.

Units are in meters. It is in Unreal space.

在文件 Mesh.cpp146 行定义.

引用了 _indexes, _materials, _normals, _uvs, _vertices , 以及 IsValid().

+ 函数调用图:

◆ GenerateOBJForRecast()

std::string carla::geom::Mesh::GenerateOBJForRecast ( ) const

Returns a string containing the mesh encoded in OBJ.

Units are in meters. This function exports the OBJ file specifically to be consumed by Recast library. Changes the build face direction and the coordinate space.

在文件 Mesh.cpp202 行定义.

引用了 _indexes, _materials, _vertices , 以及 IsValid().

+ 函数调用图:

◆ GeneratePLY()

std::string carla::geom::Mesh::GeneratePLY ( ) const

Returns a string containing the mesh encoded in PLY.

Units are in meters.

在文件 Mesh.cpp246 行定义.

引用了 IsValid().

+ 函数调用图:

◆ GetIndexes() [1/2]

std::vector< Mesh::index_type > & carla::geom::Mesh::GetIndexes ( )

在文件 Mesh.cpp275 行定义.

引用了 _indexes.

◆ GetIndexes() [2/2]

const std::vector< Mesh::index_type > & carla::geom::Mesh::GetIndexes ( ) const

在文件 Mesh.cpp271 行定义.

引用了 _indexes.

被这些函数引用 ConcatMesh(), operator FProceduralCustomMesh() , 以及 operator+=().

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

◆ GetIndexesNum()

size_t carla::geom::Mesh::GetIndexesNum ( ) const

在文件 Mesh.cpp278 行定义.

引用了 _indexes.

被这些函数引用 ConcatMesh() , 以及 operator+=().

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

◆ GetLastVertexIndex()

size_t carla::geom::Mesh::GetLastVertexIndex ( ) const

Returns the index of the last added vertex (number of vertices).

在文件 Mesh.cpp290 行定义.

引用了 _vertices.

◆ GetMaterials()

const std::vector< Mesh::material_type > & carla::geom::Mesh::GetMaterials ( ) const

在文件 Mesh.cpp286 行定义.

引用了 _materials.

被这些函数引用 ConcatMesh() , 以及 operator+=().

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

◆ GetNormals()

const std::vector< Mesh::normal_type > & carla::geom::Mesh::GetNormals ( ) const

在文件 Mesh.cpp267 行定义.

引用了 _normals.

被这些函数引用 ConcatMesh() , 以及 operator+=().

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

◆ GetUVs()

const std::vector< Mesh::uv_type > & carla::geom::Mesh::GetUVs ( ) const

在文件 Mesh.cpp282 行定义.

引用了 _uvs.

被这些函数引用 ConcatMesh(), operator FProceduralCustomMesh() , 以及 operator+=().

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

◆ GetVertices() [1/2]

std::vector< Mesh::vertex_type > & carla::geom::Mesh::GetVertices ( )

在文件 Mesh.cpp259 行定义.

引用了 _vertices.

◆ GetVertices() [2/2]

const std::vector< Mesh::vertex_type > & carla::geom::Mesh::GetVertices ( ) const

在文件 Mesh.cpp255 行定义.

引用了 _vertices.

被这些函数引用 ConcatMesh(), carla::geom::MeshFactory::GenerateLaneMarksForCenterLine(), carla::geom::MeshFactory::GenerateLaneMarksForNotCenterLine(), operator FProceduralCustomMesh(), operator+=() , 以及 carla::road::Map::SDFToMesh().

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

◆ GetVerticesNum()

size_t carla::geom::Mesh::GetVerticesNum ( ) const

在文件 Mesh.cpp263 行定义.

引用了 _vertices.

被这些函数引用 AddTriangleFan(), AddTriangleStrip(), ConcatMesh() , 以及 operator+=().

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

◆ IsValid()

bool carla::geom::Mesh::IsValid ( ) const

Check if the mesh can be valid or not.

在文件 Mesh.cpp20 行定义.

引用了 _indexes, _materials , 以及 _vertices.

被这些函数引用 ConcatMesh(), carla::geom::MeshFactory::GenerateLaneMarksForCenterLine(), carla::geom::MeshFactory::GenerateLaneMarksForNotCenterLine(), GenerateOBJ(), GenerateOBJForRecast() , 以及 GeneratePLY().

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

◆ operator FProceduralCustomMesh()

carla::geom::Mesh::operator FProceduralCustomMesh ( ) const
inline

在文件 Mesh.h164 行定义.

引用了 GetIndexes(), GetUVs(), GetVertices() , 以及 Mesh().

+ 函数调用图:

◆ operator+=()

Mesh & carla::geom::Mesh::operator+= ( const Mesh & rhs)

Merges two meshes into a single mesh

在文件 Mesh.cpp347 行定义.

引用了 _indexes, _materials, _normals, _uvs, _vertices, GetIndexes(), GetIndexesNum(), GetMaterials(), GetNormals(), GetUVs(), GetVertices() , 以及 GetVerticesNum().

+ 函数调用图:

友元及相关函数文档

◆ operator+

Mesh operator+ ( const Mesh & lhs,
const Mesh & rhs )
friend

在文件 Mesh.cpp385 行定义.

类成员变量说明

◆ _indexes

std::vector<index_type> carla::geom::Mesh::_indexes
private

◆ _materials

std::vector<material_type> carla::geom::Mesh::_materials
private

◆ _normals

std::vector<normal_type> carla::geom::Mesh::_normals
private

在文件 Mesh.h237 行定义.

被这些函数引用 AddNormal(), ConcatMesh(), GenerateOBJ(), GetNormals() , 以及 operator+=().

◆ _uvs

std::vector<uv_type> carla::geom::Mesh::_uvs
private

在文件 Mesh.h241 行定义.

被这些函数引用 AddUV(), AddUVs(), ConcatMesh(), GenerateOBJ(), GetUVs() , 以及 operator+=().

◆ _vertices

std::vector<vertex_type> carla::geom::Mesh::_vertices
private

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