18#ifndef __vtkCurveMeasurementsCalculator_h
19#define __vtkCurveMeasurementsCalculator_h
22#include <vtkCollection.h>
23#include <vtkPolyData.h>
24#include <vtkPolyDataAlgorithm.h>
26#include <vtkWeakPointer.h>
32#include "vtkMRMLExport.h"
34class vtkCallbackCommand;
46 void PrintSelf(ostream& os, vtkIndent indent)
override;
103 static bool InterpolateArray(vtkDoubleArray* inputValues,
bool closedCurve, vtkDoubleArray* interpolatedValues,
104 vtkDoubleArray* pedigreeIdsArray,
double pedigreeIdsValueScale=1.0);
138 int RequestData(vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector)
override;
vtkCollection * ObservedControlPointArrays
List of observed control point arrays (for removal of observations)
void SetInputMarkupsMRMLNode(vtkMRMLMarkupsNode *node)
vtkCurveMeasurementsCalculator(const vtkCurveMeasurementsCalculator &)=delete
void operator=(const vtkCurveMeasurementsCalculator &)=delete
vtkMTimeType GetMTime() override
static const char * GetMeanCurvatureName()
Get name of mean curvature measurement.
bool CalculatePolyDataTorsion(vtkPolyData *polyData)
int FillInputPortInformation(int port, vtkInformation *info) override
static const char * GetMeanTorsionName()
Get name of mean torsion measurement.
static bool InterpolateArray(vtkDoubleArray *inputValues, bool closedCurve, vtkDoubleArray *interpolatedValues, vtkDoubleArray *pedigreeIdsArray, double pedigreeIdsValueScale=1.0)
vtkWeakPointer< vtkMRMLMarkupsNode > InputMarkupsMRMLNode
Input markups node containing the measurement list for derived measurements (such as interpolation)
static void OnControlPointArrayModified(vtkObject *caller, unsigned long eid, void *clientData, void *callData)
bool CalculateTorsion
Flag determining whether the filter should calculate torsion.
bool CalculateCurvature
Flag determining whether the filter should calculate curvature.
std::string CurvatureUnits
bool CurveIsClosed
Flag indicating whether the current curve is closed.
static const char * GetTorsionArrayName()
Get name of torsion array (on the curve points)
void PrintSelf(ostream &os, vtkIndent indent) override
static const char * GetMaxTorsionName()
Get name of max torsion measurement.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkMRMLMarkupsNode * GetInputMarkupsMRMLNode()
~vtkCurveMeasurementsCalculator() override
bool InterpolateControlPointMeasurementToPolyData(vtkPolyData *outputPolyData)
vtkCurveMeasurementsCalculator()
static const char * GetCurvatureArrayName()
Get name of curvature values array (on the curve points)
static vtkCurveMeasurementsCalculator * New()
static const char * GetMaxCurvatureName()
Get name of max curvature measurement.
bool CalculatePolyDataCurvature(vtkPolyData *polyData)
vtkCallbackCommand * ControlPointArrayModifiedCallbackCommand
Command handling data array modified events.