15#ifndef vtkEdgeSubdivisionCriterion_h
16#define vtkEdgeSubdivisionCriterion_h
38#include "vtkFiltersCoreModule.h"
56 virtual bool EvaluateEdge(
const double* p0,
double* p1,
const double* p2,
int field_start ) = 0 ;
87 const int* GetFieldIds()
const;
94 const int* GetFieldOffsets()
const;
107 int GetNumberOfFields()
const;
142 bool ViewDependentEval( const
double* p0,
double* p1,
double* p1_actual, const
double* p2,
int field_start,
vtkMatrix4x4* viewtrans, const
double* pixelSize,
double allowableChordErr ) const;
177 bool FixedFieldErrorEval( const
double* p0,
double* p1,
double* p1_actual, const
double* p2,
int field_start,
int field_criteria,
double* allowableFieldErr ) const;
represent and manipulate attribute data in a dataset
how to decide whether a linear approximation to nonlinear geometry or field should be subdivided
virtual void ResetFieldList()
Don't pass any field values in the vertex pointer.
vtkEdgeSubdivisionCriterion()
virtual bool DontPassField(int sourceId, vtkStreamingTessellator *t)
This does the opposite of PassField(); it removes a field from the output (assuming the field was set...
virtual bool EvaluateEdge(const double *p0, double *p1, const double *p2, int field_start)=0
You must implement this member function in a subclass.
int GetOutputField(int fieldId) const
Return the output ID of an input field.
int GetNumberOfFields() const
Return the number of fields being evaluated at each output vertex.
const int * GetFieldOffsets() const
Return the offset into an output vertex array of all fields.
~vtkEdgeSubdivisionCriterion() override
virtual int PassField(int sourceId, int sourceSize, vtkStreamingTessellator *t)
This is a helper routine called by PassFields() which you may also call directly; it adds sourceSize ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
abstract base class for most VTK objects
An algorithm that refines an initial simplicial tessellation using edge subdivision.