




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、汽車3.5概要設計1. 引言主要是對整體架構的一些描述,便于交流軟件的設計思路2. 總體設計2.1. 需求規定1. 仿真教學·原理動畫(flash、avi)·系統電路(多種儀表的測量)·三維結構2. 實訓練習·單項選擇題·多項選擇題·操作維護題·拆裝題·記錄及回放(操作錯誤與操作過程)3. 測驗考核·上面2里的內容·組卷,出卷,自動評分2.2. 運行環境硬件:Intel P4 1.2G以上、32M顯存以上顯卡軟件:Windows 2000 以上2.3. 基本設計概念·基于Windows
2、系統,Visual C+2005,OpenGL1.2開發·快速的定制、添加各種教學頁面·快速的定制、添加各種題目頁面·多種車型發布控制;素材庫、題材庫可自定義組織內容2.4. 結構·主模塊:頁面的創建管理;遠程的控制·基礎模塊:一些基礎類;資源管理系統·界面控件:定制的界面控件·儀表:測量儀表的實現·電路:電路數據與邏輯·界面實現:各種界面的實現及對頁面編輯、添加的支持·三維模塊:三維對象的創建、數據的管理·拆裝模塊:支持拆裝題的編輯、添加2.4.1. 主框架A主框架主要負責實現頁面的
3、創建與管理以及程序運行模式的控制。B由代表應用程序的“ArApp”負責程序運行模式的控制。·普通模式下,不做任何處理;·教師授課模式下,啟動定時器,記錄當前數據并通過遠程模塊發送出去;·學生受控模式下,過濾鼠標鍵盤的操作,接收遠程模塊發送來的數據,保持與教師控制端一致。C由代表主框架窗口的“ArMainFrame”負責頁面的創建與切換管理。·由頁面工廠統一管理并提供各種頁面的創建參數類;·“ArMainFrame”根據創建參數類創建出新頁面,并負責新舊頁面的切換;·頁面池負責記錄創建參數類及頁面快照,用以實現返回上一個頁面及頁面狀態的
4、恢復;頁面創建管理2.4.2. 一般界面架構A不同種類的界面有不同的實現。具體的設計在詳細設計里體現。B基本思路都是:多種視圖元素通過控制器訪問數據對象,數據的變化通過觀察者接口更新相關視圖元素。C幾種基礎的經常使用的頁面提供編輯器,以供外部擴充。簡單頁面 2.4.3. 基礎資源管理A” ArCarResManagerCL”封裝對底層文件的訪問,使得程序對普通文件、流文件、甚至壓縮文件都能用一種方式訪問。這樣在調試的時候,可以使用易于查看的文本文件,軟件發布的時候可以根據需要,將某些文件進行打包甚至壓縮。這時不需要改動代碼,只要配置抽象文檔系統即可。B老的調用方式:調用GetResPackM(
5、const CString& sPackPath)得到一個ArIResourceCL接口,然后將實現了ArIResPersistCL接口的客戶類傳給ArIResourceCL,底層的ArPackedResLibCL反調LoadFromStreamM(IStream *pStm)函數,將數據流交給客戶類使用。C考慮新的調用方式:直接從ArCarResManagerCL上獲取數據流IStreamPtr使用。·詳細接口函數聲明class CarBase_DllExp CrCarResManagerCL : public CrIResManagerCLpublic: / 根據包路徑獲
6、取數據包接口。sPackPath是資源包路徑,不限制必須是DLL名 ArIResourceCL* GetResPackM( const CString& sPackPath ); / 給目標對象加載數據。sResName是安裝目錄內的路徑,更靈活(無需關心屬于哪個DLL數據包) BOOL LoadResM( ArIResPersistCL * pResObj , const CString& sResFile ) ; / (新做法) 直接獲取資源數據流。sResName:安裝目錄內的路徑(無需關心屬于哪個數據包) / 然后直接調用IStream:Read()讀取數據。*注意:不
7、能用寫入類的函數* IStreamPtr GetResStreamM( const CString& sResFile); Void SetCurDIrM( const CString& sResName ); CString GetCurDIrM(); ·外部文件組織我們軟件的首頁會將所有的頁面(結構/原理、題目、知識點)都列出來,用戶點擊后進入相應的窗口。因此有頁面類型與頁面ID兩個概念:如:電路頁面,知識點頁面,拆裝頁面都是頁面類型。點火系電路頁面,起動系電路頁面則是頁面ID。·具體到數據組織的時候:1. 頁面類型的數據放在“softframe”下:如
8、“拆裝窗口”類型相關的數據,如底圖、按鈕、列表框圖等,統一放在“softframebackoutPG”下:如“電路窗口”類型相關的數據,如底圖、按鈕、列表框圖等,統一放在“softframecircuitPG”下:2. 具體頁面(結構/原理、題目、知識點)的數據,放在相應“車型系統xxx”下如“氣缸蓋拆裝”這道題相關的數據,如拆裝腳本、模型列表等則放在相應“santanasimuenginexxx”下。至于多道題目共用的數據,如模型(模型理想情況是可以與零部件庫 Santanamediapart里共用),如不能就放在車型下(santanasimusbjModel)。再如“氧傳感器的檢測”是一道
9、電路題,此題目的初始化文件放在“Santanasimugasoxxx”下,但電路數據、電路圖是共用的,那就放在“Santanasimucircuit”下“xxx”一般是題號,也可幾道題上再建一個文件夾。3. 電路數據庫不再是唯一的:從現在的情況看,有多個車型,并且電路的需求也不一樣,所以電路數據庫不是一個,軟件里的電路數據類也不能是全局對象,而是要根據電路題目初始化不同的電路數據。4. 如何確定外部文件位置:頁面工廠根據頁面ID(題目ID)創建頁面的時候,首先確定使用的頁面類,然后根據需要傳入配置文件,配置文件里記錄要用的其他數據文件,用相對位置或絕對位置(bin之下)都可以。當用“資源管理程
10、序”打開某個文件的時候,資源管理程序的“當前目錄”就設置為此文件的目錄;也可以外部設置當前目錄。在此之后就可以用相對路徑打開文件。使用相對路徑時候前面可以加“.”,來指向共用的數據。2.4.4. 電路與儀表A 先使用以前的做法和實現。BC2.4.5. 三維模塊A 公司產品的主要思路是虛擬仿真,三維功能是每一個軟件都必不可少的。個人覺得可以考慮做一個比較通用的、靈活的三維模塊,在不同的軟件里都可以拿來用,應該可以提高整個公司的開發效率。B 考慮將三維模塊分成3部分:“場景組織”、“資源管理”、“三維渲染”C “場景管理”,描述了三維空間中有哪些內容,以及它們是如何組織在一起的;D “資源管理”,
11、不管模型、紋理還是字體等一切對象,繪制它們都需要不同的資源。“資源管理”負責加載、重用、卸載這些資源。E “三維渲染”,三維空間中的東西最后將被渲染到屏幕上,這涉及到渲染管線、指定的渲染系統、渲染狀態等API對象等底層對象。“三維渲染系統”提供對底層三維API的抽象,可以根據需要支持OpenGL或Direct3D。實際的零件結構A 橫線上是抽象結構,橫線下是具體例子。B 部件相當于樹列表上的節點,有名稱,可以被單獨選取、隱藏;組合部件相當于父節點,可以展開,也可以收縮當作一個整體來選取、隱藏;子部件相當于子節點。C 子部件包含1n個零件,可單獨運動但不能被單獨選取;D 不同的零件可能使用同一個
12、模型數據。如汽缸蓋緊固螺栓下有8個,每一個都能被單獨的拆裝,但它們都是由一個模型數據創建。設計的數據結構A 橫線上的節點與實體由“場景管理”負責創建并管理;B 節點表示一個包或容器的概念,可以包含其他的子節點或實體;C 實體表示空間中的一個實實在在的物體,可以移動、旋轉改變位置;D 橫線下的模型及相關數據由“資源管理”負責創建并管理;E 一個模型對應一個數據文件,包含三角片、材質等用于繪制的數據,實現渲染、主結構1根據配置文件初始化渲染系統,可以選擇Direct3D或OpenGL;2創建場景并在場景中架設攝像機;通過資源管理器創建物體并放置在場景中;3創建窗口、視口并與攝像機關聯,一個視口上顯示一個攝像機能“看”到的物體;4控制器接收消息和命令,將其轉換成對場景和攝像機的控制;5刷新時:窗口要求場景繪制它能看見的部分;場景將能見的物體交給渲染系統繪制;初始序列圖資源管理A 模型對象由ModelManager負責創建、管理及重用。例如多個位置的螺栓用一個螺栓模型數據。B 材質由MaterialManager負責創建、管理及重用。例如不同的子網格使用同一種材質。C 紋理貼圖由TextureManager負責創建、管理及重用。例如不同的零件使用同一種金屬紋理貼圖。D 主要的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025網站開發合作合同書
- 2025年土地增值合同范本
- 2025外貿代理合同范本
- 2025資金信托合同(B)信托合同
- 2025高空作業車租賃合同協議
- 2025房產贈與合同范本
- 2025年版個人借款合同范本
- 2025普通班的店面租賃合同書
- 電池成品采購合同協議
- 現場調試合同協議書模板
- 2024年四川宜賓五糧液股份有限公司招聘筆試真題
- 吉林2025年03月長春新區面向社會公開選聘8名各產業招商辦公室負責人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 微風發電項目可行報告
- 2025年中小學生安全教育日知識競賽考試題(附答案)
- 2024年初級會計實務考試真題及答案(5套)
- 垃圾焚燒飛灰處理行業深度調研及發展戰略咨詢報告
- 2024年東莞市寮步鎮招聘特聘材料員筆試真題
- 阿爾茨海默癥健康教育
- 鉚工基礎知識培訓
- 2025年車位轉讓協議模板
- 2025年注會合同法試題及答案
評論
0/150
提交評論