VTK
vtkDataSetEdgeSubdivisionCriterion.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDataSetEdgeSubdivisionCriterion.h
5  Language: C++
6 
7  Copyright 2003 Sandia Corporation.
8  Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9  license for use of this work by or on behalf of the
10  U.S. Government. Redistribution and use in source and binary forms, with
11  or without modification, are permitted provided that this Notice and any
12  statement of authorship are reproduced on all copies.
13 
14 =========================================================================*/
15 #ifndef vtkDataSetEdgeSubdivisionCriterion_h
16 #define vtkDataSetEdgeSubdivisionCriterion_h
17 
38 #include "vtkFiltersCoreModule.h" // For export macro
40 
41 class vtkCell;
42 class vtkDataSet;
43 
45 {
46  public:
49  virtual void PrintSelf( ostream& os, vtkIndent indent );
50 
51  virtual void SetMesh( vtkDataSet* );
52  vtkDataSet* GetMesh();
53  //BTX
54  const vtkDataSet* GetMesh() const;
55  //ETX
56 
57  virtual void SetCellId( vtkIdType cell );
58  vtkIdType GetCellId() const;
59  //BTX
60  vtkIdType& GetCellId();
61  //ETX
62  vtkCell* GetCell();
63  //BTX
64  const vtkCell* GetCell() const;
65  //ETX
66 
67  virtual bool EvaluateEdge( const double* p0, double* midpt, const double* p1, int field_start );
68 
98  double* EvaluateFields( double* vertex, double* weights, int field_start );
99 
101 
104  void EvaluatePointDataField( double* result, double* weights, int field );
105  void EvaluateCellDataField( double* result, double* weights, int field );
107 
109 
111  vtkSetMacro(ChordError2,double);
112  vtkGetMacro(ChordError2,double);
114 
116 
120  virtual void SetFieldError2( int s, double err );
121  double GetFieldError2( int s ) const;
123 
127  virtual void ResetFieldError2();
128 
130 
133  vtkGetMacro(ActiveFieldCriteria,int);
134  int GetActiveFieldCriteria() const { return this->ActiveFieldCriteria; }
136 
137  protected:
140 
144 
145  double ChordError2;
146  double* FieldError2;
150 
151  private:
153  void operator = ( const vtkDataSetEdgeSubdivisionCriterion& ); // Not implemented.
154 
155 };
156 
157 //BTX
158 
161 
164 
167 
168 //ETX
169 
170 #endif // vtkDataSetEdgeSubdivisionCriterion_h
a subclass of vtkEdgeSubdivisionCriterion for vtkDataSet objects.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
#define VTKFILTERSCORE_EXPORT
int vtkIdType
Definition: vtkType.h:247
abstract class to specify cell behavior
Definition: vtkCell.h:58
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual void PrintSelf(ostream &os, vtkIndent indent)
virtual bool EvaluateEdge(const double *p0, double *p1, const double *p2, int field_start)=0
how to decide whether a linear approximation to nonlinear geometry or field should be subdivided ...
static vtkObject * New()