多线程 1
|
#include <FillPology.hpp>
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.hpp 第 26 行定义.
|
inline |
|
inline |
输入多边形顶点,法线,视线,平面序号来建立FillPology对象
- | 多边形顶点: 构成多边形顶点,赋值给points |
- | 法线: 多边形上每个顶点的法线 |
- | view_vector: 视线 |
- | plane_index: 平面序号 |
在文件 FillPology.hpp 第 60 行定义.
引用了 坐标阵, 视线, plane_index, points , 以及 vns.
|
inline |
利用光删扫描法得到的左右点,对多边形内部填充颜色
在文件 FillPology.hpp 第 233 行定义.
引用了 左右扫描点, 矩阵::data, get_scan(), img, 矩阵::minmax(), need_display(), pmax, pmin, points , 以及 矩阵::w.
被这些函数引用 DrawPlane::draw_plane_index() , 以及 test_FillPology().
|
inline |
|
inline |
|
inline |
|
inline |
尝试光删扫描法,看会不会比矩阵求取法更快一些
在文件 FillPology.hpp 第 72 行定义.
引用了 矩阵::取整(), 矩阵::和(), 左右扫描点, 线::线段交点(), 矩阵::data, 矩阵::h, 线::Inf, 矩阵::minmax(), pmax, pmin, points , 以及 矩阵::r_().
被这些函数引用 fill_color() , 以及 test_FillPology().
|
inline |
使用矩阵法计算得到多边形内部的点的坐标
在文件 FillPology.hpp 第 383 行定义.
引用了 坐标阵, 矩阵::arange(), 矩阵::data, 矩阵::h, 矩阵::meshgrid(), 矩阵::minmax(), pmax, pmin, points, select_pos , 以及 矩阵::w.
使用光栅扫描法得到的左右点,计算多边形内点的坐标
在文件 FillPology.hpp 第 201 行定义.
引用了 矩阵::data, 矩阵::minmax(), pmax, pmin, points, select_pos , 以及 矩阵::w.
被这些函数引用 test_FillPology().
|
inline |
使用
在文件 FillPology.hpp 第 293 行定义.
引用了 矩阵::单位化(), 矩阵::点积(), 视线 , 以及 矩阵::data.
被这些函数引用 fill_color().
矩阵* FillPology::坐标阵[] |
//! 对应python版本的Fillpology.py的 self.X,self.Y
在文件 FillPology.hpp 第 46 行定义.
被这些函数引用 FillPology(), FillPology() , 以及 get_select_pos().
矩阵* FillPology::左右扫描点 =NULL |
矩阵* FillPology::视线 =NULL |
int FillPology::plane_index |
矩阵* FillPology::pmax =NULL |
多边形点的x,y坐标的最大值
在文件 FillPology.hpp 第 44 行定义.
被这些函数引用 fill_color(), get_scan(), get_select_pos() , 以及 get_select_pos_from_scan().
矩阵* FillPology::pmin =NULL |
多边形点的x,y坐标的最小值
在文件 FillPology.hpp 第 42 行定义.
被这些函数引用 fill_color(), get_scan(), get_select_pos() , 以及 get_select_pos_from_scan().
矩阵* FillPology::points =NULL |
多边形的点
在文件 FillPology.hpp 第 32 行定义.
被这些函数引用 cacu_color(), fill_color(), FillPology(), get_scan(), get_select_pos() , 以及 get_select_pos_from_scan().
vector<矩阵*> FillPology::select_pos |
矩阵* FillPology::vns =NULL |