zoukankan      html  css  js  c++  java
  • 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
        //                         |    
        /////////////////////////////////////////////////////////////////////////////////////

  • 相关阅读:
    构建之法第十三~十七章阅读
    构建之法第十,十一,十二章阅读
    构建之法第八,九,十章阅读
    Sprint会议计划
    作业6
    作业5 四则运算 测试与封装 5.2
    作业5 四则运算 测试与封装 5.1
    构建之法2
    做汉堡
    构建之法阅读
  • 原文地址:https://www.cnblogs.com/mazhenyu/p/4686583.html
Copyright © 2011-2022 走看看