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.
[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.
[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.
[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.
[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.
[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.