VTK
|
a cell that represents a triangle More...
#include <vtkTriangle.h>
Public Types | |
typedef vtkCell | Superclass |
![]() | |
typedef vtkObject | Superclass |
![]() | |
typedef vtkObjectBase | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
vtkCell * | GetEdge (int edgeId) |
double | ComputeArea () |
int | GetParametricCenter (double pcoords[3]) |
double | GetParametricDistance (double pcoords[3]) |
int | GetCellType () |
int | GetCellDimension () |
int | GetNumberOfEdges () |
int | GetNumberOfFaces () |
vtkCell * | GetFace (int) |
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) |
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 | Triangulate (int index, vtkIdList *ptIds, vtkPoints *pts) |
void | Derivatives (int subId, double pcoords[3], double *values, int dim, double *derivs) |
virtual double * | GetParametricCoords () |
void | Clip (double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) |
int | IntersectWithLine (double p1[3], double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) |
![]() | |
void | Initialize (int npts, vtkIdType *pts, vtkPoints *p) |
virtual void | ShallowCopy (vtkCell *c) |
virtual void | DeepCopy (vtkCell *c) |
virtual int | IsLinear () |
virtual int | IsExplicitCell () |
vtkPoints * | GetPoints () |
vtkIdType | GetNumberOfPoints () |
vtkIdList * | GetPointIds () |
vtkIdType | GetPointId (int ptId) |
void | GetBounds (double bounds[6]) |
double * | GetBounds () |
double | GetLength2 () |
virtual int | IsPrimaryCell () |
virtual int | RequiresInitialization () |
virtual void | Initialize () |
virtual int | RequiresExplicitFaceRepresentation () |
virtual void | SetFaces (vtkIdType *vtkNotUsed(faces)) |
virtual vtkIdType * | GetFaces () |
virtual void | InterpolateDerivs (double pcoords[3], double derivs[3]) |
![]() | |
virtual void | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
Static Public Member Functions | |
static vtkTriangle * | New () |
static int | IsTypeOf (const char *type) |
static vtkTriangle * | SafeDownCast (vtkObject *o) |
static double | TriangleArea (double p1[3], double p2[3], double p3[3]) |
static void | ComputeNormal (double v1[3], double v2[3], double v3[3], double n[3]) |
static void | TriangleCenter (double p1[3], double p2[3], double p3[3], double center[3]) |
static double | Circumcircle (double p1[2], double p2[2], double p3[2], double center[2]) |
static int | BarycentricCoords (double x[2], double x1[2], double x2[2], double x3[2], double bcoords[3]) |
static int | ProjectTo2D (double x1[3], double x2[3], double x3[3], double v1[2], double v2[2], double v3[2]) |
static void | ComputeNormal (vtkPoints *p, int numPts, vtkIdType *pts, double n[3]) |
static void | ComputeNormalDirection (double v1[3], double v2[3], double v3[3], double n[3]) |
static int | PointInTriangle (double x[3], double x1[3], double x2[3], double x3[3], double tol2) |
static void | ComputeQuadric (double x1[3], double x2[3], double x3[3], double quadric[4][4]) |
static void | ComputeQuadric (double x1[3], double x2[3], double x3[3], vtkQuadric *quadric) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkCell * | SafeDownCast (vtkObject *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkObject * | SafeDownCast (vtkObject *o) |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
![]() | |
static int | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
Protected Member Functions | |
vtkTriangle () | |
~vtkTriangle () | |
![]() | |
vtkCell () | |
~vtkCell () | |
![]() | |
vtkObject () | |
virtual | ~vtkObject () |
virtual void | RegisterInternal (vtkObjectBase *, int check) |
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
![]() | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &os) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
vtkLine * | Line |
![]() | |
double | Bounds [6] |
![]() | |
unsigned char | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
![]() | |
int | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
static void | InterpolationFunctions (double pcoords[3], double sf[3]) |
static void | InterpolationDerivs (double pcoords[3], double derivs[6]) |
virtual void | InterpolateFunctions (double pcoords[3], double sf[3]) |
virtual void | InterpolateDerivs (double pcoords[3], double derivs[6]) |
int * | GetEdgeArray (int edgeId) |
Additional Inherited Members | |
![]() | |
vtkPoints * | Points |
vtkIdList * | PointIds |
a cell that represents a triangle
vtkTriangle is a concrete implementation of vtkCell to represent a triangle located in 3-space.
Definition at line 39 of file vtkTriangle.h.
typedef vtkCell vtkTriangle::Superclass |
Definition at line 43 of file vtkTriangle.h.
|
protected |
|
protected |
|
static |
|
virtual |
Reimplemented from vtkCell.
|
static |
|
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 vtkCell.
|
static |
|
virtual |
|
virtual |
Get the edge specified by edgeId (range 0 to 2) and return that edge's coordinates.
Implements vtkCell.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 52 of file vtkTriangle.h.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 53 of file vtkTriangle.h.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 54 of file vtkTriangle.h.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 55 of file vtkTriangle.h.
|
inlinevirtual |
See the vtkCell API for descriptions of these methods.
Implements vtkCell.
Definition at line 56 of file vtkTriangle.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
double vtkTriangle::ComputeArea | ( | ) |
A convenience function to compute the area of a vtkTriangle.
|
virtual |
Clip this triangle using scalar value provided. Like contouring, except that it cuts the triangle to produce other triangles.
Implements vtkCell.
|
static |
|
static |
|
inlinevirtual |
Reimplemented from vtkCell.
Definition at line 97 of file vtkTriangle.h.
|
inlinevirtual |
Definition at line 101 of file vtkTriangle.h.
int* vtkTriangle::GetEdgeArray | ( | int | edgeId | ) |
|
virtual |
Plane intersection plus in/out test on triangle. The in/out test is performed using tol as the tolerance.
Implements vtkCell.
|
inlinevirtual |
Return the center of the triangle in parametric coordinates.
Reimplemented from vtkCell.
Definition at line 220 of file vtkTriangle.h.
|
virtual |
Return the distance of the parametric coordinate provided to the cell. If inside the cell, a distance of zero is returned.
Reimplemented from vtkCell.
|
inlinestatic |
Compute the center of the triangle.
Definition at line 258 of file vtkTriangle.h.
|
inlinestatic |
Compute the area of a triangle in 3D. See also vtkTriangle::ComputeArea()
Definition at line 267 of file vtkTriangle.h.
|
static |
Compute the circumcenter (center[3]) and radius squared (method return value) of a triangle defined by the three points x1, x2, and x3. (Note that the coordinates are 2D. 3D points can be used but the z-component will be ignored.)
|
static |
Given a 2D point x[2], determine the barycentric coordinates of the point. Barycentric coordinates are a natural coordinate system for simplices that express a position as a linear combination of the vertices. For a triangle, there are three barycentric coordinates (because there are three vertices), and the sum of the coordinates must equal 1. If a point x is inside a simplex, then all three coordinates will be strictly positive. If two coordinates are zero (so the third =1), then the point x is on a vertex. If one coordinates are zero, the point x is on an edge. In this method, you must specify the vertex coordinates x1->x3. Returns 0 if triangle is degenerate.
|
static |
Project triangle defined in 3D to 2D coordinates. Returns 0 if degenerate triangle; non-zero value otherwise. Input points are x1->x3; output 2D points are v1->v3.
|
static |
Compute the triangle normal from a points list, and a list of point ids that index into the points list.
|
inlinestatic |
Compute the triangle normal from three points.
Definition at line 242 of file vtkTriangle.h.
|
inlinestatic |
Compute the (unnormalized) triangle normal direction from three points.
Definition at line 227 of file vtkTriangle.h.
|
static |
Given a point x, determine whether it is inside (within the tolerance squared, tol2) the triangle defined by the three coordinate values p1, p2, p3. Method is via comparing dot products. (Note: in current implementation the tolerance only works in the neighborhood of the three vertices of the triangle.
|
static |
Calculate the error quadric for this triangle. Return the quadric as a 4x4 matrix or a vtkQuadric. (from Peter Lindstrom's Siggraph 2000 paper, "Out-of-Core Simplification of Large Polygonal Models")
|
static |
Calculate the error quadric for this triangle. Return the quadric as a 4x4 matrix or a vtkQuadric. (from Peter Lindstrom's Siggraph 2000 paper, "Out-of-Core Simplification of Large Polygonal Models")
|
protected |
Definition at line 212 of file vtkTriangle.h.