Functions | |
int | mdlIntersect_allBetweenElms (DPoint3dP isPnt1, DPoint3dP isPnt2, int isPntSize, MSElementDescrP edP1, MSElementDescrP edP2, RotMatrixP rotMatrix, double tolerance) |
Gets all intersections between two elements. More... | |
int | mdlIntersect_allBetweenElms2 (DPoint3dP isPnt1, DPoint3dP isPnt2, int isPntSize, MSElementDescrP edP1, MSElementDescrP edP2, RotMatrixP rotMatrix, double tolerance) |
Gets all intersections between two elements including cells. More... | |
int | mdlIntersect_allBetweenExtendedElms (DPoint3dP isPnt1, DPoint3dP isPnt2, int isPntSize, MSElementDescrP edP1, MSElementDescrP edP2, RotMatrixP rotMatrix, double tolerance, DPoint3dP idPnt1P, DPoint3dP idPnt2P) |
Gets all intersection between two elements, extending linear elements to infinity. More... | |
int | mdlIntersect_betweenElmsByIndex (DPoint3dP isPnt1, DPoint3dP isPnt2, int index, MSElementDescrP edP1, MSElementDescrP edP2, RotMatrixP rotMatrix, double tolerance) |
Gets the nth intersection between two elements. More... | |
int | mdlIntersect_closestBetweenElms (DPoint3dP isPnt1, DPoint3dP isPnt2, int *index, MSElementDescrP edP1, MSElementDescrP edP2, RotMatrixP rotMatrix, DPoint3dP closePoint, double tolerance) |
Gets the intersection between two elements that is closest to a given point. More... | |
int mdlIntersect_allBetweenElms | ( | DPoint3dP | isPnt1, |
DPoint3dP | isPnt2, | ||
int | isPntSize, | ||
MSElementDescrP | edP1, | ||
MSElementDescrP | edP2, | ||
RotMatrixP | rotMatrix, | ||
double | tolerance | ||
) |
Gets all intersections between two elements.
There can be multiple such intersections.
[out] | isPnt1 | pointer to the location for the intersection points on the first element |
[out] | isPnt2 | pointer to the location for the intersection points on the second element |
[in] | isPntSize | number of DPoint3d's that isPnt1 & isPnt2 arrays can hold. |
[in] | edP1 | element descriptor for the first element. |
[in] | edP2 | element descriptor for the second element. |
[in] | rotMatrix | pointer to the rotation matrix describing the coordinate system in which the apparent intersections are calculated. Because all rotation matrices will produce the same result when working in two dimensions, rotMatrixP has no meaning in such cases and NULL should be specified. If NULL is specified in 3D, the world coordinate system is used. |
[in] | tolerance | the maximum allowable error. The intersection calculation for certain curved elements is an iterative process that requires additional processing to converge to small tolerances. Setting a small tolerance value will, therefore, cause a more accurate solution at the expense of increased processing time. |
int mdlIntersect_allBetweenElms2 | ( | DPoint3dP | isPnt1, |
DPoint3dP | isPnt2, | ||
int | isPntSize, | ||
MSElementDescrP | edP1, | ||
MSElementDescrP | edP2, | ||
RotMatrixP | rotMatrix, | ||
double | tolerance | ||
) |
Gets all intersections between two elements including cells.
There can be multiple such intersections.
[out] | isPnt1 | pointer to the location for the intersection points on the first element |
[out] | isPnt2 | pointer to the location for the intersection points on the second element |
[in] | isPntSize | number of DPoint3d's that isPnt1 & isPnt2 arrays can hold. |
[in] | edP1 | element descriptor for the first element. |
[in] | edP2 | element descriptor for the second element. |
[in] | rotMatrix | pointer to the rotation matrix describing the coordinate system in which the apparent intersections are calculated. Because all rotation matrices will produce the same result when working in two dimensions, rotMatrixP has no meaning in such cases and NULL should be specified. If NULL is specified in 3D, the world coordinate system is used. |
[in] | tolerance | the maximum allowable error. The intersection calculation for certain curved elements is an iterative process that requires additional processing to converge to small tolerances. Setting a small tolerance value will, therefore, cause a more accurate solution at the expense of increased processing time. |
int mdlIntersect_allBetweenExtendedElms | ( | DPoint3dP | isPnt1, |
DPoint3dP | isPnt2, | ||
int | isPntSize, | ||
MSElementDescrP | edP1, | ||
MSElementDescrP | edP2, | ||
RotMatrixP | rotMatrix, | ||
double | tolerance, | ||
DPoint3dP | idPnt1P, | ||
DPoint3dP | idPnt2P | ||
) |
Gets all intersection between two elements, extending linear elements to infinity.
There can be multiple such intersections.
[out] | isPnt1 | pointer to the location for the intersection points on the first element |
[out] | isPnt2 | pointer to the location for the intersection points on the second element |
[in] | isPntSize | number of DPoint3d's that isPnt1 & isPnt2 arrays can hold. |
[in] | edP1 | element descriptor for the first element. |
[in] | edP2 | element descriptor for the second element. |
[in] | rotMatrix | pointer to the rotation matrix describing the coordinate system in which the apparent intersections are calculated. Because all rotation matrices will produce the same result when working in two dimensions, rotMatrixP has no meaning in such cases and NULL should be specified. If NULL is specified in 3D, the world coordinate system is used. |
[in] | tolerance | the maximum allowable error. The intersection calculation for certain curved elements is an iterative process that requires additional processing to converge to small tolerances. Setting a small tolerance value will, therefore, cause a more accurate solution at the expense of increased processing time. |
[in] | idPnt1P | identification Point 1 |
[in] | idPnt2P | identification Point 2 |
int mdlIntersect_betweenElmsByIndex | ( | DPoint3dP | isPnt1, |
DPoint3dP | isPnt2, | ||
int | index, | ||
MSElementDescrP | edP1, | ||
MSElementDescrP | edP2, | ||
RotMatrixP | rotMatrix, | ||
double | tolerance | ||
) |
Gets the nth intersection between two elements.
[out] | isPnt1 | intersection point on the first element |
[out] | isPnt2 | intersection point on the second element |
[in] | index | index of desired intersection |
[in] | edP1 | element descriptor for the first element. |
[in] | edP2 | element descriptor for the second element. |
[in] | rotMatrix | pointer to the rotation matrix describing the coordinate system in which the apparent intersections are calculated. Because all rotation matrices will produce the same result when working in two dimensions, rotMatrixP has no meaning in such cases and NULL should be specified. If NULL is specified in 3D, the world coordinate system is used. |
[in] | tolerance | the maximum allowable error. The intersection calculation for certain curved elements is an iterative process that requires additional processing to converge to small tolerances. Setting a small tolerance value will, therefore, cause a more accurate solution at the expense of increased processing time. |
int mdlIntersect_closestBetweenElms | ( | DPoint3dP | isPnt1, |
DPoint3dP | isPnt2, | ||
int * | index, | ||
MSElementDescrP | edP1, | ||
MSElementDescrP | edP2, | ||
RotMatrixP | rotMatrix, | ||
DPoint3dP | closePoint, | ||
double | tolerance | ||
) |
Gets the intersection between two elements that is closest to a given point.
The index returned can be used as input to the mdlAssoc_createIntersection function.
[out] | isPnt1 | intersection point on the first element |
[out] | isPnt2 | intersection point on the second element |
[out] | index | index of intersection |
[in] | edP1 | element descriptor for the first element. |
[in] | edP2 | element descriptor for the second element. |
[in] | rotMatrix | pointer to the rotation matrix describing the coordinate system in which the apparent intersections are calculated. Because all rotation matrices will produce the same result when working in two dimensions, rotMatrixP has no meaning in such cases and NULL should be specified. If NULL is specified in 3D, the world coordinate system is used. |
[in] | tolerance | the maximum allowable error. The intersection calculation for certain curved elements is an iterative process that requires additional processing to converge to small tolerances. Setting a small tolerance value will, therefore, cause a more accurate solution at the expense of increased processing time. |
[in] | closePoint | point close to intersection |