# Geometric Processor Package **Repository Path**: yangyun001/gp ## Basic Information - **Project Name**: Geometric Processor Package - **Description**: 采用标准C++移植的OpenCASCADE几何数学库Geometric Processor Package,可用于解决从一般到复杂的几何计算问题,开箱即用,无任何第三方依赖。 - **Primary Language**: C++ - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2024-04-13 - **Last Updated**: 2024-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Geometric Processor Package 采用标准C++移植的OpenCASCADE几何数学库gp,可用于解决从一般到复杂的几何计算问题,开箱即用,无任何第三方依赖。

## 一、用法 ``` //导入总头文件 #include "gp\gpIndex.h" //直接调用相关类 gp_Pnt pnt1(0,0,0); gp_Pnt pnt2(1,1,1); pnt1.Distance(pnt2); //计算点pnt1到pnt2的距离 ``` ## 二、类说明 ### 1、坐标系统 |类名|功能| |:-|:-| | gp_XY | 二维坐标点 | | gp_XYZ | 三维坐标点 | | gp_Dir2d | 二维单位向量 | | gp_Dir | 三维单位向量 | | gp_Ax2d | 二维轴向 | | gp_Ax22d | 二维笛卡尔坐标系 | | gp_Ax1 | 三维轴向 | | gp_Ax2 | 三维右手笛卡尔坐标系 | | gp_Ax3 | 三维左手或右手笛卡尔坐标系 | ### 2、空间变换 |类名|功能| |:-|:-| | gp_Vec2d | 二维向量 | | gp_Vec | 三维向量 | | gp_Mat2d | 2x2矩阵 | | gp_Mat | 3x3矩阵 | | gp_Trsf2d | 3x3二维变换矩阵,可用于点及几何元素的空间转换 | | gp_Trsf | 4x4三维变换矩阵,可用于点及几何元素的空间转换 | | gp_GTrsf2d | 3x3二维变换矩阵,仅可用于点的坐标转换,用于几何元素变换时可能改变其形状 | | gp_GTrsf | 4x4三维变换矩阵,仅可用于点的坐标转换,用于几何元素变换时可能改变其形状 | | gp_Quaternion | 三维旋转四元数 | ### 3、几何元素 |类名|功能| |:-|:-| | gp_Pnt2d | 二维点 | | gp_Pnt | 三维点 | | gp_Line2d | 二维直线 | | gp_Line | 三维直线 | | gp_Hypr | 三维双曲线 | | gp_Hypr2d | 二维双曲线 | | gp_Parab | 三维抛物线 | | gp_Parab2d | 二维抛物线 | | gp_Pln | 三维平面 | | gp_Circ2d | 二维圆弧面 | | gp_Circ | 三维圆弧面 | | gp_Cone2d | 二维圆锥面 | | gp_Cone | 三维圆锥面 | | gp_Cylinder | 三维圆柱面 | | gp_Elips2d | 二维椭圆面 | | gp_Elips | 三维椭圆面 | | gp_Sphere | 三维球面 | | gp_Torus | 三维环形面 |