#include <iso_geom_line_tools.h>
Collaboration diagram for iso::geom::LineTools:

Public Member Functions | |
| void | closestPoint (const math::Vector< real > &pSP, const math::Vector< real > &pV1, const math::Vector< real > &pV2, math::Vector< real > &pRP, real &pU) |
| calculcate closest point on line segment passing through pV1 and pV2 | |
| void | closestPointLine (const math::Vector< real > &pSP, const math::Vector< real > &pV1, const math::Vector< real > &pV2, math::Vector< real > &pRP, real &pU) |
| calculcate closest point on line segment passing through pV1 and pV2 | |
| void | closestPointRay (const math::Vector< real > &pSP, const math::Vector< real > &pOrigin, const math::Vector< real > &pDirection, math::Vector< real > &pRP, real &pU) |
| calculcate closest point on line segment passing through pV1 and pV2 | |
| void | closestPoint (const math::Vector< real > &pSP, const QVector< math::Vector< real > > &pVs, math::Vector< real > &pRP, int &pI1, int &pI2, real &pU) |
| calculcate closest point on polyline | |
| bool | intersect (const math::Vector< real > &pL1V1, const math::Vector< real > &pL1V2, const math::Vector< real > &pL2V1, const math::Vector< real > &pL2V2, math::Vector< real > &pRP) |
| calculate intersection between two lines | |
| bool | intersectLineLine (const math::Vector< real > &pL1V1, const math::Vector< real > &pL1V2, const math::Vector< real > &pL2V1, const math::Vector< real > &pL2V2, math::Vector< real > &pRP) |
| calculate intersection between two lines | |
| bool | intersectRayLine (const math::Vector< real > &pRS, const math::Vector< real > &pRD, const math::Vector< real > &pLV1, const math::Vector< real > &pLV2, math::Vector< real > &pRP) |
| calculate intersection between ray and line | |
| bool | intersectRayRay (const math::Vector< real > &pR1S, const math::Vector< real > &pR1D, const math::Vector< real > &pR2S, const math::Vector< real > &pR2D, math::Vector< real > &pRP) |
| calculate intersection between two rays | |
| bool | intersectLinePolyLine (const math::Vector< real > &pLV1, const math::Vector< real > &pLV2, QVector< math::Vector< float > > &pVs, QVector< math::Vector< float > > &pRPs) |
| calculate intersection(s) between two lines | |
| bool | intersectLinePolyLine (const math::Vector< real > &pLV1, const math::Vector< real > &pLV2, QVector< math::Vector< float > > &pVs, QVector< math::Vector< float > > &pRPs, QVector< int > &pIs) |
| calculate intersection(s) between two lines | |
| bool | intersectRayPolyLine (const math::Vector< real > &pRS, const math::Vector< real > &pRD, QVector< math::Vector< float > > &pVs, QVector< math::Vector< float > > &pRPs) |
| calculate intersection between ray and line | |
| bool | intersectRayPolyLine (const math::Vector< real > &pRS, const math::Vector< real > &pRD, QVector< math::Vector< float > > &pVs, QVector< math::Vector< float > > &pRPs, QVector< int > &pIs) |
| calculate intersection between ray and line | |
Static Public Member Functions | |
| static LineTools & | get () |
| static void | destroy () |
Protected Member Functions | |
| LineTools () | |
| ~LineTools () | |
Static Protected Attributes | |
| static LineTools * | sLineTools |
| LineTools::LineTools | ( | ) | [protected] |
| LineTools::~LineTools | ( | ) | [protected] |
| LineTools & LineTools::get | ( | ) | [static] |
| void LineTools::destroy | ( | ) | [static] |
| void LineTools::closestPoint | ( | const math::Vector< real > & | pSP, | |
| const math::Vector< real > & | pV1, | |||
| const math::Vector< real > & | pV2, | |||
| math::Vector< real > & | pRP, | |||
| real & | pU | |||
| ) |
calculcate closest point on line segment passing through pV1 and pV2
| pSP | search point | |
| pV1 | line vertex 1 | |
| pV2 | line vertex 2 | |
| pRP | resulting closest point | |
| pU | resulting interplation parameter |
| void LineTools::closestPointLine | ( | const math::Vector< real > & | pSP, | |
| const math::Vector< real > & | pV1, | |||
| const math::Vector< real > & | pV2, | |||
| math::Vector< real > & | pRP, | |||
| real & | pU | |||
| ) |
calculcate closest point on line segment passing through pV1 and pV2
| pSP | search point | |
| pV1 | line vertex 1 | |
| pV2 | line vertex 2 | |
| pRP | resulting closest point | |
| pU | resulting interplation parameter |
| void LineTools::closestPointRay | ( | const math::Vector< real > & | pSP, | |
| const math::Vector< real > & | pOrigin, | |||
| const math::Vector< real > & | pDirection, | |||
| math::Vector< real > & | pRP, | |||
| real & | pU | |||
| ) |
calculcate closest point on line segment passing through pV1 and pV2
| pSP | search point | |
| pV1 | line vertex 1 | |
| pV2 | line vertex 2 | |
| pRP | resulting closest point | |
| pU | resulting interplation parameter |
| void LineTools::closestPoint | ( | const math::Vector< real > & | pSP, | |
| const QVector< math::Vector< real > > & | pVs, | |||
| math::Vector< real > & | pRP, | |||
| int & | pI1, | |||
| int & | pI2, | |||
| real & | pU | |||
| ) |
calculcate closest point on polyline
| pSP | search point | |
| pVs | polyline vertices | |
| pV2 | line vertex 2 | |
| pRP | resulting closest point | |
| pI1 | starting index & resulting index of begin of line segment | |
| pI2 | ending index & resulting index of end of line segment | |
| pU | resulting interplation parameter |
| bool LineTools::intersect | ( | const math::Vector< real > & | pL1V1, | |
| const math::Vector< real > & | pL1V2, | |||
| const math::Vector< real > & | pL2V1, | |||
| const math::Vector< real > & | pL2V2, | |||
| math::Vector< real > & | pRP | |||
| ) |
calculate intersection between two lines
| pL1V1 | start point of first line | |
| pL1V2 | end point of first line | |
| pL2V1 | start point of second line | |
| pL2V2 | end point of second line | |
| pRP | result point (if intersection exists) |
| bool LineTools::intersectLineLine | ( | const math::Vector< real > & | pL1V1, | |
| const math::Vector< real > & | pL1V2, | |||
| const math::Vector< real > & | pL2V1, | |||
| const math::Vector< real > & | pL2V2, | |||
| math::Vector< real > & | pRP | |||
| ) |
calculate intersection between two lines
| pL1V1 | start point of first line | |
| pL1V2 | end point of first line | |
| pL2V1 | start point of second line | |
| pL2V2 | end point of second line | |
| pRP | result point (if intersection exists) |
| bool LineTools::intersectRayLine | ( | const math::Vector< real > & | pRS, | |
| const math::Vector< real > & | pRD, | |||
| const math::Vector< real > & | pLV1, | |||
| const math::Vector< real > & | pLV2, | |||
| math::Vector< real > & | pRP | |||
| ) |
calculate intersection between ray and line
| pRS | start point of ray | |
| pRD | direction of ray | |
| pLV1 | start point of line | |
| pLV2 | end point of line | |
| pRP | result point (if intersection exists) |
| bool LineTools::intersectRayRay | ( | const math::Vector< real > & | pR1S, | |
| const math::Vector< real > & | pR1D, | |||
| const math::Vector< real > & | pR2S, | |||
| const math::Vector< real > & | pR2D, | |||
| math::Vector< real > & | pRP | |||
| ) |
calculate intersection between two rays
| pR1S | start point of first ray | |
| pR1D | direction of first ray | |
| pR2S | start point of second ray | |
| pR2D | direction of second ray | |
| pRP | result point (if intersection exists) |
| bool LineTools::intersectLinePolyLine | ( | const math::Vector< real > & | pLV1, | |
| const math::Vector< real > & | pLV2, | |||
| QVector< math::Vector< float > > & | pVs, | |||
| QVector< math::Vector< float > > & | pRPs | |||
| ) |
calculate intersection(s) between two lines
| pLV1 | start point of line | |
| pLV2 | end point of line | |
| pVs | polyline vertices | |
| pRPs | result points |
| bool LineTools::intersectLinePolyLine | ( | const math::Vector< real > & | pLV1, | |
| const math::Vector< real > & | pLV2, | |||
| QVector< math::Vector< float > > & | pVs, | |||
| QVector< math::Vector< float > > & | pRPs, | |||
| QVector< int > & | pIs | |||
| ) |
calculate intersection(s) between two lines
| pLV1 | start point of line | |
| pLV2 | end point of line | |
| pVs | polyline vertices | |
| pRPs | result points | |
| pIs | stating indices of intersected line segments |
| bool LineTools::intersectRayPolyLine | ( | const math::Vector< real > & | pRS, | |
| const math::Vector< real > & | pRD, | |||
| QVector< math::Vector< float > > & | pVs, | |||
| QVector< math::Vector< float > > & | pRPs | |||
| ) |
calculate intersection between ray and line
| pRS | start point of ray | |
| pRD | direction of ray | |
| pVs | polyline vertices | |
| pRPs | result points |
| bool LineTools::intersectRayPolyLine | ( | const math::Vector< real > & | pRS, | |
| const math::Vector< real > & | pRD, | |||
| QVector< math::Vector< float > > & | pVs, | |||
| QVector< math::Vector< float > > & | pRPs, | |||
| QVector< int > & | pIs | |||
| ) |
calculate intersection between ray and line
| pRS | start point of ray | |
| pRD | direction of ray | |
| pVs | polyline vertices | |
| pRPs | result points | |
| pIs | stating indices of intersected line segments |
LineTools * LineTools::sLineTools [static, protected] |
1.5.1