Hello World of OpenCascade
Hello World of OpenCascade
摘要Abstract:以一个经典的Hello World程序为例开始对开源几何造型内核OpenCascade的学习。
关键字Key Words:OpenCascade、Qt、Hello World
一、引言 Introduction
OpenCascade编译成功后,看着大量的代码,无从下手。本文以Hello World程序为例,详细说明使用OpenCascade进行编程需要注意的事项,以便对OpenCascade做进一步学习。
选择的编程工具为Qt Creator,因为其也是开源的,其版本信息如下图所示:

Figure 1.1 About Qt Creator
二、Hello World of OpenCascade
1. 新建工程:在Qt Creator中创建一个新的工程,选择Non-Qt Project -> Plain C++ Project,如下图所示:
![]()
Figure 2.1 Create a Plain C++ project in Qt Creator
2. 在工程文件中添加头文件路径及所需要用到的库文件,如下图所示:
![]()
Figure 2.2 Set header file path and library
3. 程序的源代码如下所示:
/*
eryar All Rights Reserved.
*
* File : Main.cpp
* Author : eryar@163.com
* Date : 2013-08-22 18:52
* Version : 1.0v
*
* Description : Hello World program of OpenCascade.
*
*/
#include <iostream>
// OpenCascade library.
#define WNT
#include <Standard_CString.hxx>
int main(void)
{
Standard_CString strHelloWorld("Hello World!");
Standard_CString strHelloOcct("Hello OpenCascade!");
std::cout << strHelloWorld << std::endl;
std::cout << strHelloOcct << std::endl;
;
}
4. 程序输出结果如下图所示:
![]()
Figure 2.3 Program output
5. 程序代码说明:
l #include <iostream>:使用了C++的标准输入输出,如:std::cout;
l #define WNT:告知OpenCascade程序运行在Windows平台上。若不设置,当编译器为MSVC时,会出现如下编译错误:
// check if WNT macro is not defined but compiler is MSVC
#if defined(_MSC_VER) && !defined(WNT)
#error "Wrong compiler options has been detected. Add /DWNT option for proper compilation!!!!!"
#endif
l #include <Standard_CString.hxx>:使用OpenCascade中的字符串;
l 使用了两个字符串变量分别输出“Hello World!”和“Hello OpenCascade!”;
三、结论 Conclusion
在Qt Creator中以一个简单的示例程序,详细说明了在Windows平台使用OpenCascade开发需要注意的事项,为进一步研究、学习、使用OpenCascade奠定基础。
PDF Version: Hello World of OpenCascade
Hello World of OpenCascade的更多相关文章
- OpenCASCADE AIS Manipulator
OpenCASCADE AIS Manipulator eryar@163.com Abstract. OpenCASCADE7.1.0 introduces new built-in interac ...
- Convert BSpline Curve to Arc Spline in OpenCASCADE
Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...
- OpenCASCADE Shape Location
OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...
- OpenCASCADE BRep Projection
OpenCASCADE BRep Projection eryar@163.com 一网友发邮件问我下图所示的效果如何在OpenCASCADE中实现,我的想法是先构造出螺旋线,再将螺旋线投影到面上. ...
- OpenCASCADE Expression Interpreter by Flex & Bison
OpenCASCADE Expression Interpreter by Flex & Bison eryar@163.com Abstract. OpenCASCADE provide d ...
- OpenCASCADE Data Exchange - 3D PDF
OpenCASCADE Data Exchange - 3D PDF eryar@163.com Abstract. Today most 3D engineering model data are ...
- OpenCASCADE Interpolations and Approximations
OpenCASCADE Interpolations and Approximations eryar@163.com Abstract. In modeling, it is often requi ...
- OpenCASCADE Ring Type Spring Modeling
OpenCASCADE Ring Type Spring Modeling eryar@163.com Abstract. The general method to directly create ...
- OpenCASCADE Interpolation - Lagrange
OpenCASCADE Interpolation - Lagrange eryar@163.com Abstract. Power basis polynomial is the most simp ...
- OpenGL Shader in OpenCASCADE
OpenGL Shader in OpenCASCADE eryar@163.com Abstract. As implementation of one of the strategic steps ...
随机推荐
- [Leetcode] Number of Digit Ones
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less th ...
- 【系统篇】从int 3探索Windows应用程序调试原理
探索调试器下断点的原理 在Windows上做开发的程序猿们都知道,x86架构处理器有一条特殊的指令——int 3,也就是机器码0xCC,用于调试所用,当程序执行到int 3的时候会中断到调试器,如果程 ...
- iOS推送原理
1.首先app会和apns建立长连接,会发送 udid和 bundle id给apns 2.apns会返回给app一个device token 3.用会把device token 发给自己的服务器 4 ...
- <十四>JDBC_c3p0数据库连接池
配置文件:c3p0-config.xml <!-- Hibernate官方推荐使用的数据库连接池即c3p0;dbcp是Tomcat在数据源中使用 --><c3p0-config> ...
- lua中基类和“继承机制”
基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...
- centos执行yum出现Could not retrieve mirrorlist错误
具体错误见截图 刚开始以为是DNS配置错误,经检查发现DNS与物理机的DNS配置是一样的,物理机可以解析DNS 搜索资料发现是/etc/nsswitch.conf这个文件的问题 这个文件hosts标签 ...
- 关于ReSharper
Resharper提供以下6个核心功能1. 代码分析(Code Analysis):智能提示代码中存在的问题和修复建议. 2. 编码助手(Coding Assistance):智能提示自动完成功能. ...
- 1035-Spell checker(模糊匹配)
一,题意: 给出一组字典的单词,以'#'结束,之后给出一组要执行模糊匹配的单词序列,以'#'结束 1,若某个单词能在字典中找到,则输出corret 2,若某个单词能通过 变换 或 删除 或 添加一个字 ...
- 系统吞吐量(TPS)、用户并发量、性能测试概念和公式
分享一个概念: http://www.ha97.com/5095.html
- C#_技巧:.net下C++调用C#的dll
C#编译一个dll,比如命名空间为Csharp,里面有个类A,字段x,产生一个Csharp.dll C++ 配置,让C++支持CLR C++调用方法: #include <iostream> ...