当前位置: 首页 > news >正文

怎样用别人的网站做修改病句用html制作购物网站

怎样用别人的网站做修改病句,用html制作购物网站,三五互联做网站吗,电子商务网站设计心得体会FastCAE使用gmsh进行网格划分#xff0c;划分的时候直接启动一个新的gmsh进程#xff0c;个人猜测这么设计是为了规避gmsh的GPL协议风险。 进行网格划分时#xff0c;其大体运行如下图#xff1a; 一、Python到gmshModule模块 GUI操作到Python这步不再分析#xff0c;比…FastCAE使用gmsh进行网格划分划分的时候直接启动一个新的gmsh进程个人猜测这么设计是为了规避gmsh的GPL协议风险。 进行网格划分时其大体运行如下图 一、Python到gmshModule模块 GUI操作到Python这步不再分析比较简单。执行的Python代码大概如下 gmsher Mesher.Gmsher() gmsher.setDim(3) gmsher.selectedAll() gmsher.setElementType(Tet) gmsher.setElementOrder(1) gmsher.setMethod(1) gmsher.setSizeFactor(1) gmsher.setMinSize(0) gmsher.setMaxSize(100) gmsher.cleanGeo() gmsher.startGenerationThread()这些代码可以在控制台找到如下图 这样创建了一个gmsher对象赋予网格划分的控制参数最后调用startGenerationThread()方法这个方法的源码在Mesher.py文件中。对于三维问题会调用gmshModule模块的接口GenerateMesh3D()。gmshModule同样提供了针对二维、流体网格的划分接口代码在GmshPy.h文件中如下图所示。 二、启动gmsh线程写出gmsh文件生成网格 在GmshPy::GenerateMesh3D()函数中只是准备网格划分的参数最后会调用到GmshModule::generateSlot()函数中。 void GmshModule::generateSlot(GMshPara *para) {GmshThread *thread iniGmshThread(para);auto processBar new ModuleBase::ProcessBar(_mainwindow, tr(Gmsh Working...));_threadManager-insertThread(processBar, thread); // 运行gmsh线程 }// 初始化gmsh线程 GmshThread *GmshModule::iniGmshThread(GMshPara *para) {if (_threadManager-isRuning()){delete para;ModuleBase::Message m(Common::Message::Error, QString(Gmsh is running !));emit printMessageToMessageWindow(m);}GmshThread *thread new GmshThread(_mainwindow, _preWindow, this, para-_dim);thread-setPara(para);delete para;return thread; }在GmshModule::generateSlot函数中会初始化一个线程并启动运行。 再打开GmshThread的run方法大体流程就是合并几何对象形成一个TopoDS_Compound对象调用BRepTools::Write写出geometry.brep文件。写出gmsh控制文件最后调用gmsh命令生成网格文件。 void GmshThread::run(){this-mergeGeometry(); // 写出几何文件this-initGmshEnvoirment(); // 写出gmsh的控制文件this-generate(); // 执行gmsh命令}void GmshThread::mergeGeometry(){QString exelPath QCoreApplication::applicationDirPath();const QString tempDir exelPath /../temp/;QDir dir(tempDir);if (!dir.exists())dir.mkpath(tempDir);// 清理之前的临时文件const QString meshfilename exelPath /../temp/mesh.vtk;if (QFile::exists(meshfilename))QFile::remove(meshfilename);const QString geofilename exelPath /../temp/geometry.brep;if (QFile::exists(geofilename))QFile::remove(geofilename);const QString gmshfilename exelPath /../temp/gmsh.Geo;if (QFile::exists(gmshfilename))QFile::remove(gmshfilename);const QString tempPath tempDir QString(geometry.brep);if (_fluidMesh)_fluidMeshProcess-mergeFluidField(_compounnd, _solidHash);else if (_selectall)mergeAllGeo(); // 将需要划分网格的组成一个compounnd对象else if (_selectvisible)mergeVisibleGeo();elsemergeSelectGeo();QByteArray arr tempPath.toLatin1();BRepTools::Write(*_compounnd, arr.data()); // 使用BRepTools写出geometry.brep文件}void GmshThread::initGmshEnvoirment(){QString exelPath QCoreApplication::applicationDirPath();const QString tempDir exelPath /../temp/;// const QString gmshDir exelPath /gmsh/;QFile::remove(tempDir gmsh.Geo);_scriptWriter-setCompound(_compounnd);setGmshScriptData();if (_fluidMesh){QListint curve _fluidMeshProcess-getInerMember(1);QListint surface _fluidMeshProcess-getInerMember(2);_scriptWriter-writeFluidMeshScript(tempDir, _solidHash, curve, surface);}else_scriptWriter-writeGmshScript(tempDir); // 写出gmsh控制文件}void GmshThread::generate(){QString exelPath QCoreApplication::applicationDirPath();const QString tempDir exelPath /../temp/;// const QString gmshDir exelPath /gmsh/;QString gmshexe exelPath /gmsh;bool ok false; #ifdef Q_OS_WINok QFile::exists(gmshexe .exe); #endif #ifdef Q_OS_LINUXok QFile::exists(gmshexe); #endifif (!ok){QMessageBox::warning(_mainwindow, QString(tr(Warning)), QString(tr(Gmsh is not exist !)));return;}// 调用gmsh生成网格QString startProcess QString(%1 %2 -format vtk -bin -o %3 -%4).arg(gmshexe).arg(tempDir gmsh.Geo).arg(tempDir mesh.vtk).arg(_dim);if (gmshexe.contains( ))startProcess QString(\%1\).arg(startProcess);qDebug() startProcess;_process.start(startProcess);}最后调用的gmsh命令大体如下生成mesh.vtk网格文件。 C:/workspace/FastCAE/build/Debug/gmsh C:/workspace/FastCAE/build/Debug/…/temp/gmsh.Geo -format vtk -bin -o C:/workspace/FastCAE/build/Debug/…/temp/mesh.vtk -3 三、读取网格文件 读取网格文件代码在GmshThread::readMesh函数中注意执行这段代码时gmsh线程已经结束了。 void GmshThread::readMesh() {MeshData::MeshData *data MeshData::MeshData::getInstance();QString exelPath QCoreApplication::applicationDirPath();const QString fileName exelPath /../temp/mesh.vtk;QTextCodec *codec QTextCodec::codecForName(GB18030);QByteArray ba codec-fromUnicode(fileName);vtkSmartPointervtkDataSetReader vtkReader vtkSmartPointervtkDataSetReader::New();vtkReader-SetFileName(ba);vtkReader-Update();vtkDataSet *dataset vtkReader-GetOutput();if (dataset nullptr)return;if (!_isSaveToKernal)emit writeToSolveFileSig(dataset);else{auto k new MeshData::MeshKernal();k-setName(QString(Mesh_%1).arg(k-getID()));k-setMeshData(dataset);data-appendMeshKernal(k);if (!_fluidMesh)setGmshSettingData(k);emit _gmshModule-updateMeshTree();emit _gmshModule-updateSetTree();// emit _preWindow-updateMeshActorSig();emit _gmshModule-updateActions();emit updateMeshActor();} }由于gmsh输出的是vtk文件这里直接使用vtkDataSetReader读取的。
http://www.hkea.cn/news/14316084/

相关文章:

  • 张家港外贸型网站建设灰色关键词快速排名
  • 北京公司的网站建设房子装修改造
  • c 创建一个网站怎么做wordpress不同尺寸图片大小
  • 公司建网站哪家柯城建设局网站
  • 一台网站服务器多少钱服务专业制作网页
  • 百度小程序还需要做网站吗wordpress5.0.2图集怎么发布
  • 网站上那些兼职网页怎么做的网站提交至google
  • 建设商务网站的理由中山市做网站的公司
  • 网站建设公司浩森宇特移动网站建设是什么
  • 知乎企业网站建设网站建设企
  • 杭州滨江的网站建设公司网站建设引入谷歌地图
  • 网站建设教学工作总结6uehtml wordpress
  • 网站建设经费保障如何申请百度竞价排名
  • 网站建设可行性研究唐山网站建设那家性价比高
  • 江西宗杰建设工程有限公司网站网站怎么备案啊
  • app网站开发著名的网络营销案例
  • 西安建设网站的公司哪家好凡科送审平台学生不能登录
  • 美食网站模板下载做导航网站用什么建站程序
  • 怎样建设与维护自己的平台网站dw php网站建设视频教程
  • 网站 猜你喜欢 怎么做哪个做网站公司
  • 微网站的搭建流程网站建设常用的6大布局加代码
  • 滨州网站开发公司怎么建一个网站卖东西
  • 网站开发费属于什么费用二次元博客源码wordpress
  • 代理 网站前置审批西部建设网站
  • 网站开发集成软件建设银行手机登陆网站
  • 舞台灯光网站建设公司个人网站页面设计素材
  • 做网站是怎么做的网站建设wordpress
  • 有谁想做网站 优帮云个人建站教程
  • 怎么制作网站vi页面店铺管理app
  • 做的好的响应式网站有哪些中企动力 网站建设 收费