多线程 1
载入中...
搜索中...
未找到
FillPology类 参考

#include <FillPology.hpp>

FillPology 的协作图:
Collaboration graph

Public 成员函数

 FillPology ()
 建立各成员指针都为NULL的FillPology 对象
 
 FillPology (矩阵 *多边形顶点, 矩阵 *法线=NULL, 矩阵 *view_vector=NULL, int plane_index=0)
 
矩阵get_scan (void)
 尝试光删扫描法,看会不会比矩阵求取法更快一些
 
矩阵get_select_pos_from_scan (矩阵 *左右扫描点)
 使用光栅扫描法得到的左右点,计算多边形内点的坐标
 
矩阵fill_color (矩阵 *img, float *color)
 利用光删扫描法得到的左右点,对多边形内部填充颜色
 
float need_display (void)
 使用
 
float cacu_color (矩阵 *点)
 
矩阵get_select_pos (int plane_index)
 使用矩阵法计算得到多边形内部的点的坐标
 
int * fill_color (int *img, float *color)
 给图像里填充颜色,输入参数是图像指针
 
int * fill_img (int *img, float *img_color, int *select_pos_z, int plane_index)
 给图像里填充图像,适用于将图像插入当前图像的多边形内
 
void fill_test ()
 测试FillPology是否建立成功,并可调用
 

Public 属性

int plane_index
 一个三维物体有很多多边形构成,此参数为平面的序号
 
矩阵points =NULL
 多边形的点
 
矩阵vns =NULL
 多边形每个点的法线
 
矩阵视线 =NULL
 看向多边形的视线
 
矩阵左右扫描点 =NULL
 光删扫描后,得到的左点和右点
 
vector< 矩阵 * > select_pos
 存储在多边形内部的点坐标
 
矩阵pmin =NULL
 多边形点的x,y坐标的最小值
 
矩阵pmax =NULL
 多边形点的x,y坐标的最大值
 
矩阵坐标阵 []
 //! 对应python版本的Fillpology.py的 self.X,self.Y
 

详细描述

class FillPology 利用多边形的顶点,计算出多边形内的点的坐标,然后填充平面

在文件 FillPology.hpp26 行定义.

构造及析构函数说明

◆ FillPology() [1/2]

FillPology::FillPology ( )
inline

建立各成员指针都为NULL的FillPology 对象

在文件 FillPology.hpp49 行定义.

引用了 坐标阵.

◆ FillPology() [2/2]

FillPology::FillPology ( 矩阵 多边形顶点,
矩阵 法线 = NULL,
矩阵 view_vector = NULL,
int  plane_index = 0 
)
inline

输入多边形顶点,法线,视线,平面序号来建立FillPology对象

参数
-多边形顶点: 构成多边形顶点,赋值给points
-法线: 多边形上每个顶点的法线
-view_vector: 视线
-plane_index: 平面序号

在文件 FillPology.hpp60 行定义.

引用了 坐标阵, 视线, plane_index, points , 以及 vns.

成员函数说明

◆ cacu_color()

float FillPology::cacu_color ( 矩阵 )
inline

利用双线性插值法计算插值点处的颜色,还没有完全调试好 可能只适用于长方体多边形。三角形,不适用于梯形

在文件 FillPology.hpp315 行定义.

引用了 矩阵::点积(), 视线, 矩阵::转置(), 矩阵::c_(), 矩阵::data, points , 以及 vns.

函数调用图:

◆ fill_color() [1/2]

矩阵 * FillPology::fill_color ( 矩阵 img,
float *  color 
)
inline

利用光删扫描法得到的左右点,对多边形内部填充颜色

在文件 FillPology.hpp233 行定义.

引用了 左右扫描点, 矩阵::data, get_scan(), img, 矩阵::minmax(), need_display(), pmax, pmin, points , 以及 矩阵::w.

被这些函数引用 DrawPlane::draw_plane_index() , 以及 test_FillPology().

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

◆ fill_color() [2/2]

int * FillPology::fill_color ( int *  img,
float *  color 
)
inline

给图像里填充颜色,输入参数是图像指针

在文件 FillPology.hpp454 行定义.

引用了 img.

◆ fill_img()

int * FillPology::fill_img ( int *  img,
float *  img_color,
int *  select_pos_z,
int  plane_index 
)
inline

给图像里填充图像,适用于将图像插入当前图像的多边形内

在文件 FillPology.hpp460 行定义.

引用了 img.

◆ fill_test()

void FillPology::fill_test ( )
inline

测试FillPology是否建立成功,并可调用

在文件 FillPology.hpp463 行定义.

被这些函数引用 test_FillPology().

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

◆ get_scan()

矩阵 * FillPology::get_scan ( void  )
inline

尝试光删扫描法,看会不会比矩阵求取法更快一些

在文件 FillPology.hpp72 行定义.

引用了 矩阵::取整(), 矩阵::和(), 左右扫描点, 线::线段交点(), 矩阵::data, 矩阵::h, 线::Inf, 矩阵::minmax(), pmax, pmin, points , 以及 矩阵::r_().

被这些函数引用 fill_color() , 以及 test_FillPology().

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

◆ get_select_pos()

矩阵 * FillPology::get_select_pos ( int  plane_index)
inline

使用矩阵法计算得到多边形内部的点的坐标

在文件 FillPology.hpp383 行定义.

引用了 坐标阵, 矩阵::arange(), 矩阵::data, 矩阵::h, 矩阵::meshgrid(), 矩阵::minmax(), pmax, pmin, points, select_pos , 以及 矩阵::w.

函数调用图:

◆ get_select_pos_from_scan()

矩阵 * FillPology::get_select_pos_from_scan ( 矩阵 左右扫描点)
inline

使用光栅扫描法得到的左右点,计算多边形内点的坐标

在文件 FillPology.hpp201 行定义.

引用了 矩阵::data, 矩阵::minmax(), pmax, pmin, points, select_pos , 以及 矩阵::w.

被这些函数引用 test_FillPology().

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

◆ need_display()

float FillPology::need_display ( void  )
inline

使用

在文件 FillPology.hpp293 行定义.

引用了 矩阵::单位化(), 矩阵::点积(), 视线 , 以及 矩阵::data.

被这些函数引用 fill_color().

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

类成员变量说明

◆ 坐标阵

矩阵* FillPology::坐标阵[]

//! 对应python版本的Fillpology.py的 self.X,self.Y

在文件 FillPology.hpp46 行定义.

被这些函数引用 FillPology(), FillPology() , 以及 get_select_pos().

◆ 左右扫描点

矩阵* FillPology::左右扫描点 =NULL

光删扫描后,得到的左点和右点

在文件 FillPology.hpp38 行定义.

被这些函数引用 fill_color() , 以及 get_scan().

◆ 视线

矩阵* FillPology::视线 =NULL

看向多边形的视线

在文件 FillPology.hpp36 行定义.

被这些函数引用 cacu_color(), FillPology() , 以及 need_display().

◆ plane_index

int FillPology::plane_index

一个三维物体有很多多边形构成,此参数为平面的序号

在文件 FillPology.hpp30 行定义.

被这些函数引用 FillPology().

◆ pmax

矩阵* FillPology::pmax =NULL

多边形点的x,y坐标的最大值

在文件 FillPology.hpp44 行定义.

被这些函数引用 fill_color(), get_scan(), get_select_pos() , 以及 get_select_pos_from_scan().

◆ pmin

矩阵* FillPology::pmin =NULL

多边形点的x,y坐标的最小值

在文件 FillPology.hpp42 行定义.

被这些函数引用 fill_color(), get_scan(), get_select_pos() , 以及 get_select_pos_from_scan().

◆ points

矩阵* FillPology::points =NULL

多边形的点

在文件 FillPology.hpp32 行定义.

被这些函数引用 cacu_color(), fill_color(), FillPology(), get_scan(), get_select_pos() , 以及 get_select_pos_from_scan().

◆ select_pos

vector<矩阵*> FillPology::select_pos

存储在多边形内部的点坐标

在文件 FillPology.hpp40 行定义.

被这些函数引用 get_select_pos() , 以及 get_select_pos_from_scan().

◆ vns

矩阵* FillPology::vns =NULL

多边形每个点的法线

在文件 FillPology.hpp34 行定义.

被这些函数引用 cacu_color() , 以及 FillPology().


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