与点相交
该函数返回图元与图形中另一个图元相交的点。此函数的输入值是实体和交集类型,可以是下列值之一:intersectWith()
例如,假设图形包含下图中所示的三条线。Line1 是“this”,line3 是参数实体。如果交集类型为 ,则返回点 A,作为 line1 (“this”) 在延长 line1 时与行 3 相交的点。如果交集类型为 且 line2 是参数实体,则不会返回任何数据,因为即使扩展了 line2,line2 也不会与 line1 相交。如果交集类型为 且 line2 是参数实体,则返回点 B。如果交集类型为 且 line2 是参数实体,则不返回任何数据。kExtendThiskExtendArgumentkExtendBothkExtendNone 该函数是具有两种形式的重载函数。第二种形式采用一个附加参数,该参数是用于确定两个实体的表观交集的投影平面。以下是函数的签名:intersectWith()intersectWith() virtual Acad::ErrorStatus AcDbEntity::intersectWith( const AcDbEntity* ent, AcDb::Intersect intType, AcGePoint3dArray& points, int thisGsMarker = 0, int otherGsMarker = 0) const; virtual Acad::ErrorStatus AcDbEntity::intersectWith( const AcDbEntity* ent, AcDb::Intersect intType, const AcGePlane& projPlane, AcGePoint3dArray& points, int thisGsMarker = 0, int otherGsMarker = 0) const; 返回的点始终位于实体上 (“this”)。因此,在明显相交的情况下,相交点在返回之前会投影回图元。 该函数的两个版本都允许您提供可选的 GS 标记以优化此功能的性能。如果实体的函数已实现使用 GS 标记,则提供 GS 标记可以定位交叉区域并加快测试速度。例如,在下图中,如果用户选择多边形的一条线,则传入该线的 GS 标记无需测试多边形的其他五条线。intersectWith()intersectWith() 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-19 06:40
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.