AcGeCurveCurveInt3d类
表示两条曲线的交集。在AcGeLinearEnt3d,AcGeCircArc3d和AcGeEllipArc3d类中特定的函数intersectWith()查找两条线,直线和弧线,两条弧线或直线与椭圆的交点。然而,没有一般的intersectWith( )函数可以查找两条曲线相交的点。这只能用建构这个类的对象来完成。
用两条指定的相交曲线建构这个类的对象。同样可以指定相交的每条曲线的特定间距。接着这些曲线的指针被储存为这个类的数据成员。此类包含返回两条曲线的相交点和重叠的间距的查询方法。以及返回关于每一个交点的信息,如是否交点是切线的或穿过的交点的方法。曲线的自相交点可以通过传递建构器的两个参数中的相同曲线找到。
继承自
包含文件
gecint3d.h
成员
|
AcGeCurveCurveInt3d::AcGeCurveCurveInt3d函数 AcGeCurveCurveInt3d( const AcGeCurve3d&
curve1, const AcGeCurve3d&
curve2, const
AcGeVector3d& planeNormal =
AcGeVector3d::kIdentity, const AcGeTol& tol = AcGeContext::gTol);
建造一个代表两输入曲线相交的对象。 交点在指定的准确公差范围之内被回归(或者如果没有公差参数,就在缺省公差范围之内)。“planeNormal”参数只被“getIntConfigs”函数调用。如果getIntConfigs()不能被此对象所调用,那么有必要提供其参数。 AcGeCurveCurveInt3d( const AcGeCurve3d&
curve1, const AcGeCurve3d&
curve2, const AcGeInterval& range1, const AcGeInterval& range2, const
AcGeVector3d& planeNormal =
AcGeVector3d::kIdentity, const AcGeTol& tol = AcGeContext::gTol);
建造一个代表两输入曲线相交的对象。 交点在指定的准确公差范围之内被回归(或者如果没有公差参数,就在缺省公差范围之内)。“planeNormal”参数只被“getIntConfigs”函数调用。如果getIntConfigs()不能被此对象所调用,那么有必要提供其参数。 AcGeCurveCurveInt3d( const
AcGeCurveCurveInt3d& src);
构建输入对象的复制本。 AcGeCurveCurveInt3d(); 这缺省建构器将典型被用作placeholder,这里曲线将被后来名指定到set( )函数。 此建构器设置两条用X和Y轴代表的无限延长的曲线。 |
|
AcGeCurveCurveInt3d::getIntConfigs函数 void getIntConfigs( int intNum, AcGe::AcGeXConfig&
config1wrt2, AcGe::AcGeXConfig&
config2wrt1) const;
回归指定交点的配置。 这些配置是在gegbl.h中被定义了的枚举类型。
第一个参数表明第一条曲线的配置和在指定点的第二条曲线有关。
同样地,第二个参数表明第二条曲线的配置与指定点的第一条曲线有关。 只有两条曲线是共面时,此函数才有意义。在那种情况下,对象应该由有效平面的法向向量建构,此法向向量与两条曲线的平面是垂直的。 这些配置表明在交点的参数值上下间隔内所发生的一切。 例如,如果第一个参数的回归配置是kRightLeft,第一条曲线相对于第二条曲线从右至左穿过第二条曲线。 intNum必须非负,并且必须是少于被numIntPoints( )返回的交点的数目。 |
||||||
|
AcGeCurveCurveInt3d::getIntParams函数 void getIntParams( int intNum, double& param1, double& param2)
const;
在指定的相交点回归曲线的参数值。intNum的必须非负,并且必须是少于被numIntPoints( )返回的交点的数目。 |
||||||
|
AcGeCurveCurveInt3d::getOverlapRanges函数 void getOverlapRanges( int overlapNum, AcGeInterval&
range1, AcGeInterval&
range2) const;
回归指定的重复曲线的重复部分的间隔。overlapNum必须非负,并且必须是少于被overlapCount().返回的交点的数目。 |
||||||
|
AcGeCurveCurveInt3d::getPointOnCurve1函数 void getPointOnCurve1( int intNum, AcGePointOnCurve3d&
pntOnCrv) const;
作为第一条曲线的AcGePointOnCurve2d对象,回归指定的交点。
AcGePointOnCurve2d类别包含回归2D协调函数和回归点的参数值。intNum必须非负并且必须是少于被numIntPoints( )返回的交点的数目。 |
||||||
|
AcGeCurveCurveInt3d::getPointOnCurve2函数 void getPointOnCurve2( int intNum, AcGePointOnCurve3d&
pntOnCrv) const;
作为第一条曲线的AcGePointOnCurve2d对象,回归指定的交点。
AcGePointOnCurve2d类别包含回归2D协调函数和回归点的参数值。intNum必须非负并且必须是少于被numIntPoints( )返回的交点的数目 |
||||||
|
AcGeCurveCurveInt3d::intPoint函数 AcGePoint3d intPoint( int intNum) const;
回归指定的交点。intNum必须非负并且必须是少于被numIntPoints( )返回的交点的数目。 |
||||||
|
AcGeCurveCurveInt3d::intPointTol函数 double intPointTol( int intNum) const;
回归被用来找到指定交点的公差。intNum必须非负并且必须是少于被numIntPoints( )返回的交点的数目 |
||||||
|
AcGeCurveCurveInt3d::isTangential函数 Adesk::Boolean isTangential( int intNum) const;
回归是否指定的交点是切点。intNum必须非负并且必须是少于被numIntPoints( )返回的交点的数目。. |
||||||
|
AcGeCurveCurveInt3d::isTransversal函数 Adesk::Boolean isTransversal( int intNum) const;
回归是否指定的交点是横向的交点。intNum必须非负并且必须是少于被numIntPoints( )。 |
||||||
|
AcGeCurveCurveInt3d::numIntPoints函数 int numIntPoints() const; 回归两曲线间相交点的数目。 |
||||||
|
AcGeCurveCurveInt3d::overlapCount函数 int overlapCount() const; 回归两曲线间重复间隔的数目。 |
||||||
|
AcGeCurveCurveInt3d::overlapDirection函数 Adesk::Boolean overlapDirection() const; 如果两条曲线在同样的方向上,那么回归1。如果他它们在相反的方向上,那么回归0。 如果两曲线间没有重复的部分,回归1。 |
|
AcGeCurveCurveInt3d::operator
=函数 AcGeCurveCurveInt3d
& operator =( const
AcGeCurveCurveInt3d& src);
做一个输入对象的复制本。 |
|
AcGeCurveCurveInt3d::changeCurveOrder函数 void changeCurveOrder(); 颠倒两条曲线的顺序 |
|
AcGeCurveCurveInt3d::orderWrt1函数 AcGeCurveCurveInt3d
& orderWrt1(); 重新排列交点,这样他们将在第一条曲线参数值增加时被返回 |
|
AcGeCurveCurveInt3d::orderWrt2函数 AcGeCurveCurveInt3d
& orderWrt2(); 重新排列交点,这样他们将在第二条曲线参数值增加时被返回 |
|
AcGeCurveCurveInt3d::curve1函数 const AcGeCurve3d * curve1() const; 将点回归到第一条曲线上。 |
||||
|
AcGeCurveCurveInt3d::curve2函数 const AcGeCurve3d * curve2() const; 将点回归到第二条曲线上。 |
||||
|
AcGeCurveCurveInt3d::getIntRanges函数 void getIntRanges( AcGeInterval&
range1, AcGeInterval&
range2) const;
回归交点和重复部分将被返回的两个间隔。 |
||||
|
AcGeCurveCurveInt3d::planeNormal函数 AcGeVector3d planeNormal() const; 回归getIntConfigs(
)用来计算在相交点配置的那个平面向量。 |
||||
|
AcGeCurveCurveInt3d::tolerance函数 AcGeTol tolerance() const; 回归两曲线交叉时的公差。 |
|
AcGeCurveCurveInt3d::set函数 AcGeCurveCurveInt3d
& set( const AcGeCurve3d&
curve1, const AcGeCurve3d&
curve2, const
AcGeVector3d& planeNormal =
AcGeVector3d::kIdentity, const AcGeTol& tol = AcGeContext::gTol);
重置要两相交的两曲线。 getIntConfigs( )成员函数使用的平面向量参数。 如果getIntConfigs( )不被调用,就没必要提供这个参数。 AcGeCurveCurveInt3d
& set( const AcGeCurve3d&
curve1, const AcGeCurve3d&
curve2, const AcGeInterval& range1, const AcGeInterval& range2, const
AcGeVector3d& planeNormal =
AcGeVector3d::kIdentity, const AcGeTol& tol = AcGeContext::gTol);
重置相交的两条曲线,重置的它们间隔。getIntConfigs( )成员函数使用的平面向量参数。 如果getIntConfigs( )不被调用,就没必要提供这个参数。 |