OCC Geom()

Geom_Geometry

Geom_Geometry是三维参数化对象的抽象基类。它提供、定义了三维对象基本的镜像、旋转、缩放、平移、拷贝等操作。

virtual void Geom_Curve::Reverse() = 0

// 函数功能:曲线逆序。”FirstParameter”以及”LastParameter”不会改变,但是曲线的方向会被修改。如果曲线是有边界的,那么初始曲线的 起始点和结束点会被调换。

Geom_Conic::Reverse()             –> // 成员变量 gp_Ax2 pos;

                                                         gp_Dir Vz = pos.Direction();        Vz.Reverse();         pos.SetDirection(V1);        通过改变坐标轴的方向来实现逆序。

Geom_Circle::Reverse()             –> 未实现,沿用 Geom_Conic

Geom_Line::Reverse()               –> // 成员变量 gp_Ax1 pos;

                                                         pos.Reverse();

virtual double Geom_Curve::ReversedParameter(const double U) const = 0

函数功能:求U对应的逆序曲线点

Geom_Conic::ReversedParameter(U)           –> 未实现

Geom_Circle::ReversedParameter(U)           –> return 2 * PI – U;

Geom_Line::ReversedParameter(U)              –>  return -U;

virtual double Geom_Curve::FirstParameter() const = 0

函数功能:取曲线起点特征值

Geom_Conic::FirstParameter()                         –> 未实现

Geom_Circle::FirstParameter()                         –> return 0;

Geom_Line::FirstParameter()                            –> return -Precision::Infinite();

virtual double Geom_Curve::LastParameter() const = 0

函数功能:取曲线结束点特征值

Geom_Conic::LastParameter()                         –> 未实现

Geom_Circle::LastParameter()                         –> return 2 * PI;

Geom_Line::LastParameter()                            –> return Precision::Infinite();

virtual  bool Geom_Curve::IsClosed() const = 0

// 函数功能:判断曲线是否闭合

Geom_Conic::IsClosed()                         –> 未实现

Geom_Circle::IsClosed()                         –> return true;

Geom_Line::IsClosed()                            –> return false;

virtual bool Geom_Curve::IsPeriodic() const = 0

// 函数功能:判断曲线是否是周期性的

Geom_Conic::IsPeriodic()                         –> 未实现

Geom_Circle::IsPeriodic()                         –> return true;

Geom_Line::IsPeriodic()                            –> return false;

virtual double Geom_Curve::Period() const    {Raise_if(!IsPeriodic());  return LastParameter() – FirstParameter();}

// 函数功能:取周期曲线的周期值。

// 注意:调用此函数之前,应该先判断是否是周期曲线。

virtual GeomAbs_Shape Geom_Curve::Continuity() const = 0

// 函数功能:获取曲线的连续性

Geom_Conic::Continuity()                         –> 未实现

Geom_Circle::Continuity()                         –> 

Geom_Line::Continuity()                            –> return GeomAbs_CN

virtual void Geom_Curve::Do(const double U, gp_Pnt &P) const = 0

// 函数功能:获取曲线在特征值为U时的曲线点坐标P

Geom_Conic::Do()                         –> 未实现

Geom_Circle::Do()                         –> 以U为弧度,计算cos,sin值,然后计算对应坐标系下的值。

Geom_Line::Do()                            –> 直线起点 + U * 直线向量。

gp_Pnt Geom_Curve::Value(const double U) const     {gp_Pnt p;    D0(U, p);  return P; }

// 取曲线在特征值U的点坐标。

// 还有一些函数待添加。。。

————————

Geom_Geometry

Geom_Geometry是三维参数化对象的抽象基类。它提供、定义了三维对象基本的镜像、旋转、缩放、平移、拷贝等操作。

virtual void Geom_Curve::Reverse() = 0

// 函数功能:曲线逆序。”FirstParameter”以及”LastParameter”不会改变,但是曲线的方向会被修改。如果曲线是有边界的,那么初始曲线的 起始点和结束点会被调换。

Geom_Conic::Reverse()             –> // 成员变量 gp_Ax2 pos;

                                                         gp_Dir Vz = pos.Direction();        Vz.Reverse();         pos.SetDirection(V1);        通过改变坐标轴的方向来实现逆序。

Geom_Circle::Reverse()             –> 未实现,沿用 Geom_Conic

Geom_Line::Reverse()               –> // 成员变量 gp_Ax1 pos;

                                                         pos.Reverse();

virtual double Geom_Curve::ReversedParameter(const double U) const = 0

函数功能:求U对应的逆序曲线点

Geom_Conic::ReversedParameter(U)           –> 未实现

Geom_Circle::ReversedParameter(U)           –> return 2 * PI – U;

Geom_Line::ReversedParameter(U)              –>  return -U;

virtual double Geom_Curve::FirstParameter() const = 0

函数功能:取曲线起点特征值

Geom_Conic::FirstParameter()                         –> 未实现

Geom_Circle::FirstParameter()                         –> return 0;

Geom_Line::FirstParameter()                            –> return -Precision::Infinite();

virtual double Geom_Curve::LastParameter() const = 0

函数功能:取曲线结束点特征值

Geom_Conic::LastParameter()                         –> 未实现

Geom_Circle::LastParameter()                         –> return 2 * PI;

Geom_Line::LastParameter()                            –> return Precision::Infinite();

virtual  bool Geom_Curve::IsClosed() const = 0

// 函数功能:判断曲线是否闭合

Geom_Conic::IsClosed()                         –> 未实现

Geom_Circle::IsClosed()                         –> return true;

Geom_Line::IsClosed()                            –> return false;

virtual bool Geom_Curve::IsPeriodic() const = 0

// 函数功能:判断曲线是否是周期性的

Geom_Conic::IsPeriodic()                         –> 未实现

Geom_Circle::IsPeriodic()                         –> return true;

Geom_Line::IsPeriodic()                            –> return false;

virtual double Geom_Curve::Period() const    {Raise_if(!IsPeriodic());  return LastParameter() – FirstParameter();}

// 函数功能:取周期曲线的周期值。

// 注意:调用此函数之前,应该先判断是否是周期曲线。

virtual GeomAbs_Shape Geom_Curve::Continuity() const = 0

// 函数功能:获取曲线的连续性

Geom_Conic::Continuity()                         –> 未实现

Geom_Circle::Continuity()                         –> 

Geom_Line::Continuity()                            –> return GeomAbs_CN

virtual void Geom_Curve::Do(const double U, gp_Pnt &P) const = 0

// 函数功能:获取曲线在特征值为U时的曲线点坐标P

Geom_Conic::Do()                         –> 未实现

Geom_Circle::Do()                         –> 以U为弧度,计算cos,sin值,然后计算对应坐标系下的值。

Geom_Line::Do()                            –> 直线起点 + U * 直线向量。

gp_Pnt Geom_Curve::Value(const double U) const     {gp_Pnt p;    D0(U, p);  return P; }

// 取曲线在特征值U的点坐标。

// 还有一些函数待添加。。。