CC CC外掛程式初探

2021-09-07 06:25:14 字數 1646 閱讀 1392

1、實現乙個應用程式插架框架關鍵點有:

乙個外掛程式的標準介面,在主程式中存在乙個外掛程式的集合。主程式通過迴圈讀取每個外掛程式,將外掛程式物件通過多型的機制轉換為外掛程式介面,實現外掛程式的裝載。

主程式物件或者主程式介面需要作為引數傳遞到外掛程式物件中,以方便外掛程式物件呼叫主程式的內容,如主檢視、工具欄、樹檢視、狀態列等。

2、開源點雲處理軟體cloudcompare也是乙個外掛程式框架,因此也必然包括這些內容。

外掛程式介面:ccplugininte***ce,每個外掛程式物件有在ccplugininte***ce基礎上定義了乙個新的介面類class ccstdplugininte***ce : public ccplugininte***ce

具體的外掛程式則繼承自ccstdplugininte***ce 累,比如這樣,class qmyplugin : public qobject, public ccstdplugininte***ce

mainwindow::loadplugins()方法負責外掛程式的呼叫。(mainwindow.cpp檔案中)

1

void

mainwindow::loadplugins()247

else

4853}54

else

5560}61

62if

(menuplugins)

6366

67if (*******plugintools->isenabled())

6872

else

7377

78if (*******glfilters->isenabled())

7983

else

8488 }

主程式在載入外掛程式時會呼叫外掛程式的

1//2

/** called just after plugin creation by qcc3*

*/4virtual

3、獲取主窗體中的點雲圖層

在doaction中的**:

12 size_t selnum =selectedentities.size();

3if (selnum!=1)4

89 cchobject* ent = selectedentities[0

];10

assert(ent);

11if (!ent || !ent->isa(cc_types::point_cloud))

1216

17 ccpointcloud* pc = static_cast(ent);

1819

//input cloud

20 unsigned count = pc->size();

21bool hasnorms = pc->hasnormals();

22ccvector3 bbmin, bbmax;

23 pc->getboundingbox(bbmin,bbmax);

24const ccvector3d& globalshift = pc->getglobalshift();

25double globalscale = pc->getglobalscale();

JQuery外掛程式開發初探 結構熟悉

工作之餘,對jquery外掛程式做了一點嘗試,想著之前總用別人寫的外掛程式,自己要是也寫乙個用豈不是很cool。於是說幹就幹,動手開始寫。首先是模仿,從乙個簡單的功能進行入手,了解一下外掛程式開發的流程和結構。第乙個嘗試是做乙個 的隔行變色外掛程式,相對簡單。首先是基本的框架結構 自己的外掛程式要定...

cccc 天梯賽後總結

這個比賽,突然通知要參加,那就去唄。人幾乎是隨便選的。我們軟體找出來了10個人,大二的6個,大三的四個,但是成績非常不理想。還是給學校抹黑了。以後的比賽,出去參賽的人員一定要經過嚴格篩選!還有出去一定嚴格要求隊員,以團隊為主。沒有團隊精神,就不用帶出去了。比賽題,題不難。我們隊伍只得到1411.選人...

CCCC天梯賽總結

今年cccc天梯賽是3月31號比的,我現在才反應過來自己似乎應該給這場比賽做個總結。3.31號,我來到北京參加比賽,懷揣著忐忑的心情,期盼著自己能取得自己心中能取得的成績。我知道自己的水平是相當不到位的,畢竟我進入大學才接觸程式設計,所以在來之前我就已經給自己定好了乙個自己力所能及的目標,務必將比賽...