comac_desk_app/ThirdpartyLibs/Libs/windows-x86_64/vtk/include/vtkExtractCellsAlongPolyLine.h

78 lines
3.0 KiB
C++

/*=========================================================================
Program: Visualization Toolkit
Module: vtkExtractCellsAlongPolyLine.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.
=========================================================================*/
/**
* @class vtkExtractCellsAlongPolyLine
* @brief Extracts input cells that are intersected by a list of input lines or poly lines
*
* This filter extracts input cells that are intersected by a list of input lines or poly lines.
* The lines / poly lines input is set on input port 1, as a source connection, while the input data
* set on which cells are extracted is to be set on input port 0. The produced output is a
* `vtkUnstructuredGrid`. Input lines can be either set inside a `vtkPolyData` or a
* `vtkUnstructuredGrid`. If the input type has an explicit geometry, i.e. the input is not a
* `vtkPointSet`, then the user can set the output
* points precision using `OutputPointsPrecisions`. Otherwise, the point precision is set to be the
* same as the input.
*
* This filter uses multi-threading if available.
*/
#ifndef vtkExtractCellsAlongPolyLine_h
#define vtkExtractCellsAlongPolyLine_h
#include "vtkFiltersCoreModule.h" // For export macro
#include "vtkUnstructuredGridAlgorithm.h"
class VTKFILTERSCORE_EXPORT vtkExtractCellsAlongPolyLine : public vtkUnstructuredGridAlgorithm
{
public:
vtkTypeMacro(vtkExtractCellsAlongPolyLine, vtkUnstructuredGridAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) override;
static vtkExtractCellsAlongPolyLine* New();
/**
* Set the source for creating the lines to probe from. Only cells of type VTK_LINE or
* VTK_POLY_LINE will be processed.
*/
virtual void SetSourceConnection(vtkAlgorithmOutput* input);
///@{
/**
* Set/get the desired precision for the output types. See the documentation
* for the vtkAlgorithm::DesiredOutputPrecision enum for an explanation of
* the available precision settings. OutputPointsPrecision is DEFAULT_PRECISION
* by default. However, if the input is polymorphic to `vtkPointSet`, then
* the points precision of the input's points is used instead.
*/
vtkSetMacro(OutputPointsPrecision, int);
vtkGetMacro(OutputPointsPrecision, int);
///@}
protected:
vtkExtractCellsAlongPolyLine();
~vtkExtractCellsAlongPolyLine() override;
int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
int FillInputPortInformation(int port, vtkInformation* info) override;
int OutputPointsPrecision;
private:
vtkExtractCellsAlongPolyLine(const vtkExtractCellsAlongPolyLine&) = delete;
void operator=(const vtkExtractCellsAlongPolyLine&) = delete;
};
#endif