Files
ThirdParty-6/ParaView-5.0.1/Plugins/GeodesicMeasurementPlugin/vtkGeodesicsBetweenPoints.h

80 lines
2.9 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkFastMarchingGeodesicPath.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkGeodesicBetweenPoints - Computes geodesics on input vtkPolyData between pairs of consecutive points
// .SECTION Description
// The class computes geodesic paths on vtkPolyData between pairs of consecutive points.
// The vtkPolyData is the first input and the vtkPointSet input is the second input.
// For each point in the second input, the nearest point on the first input is found.
// Geodesic paths between consective points in the second input are then computed
// and returned in the output. In addition, the total length of the geodesic paths
// is computed and stored in a one-element array named "TotalLength" in the field data
// of the output.
#ifndef vtkGeodesicsBetweenPoints_h
#define vtkGeodesicsBetweenPoints_h
#include "vtkPolyDataAlgorithm.h"
class VTK_EXPORT vtkGeodesicsBetweenPoints : public vtkPolyDataAlgorithm
{
public:
static vtkGeodesicsBetweenPoints *New();
// Description:
// Standard methids for printing and determining type information.
vtkTypeMacro(vtkGeodesicsBetweenPoints,vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set the dataset that defines the endpoints between which geodesic
// paths should be computed. Geodesics will be computed between
// consective points in this input.
virtual void SetEndpointsConnection(vtkAlgorithmOutput* endpointConnection);
// Description:
// Compute a loop of geodesic paths. Off by default. If on, a
// geodesic path from the last to the first point in the input
// endpoints will be added to the output.
vtkSetMacro(Loop, int);
vtkGetMacro(Loop, int);
vtkBooleanMacro(Loop, int);
// Description:
// Connect the first and last points with a straight line
// segment. Off by default.
vtkSetMacro(LoopWithLine, int);
vtkGetMacro(LoopWithLine, int);
vtkBooleanMacro(LoopWithLine, int);
protected:
vtkGeodesicsBetweenPoints();
~vtkGeodesicsBetweenPoints();
int Loop;
int LoopWithLine;
virtual int RequestData(vtkInformation *, vtkInformationVector **,
vtkInformationVector *);
virtual int FillInputPortInformation(int port, vtkInformation* info);
private:
vtkGeodesicsBetweenPoints(const vtkGeodesicsBetweenPoints&); // Not implemented
void operator=(const vtkGeodesicsBetweenPoints&); // Not implemented
};
#endif