VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Common
DataModel
vtkQuadraticEdge.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkQuadraticEdge.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
33
#ifndef __vtkQuadraticEdge_h
34
#define __vtkQuadraticEdge_h
35
36
#include "vtkCommonDataModelModule.h"
// For export macro
37
#include "
vtkNonLinearCell.h
"
38
39
class
vtkLine
;
40
class
vtkDoubleArray
;
41
42
class
VTKCOMMONDATAMODEL_EXPORT
vtkQuadraticEdge
:
public
vtkNonLinearCell
43
{
44
public
:
45
static
vtkQuadraticEdge
*
New
();
46
vtkTypeMacro(
vtkQuadraticEdge
,
vtkNonLinearCell
);
47
void
PrintSelf
(ostream& os,
vtkIndent
indent);
48
50
52
int
GetCellType
() {
return
VTK_QUADRATIC_EDGE
;};
53
int
GetCellDimension
() {
return
1;}
54
int
GetNumberOfEdges
() {
return
0;}
55
int
GetNumberOfFaces
() {
return
0;}
56
vtkCell
*
GetEdge
(
int
) {
return
0;}
57
vtkCell
*
GetFace
(
int
) {
return
0;}
59
60
int
CellBoundary
(
int
subId,
double
pcoords[3],
vtkIdList
*pts);
61
void
Contour
(
double
value
,
vtkDataArray
*cellScalars,
62
vtkIncrementalPointLocator
*locator,
vtkCellArray
*verts,
63
vtkCellArray
*lines,
vtkCellArray
*polys,
64
vtkPointData
*inPd,
vtkPointData
*outPd,
65
vtkCellData
*inCd,
vtkIdType
cellId,
vtkCellData
*outCd);
66
int
EvaluatePosition
(
double
x[3],
double
* closestPoint,
67
int
& subId,
double
pcoords[3],
68
double
& dist2,
double
*weights);
69
void
EvaluateLocation
(
int
& subId,
double
pcoords[3],
double
x[3],
70
double
*weights);
71
int
Triangulate
(
int
index
,
vtkIdList
*ptIds,
vtkPoints
*pts);
72
void
Derivatives
(
int
subId,
double
pcoords[3],
double
*values,
73
int
dim,
double
*derivs);
74
virtual
double
*
GetParametricCoords
();
75
77
79
void
Clip
(
double
value
,
vtkDataArray
*cellScalars,
80
vtkIncrementalPointLocator
*locator,
vtkCellArray
*lines,
81
vtkPointData
*inPd,
vtkPointData
*outPd,
82
vtkCellData
*inCd,
vtkIdType
cellId,
vtkCellData
*outCd,
83
int
insideOut);
85
87
89
int
IntersectWithLine
(
double
p1[3],
double
p2[3],
double
tol,
double
& t,
90
double
x[3],
double
pcoords[3],
int
& subId);
92
94
int
GetParametricCenter
(
double
pcoords[3]);
95
98
static
void
InterpolationFunctions(
double
pcoords[3],
double
weights[3]);
101
static
void
InterpolationDerivs(
double
pcoords[3],
double
derivs[3]);
103
105
virtual
void
InterpolateFunctions
(
double
pcoords[3],
double
weights[3])
106
{
107
vtkQuadraticEdge::InterpolationFunctions
(pcoords,weights);
108
}
109
virtual
void
InterpolateDerivs
(
double
pcoords[3],
double
derivs[3])
110
{
111
vtkQuadraticEdge::InterpolationDerivs
(pcoords,derivs);
112
}
114
115
protected
:
116
vtkQuadraticEdge
();
117
~
vtkQuadraticEdge
();
118
119
vtkLine
*
Line
;
120
vtkDoubleArray
*
Scalars
;
//used to avoid New/Delete in contouring/clipping
121
122
private
:
123
vtkQuadraticEdge
(
const
vtkQuadraticEdge
&);
// Not implemented.
124
void
operator=(
const
vtkQuadraticEdge
&);
// Not implemented.
125
};
126
//----------------------------------------------------------------------------
127
inline
int
vtkQuadraticEdge::GetParametricCenter
(
double
pcoords[3])
128
{
129
pcoords[0] = 0.5;
130
pcoords[1] = pcoords[2] = 0.;
131
return
0;
132
}
133
134
#endif
135
136
Generated on Thu May 24 2012 22:22:11 for VTK by
1.8.1