CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | 所有成员列表
Simplify::SimplificationObject类 参考

#include <Simplify.h>

+ Simplify::SimplificationObject 的协作图:

Public 成员函数

double calculate_error (int id_v1, int id_v2, vec3f &p_result)
 
void compact_mesh ()
 
bool flipped (vec3f p, int i0, int i1, Vertex &v0, Vertex &v1, std::vector< int > &deleted)
 
void load_obj (const char *filename, bool process_uv=false)
 
void simplify_mesh (int target_count, double agressiveness=7, bool verbose=false)
 
void simplify_mesh_lossless (bool verbose=false)
 
char * trimwhitespace (char *str)
 
void update_mesh (int iteration)
 
void update_triangles (int i0, Vertex &v, std::vector< int > &deleted, int &deleted_triangles)
 
void update_uvs (int i0, const Vertex &v, const vec3f &p, std::vector< int > &deleted)
 
double vertex_error (SymetricMatrix q, double x, double y, double z)
 
void write_obj (const char *filename)
 

Public 属性

std::vector< std::string > materials
 
std::string mtllib
 
std::vector< Refrefs
 
std::vector< Triangletriangles
 
std::vector< Vertexvertices
 

详细描述

在文件 Simplify.h410 行定义.

成员函数说明

◆ calculate_error()

double Simplify::SimplificationObject::calculate_error ( int id_v1,
int id_v2,
vec3f & p_result )
inline

在文件 Simplify.h893 行定义.

引用了 SymetricMatrix::det(), min(), vertex_error(), vertices, vec3f::x, vec3f::y , 以及 vec3f::z.

被这些函数引用 simplify_mesh(), simplify_mesh_lossless(), update_mesh() , 以及 update_triangles().

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

◆ compact_mesh()

void Simplify::SimplificationObject::compact_mesh ( )
inline

在文件 Simplify.h855 行定义.

引用了 loopi, loopj, triangles, Simplify::Triangle::v , 以及 vertices.

被这些函数引用 simplify_mesh() , 以及 simplify_mesh_lossless().

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

◆ flipped()

bool Simplify::SimplificationObject::flipped ( vec3f p,
int i0,
int i1,
Vertex & v0,
Vertex & v1,
std::vector< int > & deleted )
inline

在文件 Simplify.h648 行定义.

引用了 vec3f::cross(), Simplify::Triangle::deleted, vec3f::dot(), loopk, Simplify::Triangle::n, vec3f::normalize(), refs, Simplify::Vertex::tcount, triangles, Simplify::Vertex::tstart, Simplify::Triangle::v , 以及 vertices.

被这些函数引用 simplify_mesh() , 以及 simplify_mesh_lossless().

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

◆ load_obj()

void Simplify::SimplificationObject::load_obj ( const char * filename,
bool process_uv = false )
inline

在文件 Simplify.h954 行定义.

引用了 Simplify::Triangle::attr, fn, loopi, loopj, Simplify::Triangle::material, materials, mtllib, Simplify::Vertex::p, Simplify::TEXCOORD, triangles, trimwhitespace(), Simplify::Triangle::v, vertices, vec3f::x, vec3f::y , 以及 vec3f::z.

+ 函数调用图:

◆ simplify_mesh()

void Simplify::SimplificationObject::simplify_mesh ( int target_count,
double agressiveness = 7,
bool verbose = false )
inline

◆ simplify_mesh_lossless()

void Simplify::SimplificationObject::simplify_mesh_lossless ( bool verbose = false)
inline

◆ trimwhitespace()

char * Simplify::SimplificationObject::trimwhitespace ( char * str)
inline

在文件 Simplify.h931 行定义.

被这些函数引用 load_obj().

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

◆ update_mesh()

void Simplify::SimplificationObject::update_mesh ( int iteration)
inline

在文件 Simplify.h731 行定义.

引用了 calculate_error(), vec3f::cross(), vec3f::dot(), Simplify::Triangle::err, loopi, loopj, loopk, min(), Simplify::Triangle::n, vec3f::normalize(), refs, Simplify::Vertex::tcount, triangles, Simplify::Vertex::tstart, Simplify::Triangle::v, vertices, vec3f::x, vec3f::y , 以及 vec3f::z.

被这些函数引用 simplify_mesh() , 以及 simplify_mesh_lossless().

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

◆ update_triangles()

void Simplify::SimplificationObject::update_triangles ( int i0,
Vertex & v,
std::vector< int > & deleted,
int & deleted_triangles )
inline

在文件 Simplify.h704 行定义.

引用了 calculate_error(), Simplify::Triangle::deleted, Simplify::Triangle::dirty, Simplify::Triangle::err, loopk, min(), refs, Simplify::Vertex::tcount, Simplify::Ref::tid, triangles, Simplify::Vertex::tstart, Simplify::Ref::tvertex , 以及 Simplify::Triangle::v.

被这些函数引用 simplify_mesh() , 以及 simplify_mesh_lossless().

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

◆ update_uvs()

void Simplify::SimplificationObject::update_uvs ( int i0,
const Vertex & v,
const vec3f & p,
std::vector< int > & deleted )
inline

在文件 Simplify.h685 行定义.

引用了 Simplify::Triangle::deleted, interpolate(), loopk, refs, Simplify::Vertex::tcount, Simplify::Ref::tid, triangles, Simplify::Vertex::tstart, Simplify::Ref::tvertex, Simplify::Triangle::uvs, Simplify::Triangle::v , 以及 vertices.

被这些函数引用 simplify_mesh() , 以及 simplify_mesh_lossless().

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

◆ vertex_error()

double Simplify::SimplificationObject::vertex_error ( SymetricMatrix q,
double x,
double y,
double z )
inline

在文件 Simplify.h886 行定义.

被这些函数引用 calculate_error().

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

◆ write_obj()

void Simplify::SimplificationObject::write_obj ( const char * filename)
inline

在文件 Simplify.h1112 行定义.

引用了 loopi, mtllib, Simplify::TEXCOORD, triangles , 以及 vertices.

类成员变量说明

◆ materials

std::vector<std::string> Simplify::SimplificationObject::materials

在文件 Simplify.h417 行定义.

被这些函数引用 load_obj().

◆ mtllib

std::string Simplify::SimplificationObject::mtllib

在文件 Simplify.h416 行定义.

被这些函数引用 load_obj() , 以及 write_obj().

◆ refs

std::vector<Ref> Simplify::SimplificationObject::refs

在文件 Simplify.h415 行定义.

被这些函数引用 flipped(), simplify_mesh(), simplify_mesh_lossless(), update_mesh(), update_triangles() , 以及 update_uvs().

◆ triangles

std::vector<Triangle> Simplify::SimplificationObject::triangles

◆ vertices

std::vector<Vertex> Simplify::SimplificationObject::vertices

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