objectArx實現 點與閉合多段線的位置關係

2021-09-23 14:23:40 字數 935 閱讀 8289

點與閉合多段線的位置關係

射線法:從給定點出發,沿著x軸正方向或者負方向做一條射線(射線可能跟多邊形沒有交點),計算射線跟多邊形的交點數量,如果是奇數個交點,在內部;偶數個交點在外部。處理下點就在多邊形的頂點上的特例。

—>參考objectarx(vc)開發基礎與例項教程p254

//************************************

// author: wanghongfeng

// summary: 點與閉合多段線的位置關係

// method: ptrelationtopoly

// access: public

// returns: int -1表示在多段線外部,0表示在多段線上,1表示在多段線內部

// parameter: acdbpolyline * ppoly

// parameter: const acgepoint2d & pt

// parameter: double tol

//************************************

int ptrelationtopoly(acdbpolyline *ppoly, const acgepoint2d &pt, double tol = 1.0e-7);

bool pointispolyvert(acdbpolyline *ppoly, const acgepoint2d &pt, double tol);

void intersectwithgeray(acdbpolyline *ppoly, const acgeray2d &geray, acgepoint3darray &intpoints, double tol = 1.0e-7);

void filterequalpoints(acgepoint3da

objectARX 常用功能實現集合

一 在arx中禁用autocad的某個命令 以line命令為例,在程式中加入下面的一句即可禁用line命令 acedcommand rtstr,undefine rtstr,line rtnone 下面的語句則可恢復line命令的定義 acedcommand rtstr,redefine rtstr...

列表的展開與閉合 2

untitled documentfunction list node 獲取被操作的節點ul。先通過事件源超連結標籤獲取其父節點td,然後在通過父節點獲取ul節點。var otdnode node.parentnode var oulnode otdnode.getelementsbytagname...

關於清除浮動與閉合浮動

在給html新增樣式的構成中,css是必不可少的的,然而css中有一些功能的實現可以通過不同的方法實現,通過效果檢視好像並沒有什麼不同,那它們之間到底有什麼本質區別呢,又有哪些概念被我們無意的忽略或者無視了呢,突然想總結總結這一類的問題,本篇隨筆算是本人對於 清除浮動 的歸納吧.在布局的時候我們經常...