首页 > 其他分享 >OCC Geom

OCC Geom

时间:2022-11-25 11:00:10浏览次数:40  
标签:return -- OCC 曲线 Curve Geom const

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的点坐标。

 

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

 

标签:return,--,OCC,曲线,Curve,Geom,const
From: https://www.cnblogs.com/06NN08/p/16924459.html

相关文章