This method first calculates the bounding box for this entity (in WCS coordinates). It then finds the intersections of the entity pointed to by entityPointer and all the edges of the bounding box of this entity.
Public Function BoundingBoxIntersectWith( entityPointer As Entity, intersectType As Autodesk.AutoCAD.DatabaseServices.Intersect, points As Point3dCollection, thisGraphicSystemMarker As IntPtr, otherGraphicSystemMarker As IntPtr ) As void
public void BoundingBoxIntersectWith( Entity entityPointer, Autodesk.AutoCAD.DatabaseServices.Intersect intersectType, Point3dCollection points, IntPtr thisGraphicSystemMarker, IntPtr otherGraphicSystemMarker );
Parameters |
Description |
Entity entityPointer |
Input entity with which "this" entity will intersect |
Autodesk.AutoCAD.DatabaseServices.Intersect intersectType |
Input requested intersection type |
Point3dCollection points |
Output with the points (in WCS coordinates) of intersection appended |
IntPtr thisGraphicSystemMarker |
Input GS marker of subentity of "this" entity that's involved in the intersection operation. May be 0 if not applicable |
IntPtr otherGraphicSystemMarker |
Input GS marker of subentity of the entity pointed to by entityPointer that's involved in the intersection operation. May be 0 if not applicable |
The intersectType is used to determine how to deal with extending the boundary edges or the entityPointer entity in order to calculate intersections.
The possible Intersect values are:
Intersect.OnBothOperands |
Do not extend either this entity's bounding box edges nor the entityPointer entity. This results in only calculating intersections where the bounding box lines actually intersect with the entityPointer entity. |
Intersect.ExtendThis |
Extend this entity's bounding box edges (if necessary) when calculating intersections, but do not extend the entityPointer entity. |
Intersect.ExtendArg |
Extend the entityPointer entity (if necessary) when calculating intersections, but do not extend this entity's bounding box edges. |
Intersect.ExtendBoth |
Extend both the entityPointer entity and this entity's bounding box edges (if necessary) when calculating intersections |
Any intersection points found are appended to the points array. All points are in WCS coordinates.
Note In the process of determining the intersections of the entityPointer entity with the bounding box edges of this entity, the non-projection plane version of entityPointer's intersectWith() method may be called (if the entityPointer entity is a custom entity, then the intersectWith() method will definitely be called). If the intersectWith() method has not been implemented for the entityPointer entity's class, then this function fails if that method is called.
The thisGraphicSystemMarker and otherGraphicSystemMarker arguments are only used if the entityPointer entity's intersectWith() method is called, and even then they are just passed on into that method where they may still not be used.
Comments? |