This class linearizes a vector of NURBSCurve objects into line segments stored in a mint mesh.
More...
#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/quest/LinearizeCurves.hpp>
This class linearizes a vector of NURBSCurve objects into line segments stored in a mint mesh.
◆ NURBSCurve
◆ CurveArrayView
◆ SegmentMesh
◆ LinearizeCurves()
| axom::quest::LinearizeCurves::LinearizeCurves |
( |
| ) |
|
|
default |
◆ setVertexWeldingThreshold()
| void axom::quest::LinearizeCurves::setVertexWeldingThreshold |
( |
double |
thresh | ) |
|
|
inline |
◆ getLinearMeshUniform()
| void axom::quest::LinearizeCurves::getLinearMeshUniform |
( |
CurveArrayView |
curves, |
|
|
SegmentMesh * |
mesh, |
|
|
int |
segmentsPerKnotSpan |
|
) |
| const |
Projects high-order NURBS contours onto a linear mesh using segmentsPerPiece linear segments per knot span of the contour.
Knot spans are the sub-intervals within a spline
- Parameters
-
| [in] | curves | An array view of curves to linearize. |
| [in] | mesh | The mesh object that will contain the linearized line segments. |
| [in] | segmentsPerKnotSpan | The number of segments to make per knot span. |
◆ getLinearMeshNonUniform()
| void axom::quest::LinearizeCurves::getLinearMeshNonUniform |
( |
CurveArrayView |
curves, |
|
|
SegmentMesh * |
mesh, |
|
|
double |
percentError |
|
) |
| const |
Projects high-order NURBS contours onto a linear mesh using percentError to decide when to stop refinement.
- Parameters
-
| [in] | curves | An array view of curves to linearize. |
| [in] | mesh | The mesh object that will contain the linearized line segments. |
| [in] | percentError | A percent of error that is acceptable to stop refinement. |
◆ getRevolvedVolume()
Compute the revolved volume of the curves using quadrature.
- Parameters
-
| [in] | curves | An array view of curves to linearize. |
| [in] | transform | A 4x4 matrix transform to apply to the shape before computing the revolved volume. |
- Note
- We compute revolved volume on the actual shapes so we can get a real revolved volume computed using the curve functions rather than relying on a linearized curve. The revolved volume is the volume enclosed by the surface of revolution when the shape is revolved about axis of revolution.
- Returns
- The revolved volume.
◆ revolvedVolume()
| double axom::quest::LinearizeCurves::revolvedVolume |
( |
const NURBSCurve & |
nurbs, |
|
|
const numerics::Matrix< double > & |
transform |
|
) |
| const |
|
protected |
Compute the revolved volume of a single curve using quadrature.
- Parameters
-
| [in] | nurbs | |
| [in] | transform | A 4x4 matrix transform to apply to the shape before computing the revolved volume. |
- Returns
- The revolved volume.
◆ m_vertexWeldThreshold
| double axom::quest::LinearizeCurves::m_vertexWeldThreshold {1E-9} |
|
protected |
The documentation for this class was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/main/src/axom/quest/LinearizeCurves.hpp