日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NMM3DViewer 设计

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NMM3DViewer 设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? 在FrameworkInterfaces工程的INMM3DServer.cs中定義了

??? 巖石材料結構 BlockMaterial? -----> StrBLOCKProperty
?? ? public struct StrBLOCKProperty
?? ??? ?{
?????? ??? ?public int????? nID;
?????? ??? ?public double?? dbDensity;?? ??? ?//密度?? ??? [0]
?????? ??? ?public double?? dbYoungModulus;?? ??? ?//楊氏模量 [0]
?? ??? ?public double ?? ?dbPoissonRadio;?? ??? ?//泊松比?? [0]
?? ??? ?public double[] dbGravityDirection; ?? ?//重力方向 [0,0,-1]
?? ??? ?public double ?? ?dbGravityAcceleration;?? ?//重力加速度[9.8]
?? ??? ?public double[] dbInitialStress;?? ?//初始應力? [0,0,0]
?? ??? ?public double ?? ?dbStressGradient;?? ?//應力梯度? [0]
?? ?}
?? ?節理材料結構 faceMaterial? ----> StrFaceProperty
?? ?public struct StrFACEProperty
?? ?{
?? ??? ?public int nID;
?? ??? ?public double dbCohesion;?? ??? ?//粘聚力?? [0]
?? ??? ?public double dbFriction;?? ??? ?//摩擦角?? [0]
?? ??? ?public double dbTensileStrength;?? ?//抗拉強度 [0]
?? ??? ?public double dbAperture;?? ??? ?//節理寬度 [0]
?? ?}

?? ?關鍵塊結構 keyblock
?? ?public struct StrTARGETBLOCKMODEL
?? ?{
?? ??? ?public StrBLOCK[]?? ObjBlockArr;
?????? ??? ?public StrFACET[]?? ObjFACETArr;
?????? ??? ?public StrVERTEX[]? ObjVERTEXArr;
?? ?}
?? ??? ?public struct StrBLOCK
?? ??? ?{
? ??? ???? ??? ?public int????? nID;
?? ??? ???? ??? ?public int????? nEDGECOUNT;
? ??? ???? ??? ?public int[]??? nFACEIDs;
? ??? ???? ??? ?public int[]??? nVERTEXIDs;
? ??? ???? ??? ?public int????? nBLOCKTYPEIndex;
?? ??? ??? ??? ?public int????? nBLOCKMATERIALIndexID;
? ??? ?}
?? ??? ?public struct StrKEYBLOCK
?? ??? ?{
?? ??? ??? ??? ?public int????? nBLOCKID;
??? ??? ??? ??? ?public int????? nITERATION;
?? ??? ?? ??? ?public double[] dbVECTOR;
??? ??? ??? ??? ?public double?? dbFORCE;
??? ??? ??? ??? ?public double?? dbVOLUME;
?? ??? ?}
?? ??? ?public struct StrFACET
?? ??? ?{
?????? ??? ?public int????? nID;
?????? ??? ?public int[]??? nVERTEXIDs;
?????? ??? ?public double[] dbNORMALVECTOR;
?????? ??? ?public double?? dbDISTANCE;
?????? ??? ?public double?? dbAREA;
????? ??? ? ?? ?public int????? dbFACETMATERIALIndexID;
?????? ??? ?public int????? dbFACETIndexID;
?? ??? ?}
?? ??? ?public struct StrVERTEX
?? ??? ?{
?????? ??? ?public int????? nID;
?????? ??? ?public double[] dbCOORD;
?? ??? ?}

2. 界面部分摘主要的重新寫 - 2周時間 (8個工作日內)????????????????????????????????????????????????????????? ?
?? ?
3. 確定交換數據定義和接口? -- 1周時間
?? ?a. 定義巖石材料和節理材料的接口 ----》 調用接口傳給底層
?? ?b. 定義 切割 接口 ??? ??? ?----》 調用接口傳給底層
?? ?c. 定義 分析 接口?? ??? ?----》 動用接口傳給底層

4. 渲染和選擇?? ?--? 3周時間(10個工作日)
?? ?改用osg作為3D渲染平臺

5. 集成測試?? ??? ?-- 2周時間

6. 操作手冊和說明文檔?? ?-- 1周時間(并行)


系統架構
架構1 :
?? ??? ?///?? ?
?? ??? ?// ?? ??? ?“系統界面框架模塊”
?? ??? ?//?? ?使用Virtual C#開發.NetFrameWork 4.0(doNet控件)
?? ??? ?//????????? 程序名:NMM3DVIEWER.exe
?? ??? ?//?? ??? ?工程名:MainUI
?? ??? ?//
?? ??? ??? ??? ??? ?/\
?? ??? ??? ??? ??? ?||
?? ??? ??? ??? ??? ?\/
?? ?//
?? ?//?? ??? ??? ???? "中間層模塊"
?? ?//?? ??? ?功能:采用托管C++將底層的C++類封裝以便上層C#調用
?? ?//?? ??? ?一個或多個dll,以N打頭
?? ?//?? ??? ??? ?
?? ?//
?? ??? ??? ??? ??? ?/\
?? ??? ??? ??? ??? ?||
?? ??? ??? ??? ??? ?\/"核心層模塊"
?? ?/
?? ?//?? ??? ??? ??? ??? ?"邏輯模塊"
?? ?//?? ??? ??? ??? ?定義顯示控制和專業應用的邏輯接口
?? ?//?? ??? ??? ??? ?實現業務邏輯與具體實現技術分離
?? ?//???????????????????????????????????? 模塊名稱:RockInterface.dll
?? ?// ?? ??? ??? ??? ?調用業務模塊和渲染模塊相關接口實現
?? ?//?? ?--------------------------------------------------------------------------
?? ?//?? ??? ?|?? ??? ??? ????? |?? ??? ????? |?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
?? ?//? ??? ?"專業業務模塊"?? ????????????????????? |?? ??? ?"3D渲染模塊"
?? ?//C++封裝的dll負責切割,分析等專業算法的實現 |負責渲染“巖石”“節理面”等專業對象
?? ?//在此模塊中定義基礎數據結構?? ??? ????? |場景操控,用戶交互,選擇反饋,漫游等
?? ?//? ??? ?模塊名稱:???.dll?? ??? ??? ??? ????? |?????? 模塊名稱:RockScene.dll
?? ?//?? ??? ??? ??? ??? ????? |?? ?
?? ?/

?

架構2

?? ???? ///?? ?
?? ??? ?// ?? ??? ?“系統界面框架模塊”
?? ??? ?//?? ?使用Virtual C++開發 office風格的窗口界面
?? ??? ?//????????? 程序名:NMM3DVIEWER.exe
?? ??? ?//?? ??? ?工程名:? NMMRockExplore
?? ??? ?//
?? ??? ??? ??? ???? /\
?? ??? ??? ??? ??? ?||
?? ??? ??? ??? ??? ?\/"核心層模塊"
?? ?/
?? ?//?? ??? ??? ??? ??? ?"邏輯模塊"
?? ?//?? ??? ??? ??? ?定義顯示控制和專業應用的邏輯接口
?? ?//?? ??? ??? ??? ?實現業務邏輯與具體實現技術分離
?? ?//???????????????????????????????????? 模塊名稱:RockInterface.dll
?? ?// ?? ??? ??? ??? ?調用業務模塊和渲染模塊相關接口實現
?? ?//?? ?--------------------------------------------------------------------------
?? ?//?? ??? ?|?? ??? ??? ????? |?? ??? ????? |?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?
?? ?//? ??? ?"專業業務模塊"?? ????????????????????? |?? ??? ?"3D渲染模塊"
?? ?//C++封裝的dll負責切割,分析等專業算法的實現 |負責渲染“巖石”“節理面”等專業對象
?? ?//在此模塊中定義基礎數據結構?? ??? ????? |場景操控,用戶交互,選擇反饋,漫游等
?? ?//? ??? ?模塊名稱:???.dll?? ??? ??? ??? ????? |?????? 模塊名稱:RockScene.dll
?? ?//?? ??? ??? ??? ??? ????? |?? ?
?? ?/

總結

以上是生活随笔為你收集整理的NMM3DViewer 设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。