pcl::on_nurbs::Triangulation Class Reference

Functions for NURBS surface triangulation, trimming and curve sampling. More...

`#include <triangulation.h>`

## Static Public Member Functions | |

static void | convertCurve2PointCloud (const ON_NurbsCurve &nurbs, pcl::PointCloud< pcl::PointXYZRGB >::Ptr cloud, unsigned resolution) |

Converts an openNURBS NurbsCurve to a sequence of points 'cloud', by ELEMENT-WISE sampling of the curve according to the resolution specified. | |

static void | convertCurve2PointCloud (const ON_NurbsCurve &curve, const ON_NurbsSurface &surf, pcl::PointCloud< pcl::PointXYZRGB >::Ptr cloud, unsigned resolution) |

Converts an openNURBS NurbsCurve, defined on an NurbsSurface to a sequence of points 'cloud', by ELEMENT-WISE sampling of the curve according to the resolution specified. | |

static void | convertSurface2PolygonMesh (const ON_NurbsSurface &nurbs, PolygonMesh &mesh, unsigned resolution) |

Converts an NurbsObject to a pcl::PolygonMesh by sampling all NURBS according to the resolution specified. | |

static void | convertSurface2Vertices (const ON_NurbsSurface &nurbs, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud, std::vector< pcl::Vertices > &vertices, unsigned resolution) |

Converts an openNURBS NurbsSurface to a point-cloud (vertices) and an vertex-index list by sampling the NURBS according to the resolution specified. | |

static void | convertTrimmedSurface2PolygonMesh (const ON_NurbsSurface &nurbs, const ON_NurbsCurve &curve, PolygonMesh &mesh, unsigned resolution) |

Converts an openNURBS NurbsSurface to a pcl::PolygonMesh by sampling the NURBS according to the resolution specified. | |

static void | convertTrimmedSurface2PolygonMesh (const ON_NurbsSurface &nurbs, const ON_NurbsCurve &curve, PolygonMesh &mesh, unsigned resolution, vector_vec3d &start, vector_vec3d &end) |

static bool | isInside (const ON_NurbsCurve &curve, const pcl::PointXYZ &v) |

## Static Protected Member Functions | |

static void | createIndices (std::vector< pcl::Vertices > &vertices, unsigned vidx, unsigned segX, unsigned segY) |

Create indices for triangulation. | |

static void | createVertices (pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud, float x0, float y0, float z0, float width, float height, unsigned segX, unsigned segY) |

Create vertices (cloud) for triangulation. |

Functions for NURBS surface triangulation, trimming and curve sampling.

Definition at line 55 of file triangulation.h.

void Triangulation::convertCurve2PointCloud | ( | const ON_NurbsCurve & | nurbs, |

pcl::PointCloud< pcl::PointXYZRGB >::Ptr | cloud, |
||

unsigned | resolution |
||

) | ` [static]` |

Converts an openNURBS NurbsCurve to a sequence of points 'cloud', by ELEMENT-WISE sampling of the curve according to the resolution specified.

**Parameters:**-
[in] nurbs The openNURBS surface. [out] cloud The actual vertices (point-cloud). [in] resolution number of sampling points within one NurbsCurve element.

Definition at line 502 of file triangulation.cpp.

void Triangulation::convertCurve2PointCloud | ( | const ON_NurbsCurve & | curve, |

const ON_NurbsSurface & | surf, |
||

pcl::PointCloud< pcl::PointXYZRGB >::Ptr | cloud, |
||

unsigned | resolution |
||

) | ` [static]` |

Converts an openNURBS NurbsCurve, defined on an NurbsSurface to a sequence of points 'cloud', by ELEMENT-WISE sampling of the curve according to the resolution specified.

**Parameters:**-
[in] nurbs The openNURBS surface. [out] cloud The actual vertices (point-cloud). [in] resolution number of sampling points within one NurbsCurve element.

Definition at line 547 of file triangulation.cpp.

void Triangulation::convertSurface2PolygonMesh | ( | const ON_NurbsSurface & | nurbs, |

PolygonMesh & | mesh, |
||

unsigned | resolution |
||

) | ` [static]` |

Converts an NurbsObject to a pcl::PolygonMesh by sampling all NURBS according to the resolution specified.

**Parameters:**-
[in] object The NURBS object. [out] mesh The pcl::PolygonMesh [in] resolution mesh resolution (number of vertices along each of the two dimensions of the surface. Converts an openNURBS NurbsSurface to a pcl::PolygonMesh by sampling the NURBS according to the resolution specified. [in] nurbs The openNURBS surface. [out] mesh The pcl::PolygonMesh [in] resolution mesh resolution (number of vertices along each of the two dimensions of the surface.

Definition at line 164 of file triangulation.cpp.

void Triangulation::convertSurface2Vertices | ( | const ON_NurbsSurface & | nurbs, |

pcl::PointCloud< pcl::PointXYZ >::Ptr | cloud, |
||

std::vector< pcl::Vertices > & | vertices, |
||

unsigned | resolution |
||

) | ` [static]` |

Converts an openNURBS NurbsSurface to a point-cloud (vertices) and an vertex-index list by sampling the NURBS according to the resolution specified.

**Parameters:**-
[in] nurbs The openNURBS surface. [out] cloud The actual vertices (point-cloud). [out] vertices The vertex-indices for a polygon mesh. [in] resolution mesh resolution (number of vertices along each of the two dimensions of the surface.

Definition at line 465 of file triangulation.cpp.

void Triangulation::convertTrimmedSurface2PolygonMesh | ( | const ON_NurbsSurface & | nurbs, |

const ON_NurbsCurve & | curve, |
||

PolygonMesh & | mesh, |
||

unsigned | resolution |
||

) | ` [static]` |

Converts an openNURBS NurbsSurface to a pcl::PolygonMesh by sampling the NURBS according to the resolution specified.

**Parameters:**-
[in] nurbs The nurbs surface. [in] curve The nurbs curve for trimming (direction of curve decides if inside or outside is trimmed) [out] mesh The pcl::PolygonMesh [in] resolution mesh resolution (number of vertices along each of the two dimensions of the surface.

Definition at line 201 of file triangulation.cpp.

void Triangulation::convertTrimmedSurface2PolygonMesh | ( | const ON_NurbsSurface & | nurbs, |

const ON_NurbsCurve & | curve, |
||

PolygonMesh & | mesh, |
||

unsigned | resolution, |
||

vector_vec3d & | start, |
||

vector_vec3d & | end |
||

) | ` [static]` |

Definition at line 327 of file triangulation.cpp.

void Triangulation::createIndices | ( | std::vector< pcl::Vertices > & | vertices, |

unsigned | vidx, |
||

unsigned | segX, |
||

unsigned | segY |
||

) | ` [static, protected]` |

Create indices for triangulation.

Definition at line 47 of file triangulation.cpp.

void Triangulation::createVertices | ( | pcl::PointCloud< pcl::PointXYZ >::Ptr & | cloud, |

float | x0, |
||

float | y0, |
||

float | z0, |
||

float | width, |
||

float | height, |
||

unsigned | segX, |
||

unsigned | segY |
||

) | ` [static, protected]` |

Create vertices (cloud) for triangulation.

Definition at line 74 of file triangulation.cpp.

bool Triangulation::isInside | ( | const ON_NurbsCurve & | curve, |

const pcl::PointXYZ & | v |
||

) | ` [static]` |

Definition at line 94 of file triangulation.cpp.

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