iso::geom::LineTools Class Reference

#include <iso_geom_line_tools.h>

Collaboration diagram for iso::geom::LineTools:

Collaboration graph
[legend]
List of all members.

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 LineToolsget ()
static void destroy ()

Protected Member Functions

 LineTools ()
 ~LineTools ()

Static Protected Attributes

static LineToolssLineTools

Constructor & Destructor Documentation

LineTools::LineTools (  )  [protected]

LineTools::~LineTools (  )  [protected]


Member Function Documentation

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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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)
Returns:
true, if there is an intersection, false otherwise

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

Parameters:
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)
Returns:
true, if there is an intersection, false otherwise

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

Parameters:
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)
Returns:
true, if there is an intersection, false otherwise

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

Parameters:
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)
Returns:
true, if there is an intersection, false otherwise

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

Parameters:
pLV1 start point of line
pLV2 end point of line
pVs polyline vertices
pRPs result points
Returns:
true, if there is at least one intersection

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

Parameters:
pLV1 start point of line
pLV2 end point of line
pVs polyline vertices
pRPs result points
pIs stating indices of intersected line segments
Returns:
true, if there is at least one intersection

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

Parameters:
pRS start point of ray
pRD direction of ray
pVs polyline vertices
pRPs result points
Returns:
true, if there is at least one intersection, false otherwise

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

Parameters:
pRS start point of ray
pRD direction of ray
pVs polyline vertices
pRPs result points
pIs stating indices of intersected line segments
Returns:
true, if there is at least one intersection, false otherwise


Member Data Documentation

LineTools * LineTools::sLineTools [static, protected]


The documentation for this class was generated from the following files:
Generated on Wed Jun 2 20:43:23 2010 for iso_geom by  doxygen 1.5.1