VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkQuadraticPolygon Class Reference

a cell that represents a parabolic n-sided polygon More...

#include <vtkQuadraticPolygon.h>

Inheritance diagram for vtkQuadraticPolygon:
Inheritance graph
[legend]
Collaboration diagram for vtkQuadraticPolygon:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkNonLinearCell Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkQuadraticPolygonNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void Derivatives (int subId, double pcoords[3], double *values, int dim, double *derivs)
int GetCellType ()
int GetCellDimension ()
int GetNumberOfEdges ()
int GetNumberOfFaces ()
vtkCellGetEdge (int)
vtkCellGetFace (int)
int IsPrimaryCell ()
virtual bool GetUseMVCInterpolation ()
virtual void SetUseMVCInterpolation (bool)

Static Public Member Functions

static vtkQuadraticPolygonNew ()
static int IsTypeOf (const char *type)
static vtkQuadraticPolygonSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkQuadraticPolygon ()
 ~vtkQuadraticPolygon ()

Static Protected Member Functions

static void GetPermutationToPolygon (vtkIdType nb, vtkIdList *permutation)
static void PermuteFromPolygon (vtkIdType nb, double *values)
static void ConvertFromPolygon (vtkIdList *ids)

Protected Attributes

vtkPolygonPolygon
vtkQuadraticEdgeEdge
bool UseMVCInterpolation
static void ComputeCentroid (vtkIdTypeArray *ids, vtkPoints *pts, double centroid[3])
static int PointInPolygon (double x[3], int numPts, double *pts, double bounds[6], double n[3])
static double DistanceToPolygon (double x[3], int numPts, double *pts, double bounds[6], double closest[3])
static int IntersectPolygonWithPolygon (int npts, double *pts, double bounds[6], int npts2, double *pts2, double bounds2[3], double tol, double x[3])
static int IntersectConvex2DCells (vtkCell *cell1, vtkCell *cell2, double tol, double p0[3], double p1[3])
int CellBoundary (int subId, double pcoords[3], vtkIdList *pts)
void Contour (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd)
void Clip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)
int EvaluatePosition (double x[3], double *closestPoint, int &subId, double pcoords[3], double &dist2, double *weights)
void EvaluateLocation (int &subId, double pcoords[3], double x[3], double *weights)
int IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId)
virtual void InterpolateFunctions (double x[3], double *weights)
int ParameterizePolygon (double p0[3], double p10[3], double &l10, double p20[3], double &l20, double n[3])
int Triangulate (vtkIdList *outTris)
int Triangulate (int index, vtkIdList *ptIds, vtkPoints *pts)
int NonDegenerateTriangulate (vtkIdList *outTris)
void InitializePolygon ()
static void GetPermutationFromPolygon (vtkIdType nb, vtkIdList *permutation)
static void PermuteToPolygon (vtkIdType nbPoints, double *inPoints, double *outPoints)
static void PermuteToPolygon (vtkCell *inCell, vtkCell *outCell)
static void PermuteToPolygon (vtkPoints *inPoints, vtkPoints *outPoints)
static void PermuteToPolygon (vtkIdTypeArray *inIds, vtkIdTypeArray *outIds)
static void PermuteToPolygon (vtkDataArray *inDataArray, vtkDataArray *outDataArray)

Detailed Description

a cell that represents a parabolic n-sided polygon

vtkQuadraticPolygon is a concrete implementation of vtkNonLinearCell to represent a 2D n-sided (2*n nodes) parabolic polygon. The polygon cannot have any internal holes, and cannot self-intersect. The cell includes a mid-edge node for each of the n edges of the cell. The ordering of the 2*n points defining the cell are point ids (0..n-1 and n..2*n-1) where ids 0..n-1 define the corner vertices of the polygon; ids n..2*n-1 define the midedge nodes. Define the polygon with points ordered in the counter- clockwise direction; do not repeat the last point.

See also:
vtkQuadraticEdge vtkQuadraticTriangle vtkQuadraticTetra vtkQuadraticHexahedron vtkQuadraticWedge vtkQuadraticPyramid
Tests:
vtkQuadraticPolygon (Tests)

Definition at line 45 of file vtkQuadraticPolygon.h.


Member Typedef Documentation

Reimplemented from vtkNonLinearCell.

Definition at line 49 of file vtkQuadraticPolygon.h.


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkQuadraticPolygon::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkNonLinearCell.

virtual int vtkQuadraticPolygon::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkNonLinearCell.

Reimplemented from vtkNonLinearCell.

virtual vtkObjectBase* vtkQuadraticPolygon::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkNonLinearCell.

Reimplemented from vtkNonLinearCell.

void vtkQuadraticPolygon::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkNonLinearCell.

int vtkQuadraticPolygon::GetCellType ( ) [inline, virtual]

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 55 of file vtkQuadraticPolygon.h.

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 56 of file vtkQuadraticPolygon.h.

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 57 of file vtkQuadraticPolygon.h.

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 58 of file vtkQuadraticPolygon.h.

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Implements vtkCell.

vtkCell* vtkQuadraticPolygon::GetFace ( int  ) [inline, virtual]

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Implements vtkCell.

Definition at line 60 of file vtkQuadraticPolygon.h.

int vtkQuadraticPolygon::IsPrimaryCell ( ) [inline, virtual]

Implement the vtkCell API. See the vtkCell API for descriptions of these methods.

Reimplemented from vtkCell.

Definition at line 61 of file vtkQuadraticPolygon.h.

int vtkQuadraticPolygon::CellBoundary ( int  subId,
double  pcoords[3],
vtkIdList pts 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

void vtkQuadraticPolygon::Contour ( double  value,
vtkDataArray cellScalars,
vtkIncrementalPointLocator locator,
vtkCellArray verts,
vtkCellArray lines,
vtkCellArray polys,
vtkPointData inPd,
vtkPointData outPd,
vtkCellData inCd,
vtkIdType  cellId,
vtkCellData outCd 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

void vtkQuadraticPolygon::Clip ( double  value,
vtkDataArray cellScalars,
vtkIncrementalPointLocator locator,
vtkCellArray polys,
vtkPointData inPd,
vtkPointData outPd,
vtkCellData inCd,
vtkIdType  cellId,
vtkCellData outCd,
int  insideOut 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

int vtkQuadraticPolygon::EvaluatePosition ( double  x[3],
double closestPoint,
int subId,
double  pcoords[3],
double dist2,
double weights 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

void vtkQuadraticPolygon::EvaluateLocation ( int subId,
double  pcoords[3],
double  x[3],
double weights 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

int vtkQuadraticPolygon::IntersectWithLine ( double  p1[3],
double  p2[3],
double  tol,
double t,
double  x[3],
double  pcoords[3],
int subId 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

virtual void vtkQuadraticPolygon::InterpolateFunctions ( double  x[3],
double weights 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

static void vtkQuadraticPolygon::ComputeCentroid ( vtkIdTypeArray ids,
vtkPoints pts,
double  centroid[3] 
) [static]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

int vtkQuadraticPolygon::ParameterizePolygon ( double  p0[3],
double  p10[3],
double l10,
double  p20[3],
double l20,
double  n[3] 
)

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

static int vtkQuadraticPolygon::PointInPolygon ( double  x[3],
int  numPts,
double pts,
double  bounds[6],
double  n[3] 
) [static]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

int vtkQuadraticPolygon::Triangulate ( int  index,
vtkIdList ptIds,
vtkPoints pts 
) [virtual]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

Implements vtkCell.

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

static double vtkQuadraticPolygon::DistanceToPolygon ( double  x[3],
int  numPts,
double pts,
double  bounds[6],
double  closest[3] 
) [static]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

static int vtkQuadraticPolygon::IntersectPolygonWithPolygon ( int  npts,
double pts,
double  bounds[6],
int  npts2,
double pts2,
double  bounds2[3],
double  tol,
double  x[3] 
) [static]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

static int vtkQuadraticPolygon::IntersectConvex2DCells ( vtkCell cell1,
vtkCell cell2,
double  tol,
double  p0[3],
double  p1[3] 
) [static]

These methods are based on the vtkPolygon ones : the vtkQuadraticPolygon (with n edges and 2*n points) is transform into a vtkPolygon (with 2*n edges and 2*n points) and the vtkPolygon methods are called.

void vtkQuadraticPolygon::Derivatives ( int  subId,
double  pcoords[3],
double values,
int  dim,
double derivs 
) [virtual]

Compute derivatives given cell subId and parametric coordinates. The values array is a series of data value(s) at the cell points. There is a one-to-one correspondence between cell point and data value(s). Dim is the number of data values per cell point. Derivs are derivatives in the x-y-z coordinate directions for each data value. Thus, if computing derivatives for a scalar function in a hexahedron, dim=1, 8 values are supplied, and 3 deriv values are returned (i.e., derivatives in x-y-z directions). On the other hand, if computing derivatives of velocity (vx,vy,vz) dim=3, 24 values are supplied ((vx,vy,vz)1, (vx,vy,vz)2, ....()8), and 9 deriv values are returned ((d(vx)/dx),(d(vx)/dy),(d(vx)/dz), (d(vy)/dx),(d(vy)/dy), (d(vy)/dz), (d(vz)/dx),(d(vz)/dy),(d(vz)/dz)).

Implements vtkCell.

virtual bool vtkQuadraticPolygon::GetUseMVCInterpolation ( ) [virtual]

Set/Get the flag indicating whether to use Mean Value Coordinate for the interpolation. If true, InterpolateFunctions() uses the Mean Value Coordinate to compute weights. Otherwise, the conventional 1/r^2 method is used. The UseMVCInterpolation parameter is set to true by default.

virtual void vtkQuadraticPolygon::SetUseMVCInterpolation ( bool  ) [virtual]

Set/Get the flag indicating whether to use Mean Value Coordinate for the interpolation. If true, InterpolateFunctions() uses the Mean Value Coordinate to compute weights. Otherwise, the conventional 1/r^2 method is used. The UseMVCInterpolation parameter is set to true by default.

static void vtkQuadraticPolygon::GetPermutationFromPolygon ( vtkIdType  nb,
vtkIdList permutation 
) [static, protected]

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

static void vtkQuadraticPolygon::PermuteToPolygon ( vtkIdType  nbPoints,
double inPoints,
double outPoints 
) [static, protected]

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

static void vtkQuadraticPolygon::PermuteToPolygon ( vtkCell inCell,
vtkCell outCell 
) [static, protected]

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

static void vtkQuadraticPolygon::PermuteToPolygon ( vtkPoints inPoints,
vtkPoints outPoints 
) [static, protected]

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

static void vtkQuadraticPolygon::PermuteToPolygon ( vtkIdTypeArray inIds,
vtkIdTypeArray outIds 
) [static, protected]

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

static void vtkQuadraticPolygon::PermuteToPolygon ( vtkDataArray inDataArray,
vtkDataArray outDataArray 
) [static, protected]

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

Methods to transform a vtkQuadraticPolygon variable into a vtkPolygon variable.

static void vtkQuadraticPolygon::GetPermutationToPolygon ( vtkIdType  nb,
vtkIdList permutation 
) [static, protected]

Methods to transform a vtkPolygon variable into a vtkQuadraticPolygon variable.

static void vtkQuadraticPolygon::PermuteFromPolygon ( vtkIdType  nb,
double values 
) [static, protected]

Methods to transform a vtkPolygon variable into a vtkQuadraticPolygon variable.

static void vtkQuadraticPolygon::ConvertFromPolygon ( vtkIdList ids) [static, protected]

Methods to transform a vtkPolygon variable into a vtkQuadraticPolygon variable.


Member Data Documentation

Definition at line 126 of file vtkQuadraticPolygon.h.

Definition at line 127 of file vtkQuadraticPolygon.h.

Definition at line 131 of file vtkQuadraticPolygon.h.


The documentation for this class was generated from the following file: