# 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 | 三维环形面 |