Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkProjectMarkupsCurvePointsFilter Class Reference

Projects curve points from a vtkMRMLMarkupsCurveNode to the surface of a model. More...

#include <Modules/Loadable/Markups/MRML/vtkProjectMarkupsCurvePointsFilter.h>

Inheritance diagram for vtkProjectMarkupsCurvePointsFilter:
Inheritance graph
[legend]
Collaboration diagram for vtkProjectMarkupsCurvePointsFilter:
Collaboration graph
[legend]

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 vtkProjectMarkupsCurvePointsFilterNew ()
 
static vtkProjectMarkupsCurvePointsFilterSafeDownCast (vtkObject *o)
 

Protected Member Functions

int FillInputPortInformation (int port, vtkInformation *info) override
 
int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
 
 vtkProjectMarkupsCurvePointsFilter ()
 

Detailed Description

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.

Member Typedef Documentation

◆ Superclass

typedef vtkPolyDataAlgorithm vtkProjectMarkupsCurvePointsFilter::Superclass

Definition at line 49 of file vtkProjectMarkupsCurvePointsFilter.h.

Constructor & Destructor Documentation

◆ vtkProjectMarkupsCurvePointsFilter()

vtkProjectMarkupsCurvePointsFilter::vtkProjectMarkupsCurvePointsFilter ( )
protected

Member Function Documentation

◆ ConstrainPointsToSurface()

static bool vtkProjectMarkupsCurvePointsFilter::ConstrainPointsToSurface ( vtkPoints *  originalPoints,
vtkDoubleArray *  normalVectors,
vtkPolyData *  surfacePolydata,
vtkPoints *  surfacePoints,
double  maximumSearchRadiusTolerance 
)
static

Constrain points to a specified model surface.

Parameters
originalPointsThe points to constrain.
normalVectorsThe normals for the originalPoints.
surfacePolydataThe surface to constrain to.
[out]surfacePointsThe points data structure to put the constrained points in.
maximumSearchRadiusToleranceMaximum 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.
Returns
true if successful, false otherwise.
See also
vtkMRMLMarkupsCurveNode::ConstrainPointsToSurface

◆ FillInputPortInformation()

int vtkProjectMarkupsCurvePointsFilter::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
overrideprotected

◆ GetClassName()

virtual const char* vtkProjectMarkupsCurvePointsFilter::GetClassName ( )
virtual

◆ GetMaximumSearchRadiusTolerance()

double vtkProjectMarkupsCurvePointsFilter::GetMaximumSearchRadiusTolerance ( ) const

◆ IsA()

virtual int vtkProjectMarkupsCurvePointsFilter::IsA ( const char *  type)
virtual

◆ IsTypeOf()

static int vtkProjectMarkupsCurvePointsFilter::IsTypeOf ( const char *  type)
static

◆ New()

static vtkProjectMarkupsCurvePointsFilter* vtkProjectMarkupsCurvePointsFilter::New ( )
static

◆ RequestData()

int vtkProjectMarkupsCurvePointsFilter::RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
overrideprotected

◆ SafeDownCast()

static vtkProjectMarkupsCurvePointsFilter* vtkProjectMarkupsCurvePointsFilter::SafeDownCast ( vtkObject *  o)
static

◆ SetInputCurveNode()

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.

◆ SetMaximumSearchRadiusTolerance()

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.

See also
ConstrainPointsToSurface()
vtkBoundingBox::GetDiagonalLength()

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