Slicer
5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
Projects curve points from a vtkMRMLMarkupsCurveNode to the surface of a model. More...
#include <Modules/Loadable/Markups/MRML/vtkProjectMarkupsCurvePointsFilter.h>
Public Types | |
typedef vtkPolyDataAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | SetInputCurveNode (vtkMRMLMarkupsCurveNode *inputCurveNode) |
void | SetMaximumSearchRadiusTolerance (double maximumSearchRadiusTolerance) |
double | GetMaximumSearchRadiusTolerance () const |
Static Public Member Functions | |
static bool | ConstrainPointsToSurface (vtkPoints *originalPoints, vtkDoubleArray *normalVectors, vtkPolyData *surfacePolydata, vtkPoints *surfacePoints, double maximumSearchRadiusTolerance) |
static int | IsTypeOf (const char *type) |
static vtkProjectMarkupsCurvePointsFilter * | New () |
static vtkProjectMarkupsCurvePointsFilter * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
int | FillInputPortInformation (int port, vtkInformation *info) override |
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
vtkProjectMarkupsCurvePointsFilter () | |
Projects curve points from a vtkMRMLMarkupsCurveNode to the surface of a model.
If the inputCurveNode set by SetInputCurveNode does not have a surface constraint node, this filter will act as a pass through and leave the points unchanged.
The intended use is for vtkMRMLMarkupsCurveNode to project generated points along a curve to a surface. It is expected that the points given to SetInputData/SetInputConnection are actually along the curve defined by the curve node's control point positions world.
This class is not meant to be a general purpose point projection filter.
Definition at line 46 of file vtkProjectMarkupsCurvePointsFilter.h.
typedef vtkPolyDataAlgorithm vtkProjectMarkupsCurvePointsFilter::Superclass |
Definition at line 49 of file vtkProjectMarkupsCurvePointsFilter.h.
|
protected |
|
static |
Constrain points to a specified model surface.
originalPoints | The points to constrain. | |
normalVectors | The normals for the originalPoints. | |
surfacePolydata | The surface to constrain to. | |
[out] | surfacePoints | The points data structure to put the constrained points in. |
maximumSearchRadiusTolerance | Maximum distance a point can be constrained, specified as a percentage of the model's bounding box diagonal in world coordinate system. Valid range for this is 0 to 1. |
|
overrideprotected |
|
virtual |
double vtkProjectMarkupsCurvePointsFilter::GetMaximumSearchRadiusTolerance | ( | ) | const |
|
virtual |
|
static |
|
static |
|
overrideprotected |
|
static |
void vtkProjectMarkupsCurvePointsFilter::SetInputCurveNode | ( | vtkMRMLMarkupsCurveNode * | inputCurveNode | ) |
Sets the input curve node.
The surface model to project to is retrieved using vtkMRMLMarkupsCurveNode::GetSurfaceConstraintNode() and the input curve's control points are retrieved using vtkMRMLMarkupsCurveNode::GetControlPointPositionsWorld().
If the inputCurveNode does not have a surface constraint node, this filter acts as a pass through and leave the points unchanged.
It does not take ownership of the node and will not extend its lifetime.
If the inputCurveNode is deleted during this object's lifetime it will be as if nullptr was passed into this function.
void vtkProjectMarkupsCurvePointsFilter::SetMaximumSearchRadiusTolerance | ( | double | maximumSearchRadiusTolerance | ) |
Set/Get maximumSearchRadiusTolerance defining the allowable projection distance.
It is specified as a percentage of the model's bounding box diagonal in world coordinate system.