gocad二次开发包简介
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++ Qt Used by 100’s of developers world-wide with 500+ plug-ins
Chevron, BP, Exxon, Shell, Aramco, Total, Petrobras, … Mira, IFP, FracMV, Ephesia, Kidova, … Gocad consortium students, PUC, other universities
do() { Atomic* atomic = dynamic_cast<Atomic*>(gobj);
AtomicAPI::run_dsi_geo(a, conjugate_, fitting_factor_ );
}; parameter nbiter { keywords "Number of iterations"; }; dialog { Extension { fitting_factor } } ; info "Fitting result depends on the set of constraints attached to the object such as Control Nodes or Control Points,..."; title "Fit Shape" ; }
Incorporated in 3rd party software as modeling engine
High level architecture of Development Kit
Plugin
Plugin
Plug-In
Plug-ins
Main Shell
Workflow Engine
CLI
Graphic
Application Layer
Algorithms
Earth Model Layer Data Objects
A Plug-in can:
Access all Gocad objects in read-write (C++ classes) Access all Gocad algorithms (C++ classes or API) Create new algorithms and new CLI commands Use 3rd party libraries in CLI commands
gocad二次开发包简介精心收集的各类精品文档欢迎下载
Gocad二次开发包简介
Technology
Plug-in architecture/C++/Linux & Windows/Qt Dev. kit Core algorithms
Triangulation Tessellation Geometry interpolation (DSI) Property interpolation (Kriging)
Additional Volume representation (SKUA)
Unstructured mesh (tetrahedrons + parametric boundaries) Structured mesh + unstructured local refinements (at faults)
Fast Prototyping Environment Example:
Command AtomicRunDSICommand {
function Atomic::run_dsi_geo(Int nbiter=10, Boolean smooth=false, Float fitting_factor=2.0);
C++ Command
Command Description Code Generator Qt Dialog Menu Description
At run-time
User selects menu option, dialog popups User closes dialog, C++ command is executed Command is recorded in history and can be replayed/undone
Development Kit
Provide Plug-in/Runtime Development Environment Fast prototyping based on Command framework (CLI)
Automatic generation of UI and scriptable command
Documentation
Browsable Documentation included, as a /HTML CHM / QtDoc file. - Overview sections, with high level documentations. - Guides for porting the application from one version to another - What’s new sections
Create/edit/draw/manipulate new Gocad Objects Incorporate 3rd party Qt widgets
Create a new workflow
Fast Prototyping Environment
CLI: Command Language Interface
Documentation
Exemple of Class documentation.
Conclusion
Very Open Development Kit
Access to API and all C++ classes Extensible through fundamental patterns (Factory, Command, etc.)
Fast development environment
CLI Qt Workflow dev-kit (Additional License)
Windows and Linux Extensive Documentation/trainingmaterial Training available on demand