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 
41 #include "vtkFiltersCoreModule.h" // For export macro
43 
44 class vtkCell;
45 class vtkDataSet;
46 
48 {
49  public:
52  virtual void PrintSelf( ostream& os, vtkIndent indent );
53 
54  virtual void SetMesh( vtkDataSet* );
55  vtkDataSet* GetMesh();
56  //BTX
57  const vtkDataSet* GetMesh() const;
58  //ETX
59 
60  virtual void SetCellId( vtkIdType cell );
61  vtkIdType GetCellId() const;
62  //BTX
63  vtkIdType& GetCellId();
64  //ETX
65  vtkCell* GetCell();
66  //BTX
67  const vtkCell* GetCell() const;
68  //ETX
69 
70  virtual bool EvaluateEdge( const double* p0, double* midpt, const double* p1, int field_start );
71 
101  double* EvaluateFields( double* vertex, double* weights, int field_start );
102 
104 
107  void EvaluatePointDataField( double* result, double* weights, int field );
108  void EvaluateCellDataField( double* result, double* weights, int field );
110 
112 
114  vtkSetMacro(ChordError2,double);
115  vtkGetMacro(ChordError2,double);
117 
119 
123  virtual void SetFieldError2( int s, double err );
124  double GetFieldError2( int s ) const;
126 
130  virtual void ResetFieldError2();
131 
133 
136  vtkGetMacro(ActiveFieldCriteria,int);
137  int GetActiveFieldCriteria() const { return this->ActiveFieldCriteria; }
139 
140  protected:
143 
147 
148  double ChordError2;
149  double* FieldError2;
153 
154  private:
156  void operator = ( const vtkDataSetEdgeSubdivisionCriterion& ); // Not implemented.
157 
158 };
159 
160 //BTX
161 
164 
167 
170 
171 //ETX
172 
173 #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:275
abstract class to specify cell behavior
Definition: vtkCell.h:61
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()