欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OCCT中的平面(Geom_Plane)

程序员文章站 2022-04-03 23:19:37
...

    描述三维空间中的平面,通过坐标系将平面定位在空间中。平面由坐标系的原点,x方向,y方向定义。该坐标系是局部坐标系,有以下特点:

    坐标系的x方向,y方向分别表示平面的u、v。

    坐标系的原点表示平面的原点。

    坐标系的“主方向”垂直于平面。

    平面的参数方程是:

    OCCT中的平面(Geom_Plane)

     其中,O, XDir , YDir 分别是平面所在的局部坐标系的原点,x方向,y方向,参数u,v 的范围是OCCT中的平面(Geom_Plane)

     在OCCT中,Geom_Plane有如下几种初始化方式。

Geom_Plane::Geom_Plane (const gp_Ax3& A3) 
{
    pos = A3;
}

    创建三维空间中的平面,A3的“Z轴方向”表示平面的“法向”,A3的“位置”表示平面的“原点”,A3的“x方向”和“y方向”表示参数u,v的方向。

Geom_Plane::Geom_Plane (const gp_Pln& Pl)
{
    pos = Pl.Position(); 
}

      通过gp中的非临时平面创建新的平面。

Geom_Plane::Geom_Plane (const Pnt& P, const Dir& V) 
{
   gp_Pln Pl (P, V);
   pos = Pl.Position();
}

     P是平面的原点,V是平面的法向。

Geom_Plane::Geom_Plane ( const Standard_Real A, 
			 const Standard_Real B, 
			 const Standard_Real C, 
			 const Standard_Real D) 
{
   gp_Pln Pl (A, B, C, D);
   pos = Pl.Position ();
}

     从笛卡尔方程创建一个平面:Ax + By + Cz + D = 0.0,如果Sqrt(A * A + B * B + C * C)<=gp的阈值,则上调该值。