Main Page Class List Class Members

# Nv::Blast::TriangleProcessor Class Reference

`#include <NvBlastExtTriangleProcessor.h>`

List of all members.

## Public Member Functions
void | buildConvexHull (std::vector< PxVec3 > &points, std::vector< PxVec3 > &convexHull, const PxVec3 &normal)
uint32_t | getSegmentIntersection (const PxVec2 &s1, const PxVec2 &e1, const PxVec2 &s2, const PxVec2 &e2, PxF32 &t1)
uint32_t | getTriangleIntersection (TrPrcTriangle &a, TrPrcTriangle2d &aProjected, TrPrcTriangle &b, PxVec3 &centroid, std::vector< PxVec3 > &intersectionBuffer, PxVec3 normal)
uint32_t | isPointInside (const PxVec2 &point, const TrPrcTriangle2d &triangle)
void | sortToCCW (std::vector< PxVec3 > &points, PxVec3 &normal)
bool | triangleBoundingBoxIntersection (TrPrcTriangle2d &a, TrPrcTriangle2d &b)
| TriangleProcessor ()
| ~TriangleProcessor ()

## Constructor & Destructor Documentation

Nv::Blast::TriangleProcessor::TriangleProcessor | ( |  | ) | `[inline]`

Nv::Blast::TriangleProcessor::~TriangleProcessor | ( |  | ) | `[inline]`

## Member Function Documentation

void Nv::Blast::TriangleProcessor::buildConvexHull | ( | std::vector< PxVec3 > & | points,
|  | std::vector< PxVec3 > & | convexHull,
|  | const PxVec3 & | normal |
| ) |  |  |

Builds convex polygon for given set of points. Points should be coplanar.

Parameters:

  `[in]` | points | Input array of points
  `[out]` | convexHull | Output polygon
  `[in]` | normal | Normal vector to polygon.

uint32_t Nv::Blast::TriangleProcessor::getSegmentIntersection | ( | const PxVec2 & | s1,
|  | const PxVec2 & | e1,
|  | const PxVec2 & | s2,
|  | const PxVec2 & | e2,
|  | PxF32 & | t1 |
| ) |  |  |

Segment intersection point

Parameters:

  `[in]` | s1 | Segment-1 start point
  `[in]` | e1 | Segment-1 end point
  `[in]` | s2 | Segment-2 start point
  `[in]` | e2 | Segment-2 end point
  `[out]` | t1 | Intersection point parameter relatively to Segment-1, lies in [0.0, 1.0] range.

Returns:
  0 if there is no intersections, 1 - if intersection is found.

uint32_t Nv::Blast::TriangleProcessor::getTriangleIntersection | ( | TrPrcTriangle & | a,
|  | TrPrcTriangle2d & | aProjected,
|  | TrPrcTriangle & | b,
|  | PxVec3 & | centroid,
|  | std::vector< PxVec3 > & | intersectionBuffer,
|  | PxVec3 | normal |
| ) |  |  |

Build intersection between two triangles

Parameters:

  `[in]` | a | First triangle (A)
  `[in]` | aProjected | Projected triangle A
  `[in]` | b | Second triangle (B)
  `[in]` | centroid | Centroid of first triangle (A)
  `[out]` | intersectionBuffer | Result intersection polygon
  `[in]` | normal | Normal vector to triangle (Common for both A and B).

Returns:
  1 - if if intersection is found.

uint32_t Nv::Blast::TriangleProcessor::isPointInside | ( | const PxVec2 & | point,
|  | const TrPrcTriangle2d & | triangle |
| ) |  |  |

Test whether point is inside of triangle.

Parameters:

  `[in]` | point | Point coordinates in 2d space.
  `[in]` | triangle | Triangle in 2d space.

Returns:
  1 - if inside, 2 if on edge, 0 if neither inside nor edge.

void Nv::Blast::TriangleProcessor::sortToCCW | ( | std::vector< PxVec3 > & | points,
|  | PxVec3 & | normal |
| ) |  |  |

Sort vertices of polygon in CCW-order

bool Nv::Blast::TriangleProcessor::triangleBoundingBoxIntersection | ( | TrPrcTriangle2d & | a,
|  | TrPrcTriangle2d & | b |
| ) |  |  |

Test whether BB of triangles intersect.

Parameters:

  `[in]` | a | First triangle (A)
  `[in]` | b | Second triangle (B)

Returns:
  true - if intersect

The documentation for this class was generated from the following file:

- sdk/extensions/authoring/source/NvBlastExtTriangleProcessor.h