VTK
|
cell represents a 1D line More...
#include <vtkLine.h>
Public Types | |
typedef vtkCell | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
int | GetParametricCenter (double pcoords[3]) |
int | GetCellType () |
int | GetCellDimension () |
int | GetNumberOfEdges () |
int | GetNumberOfFaces () |
vtkCell * | GetEdge (int) |
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 *lines, 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) |
virtual void | InterpolateFunctions (double pcoords[3], double weights[2]) |
virtual void | InterpolateDerivs (double pcoords[3], double derivs[2]) |
Static Public Member Functions | |
static vtkLine * | New () |
static int | IsTypeOf (const char *type) |
static vtkLine * | SafeDownCast (vtkObject *o) |
static double | DistanceToLine (double x[3], double p1[3], double p2[3]) |
static void | InterpolationFunctions (double pcoords[3], double weights[2]) |
static void | InterpolationDerivs (double pcoords[3], double derivs[2]) |
static int | Intersection (double p1[3], double p2[3], double x1[3], double x2[3], double &u, double &v) |
static double | DistanceToLine (double x[3], double p1[3], double p2[3], double &t, double closestPoint[3]) |
static double | DistanceBetweenLines (double l0[3], double l1[3], double m0[3], double m1[3], double closestPt1[3], double closestPt2[3], double &t1, double &t2) |
static double | DistanceBetweenLineSegments (double l0[3], double l1[3], double m0[3], double m1[3], double closestPt1[3], double closestPt2[3], double &t1, double &t2) |
Protected Member Functions | |
vtkLine () | |
~vtkLine () |
cell represents a 1D line
vtkLine is a concrete implementation of vtkCell to represent a 1D line.
typedef vtkCell vtkLine::Superclass |
vtkLine::vtkLine | ( | ) | [protected] |
static vtkLine* vtkLine::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
virtual const char* vtkLine::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkCell.
static int vtkLine::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 vtkCell.
virtual int vtkLine::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 vtkCell.
void vtkLine::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
int vtkLine::GetCellType | ( | ) | [inline, virtual] |
int vtkLine::GetCellDimension | ( | ) | [inline, virtual] |
int vtkLine::GetNumberOfEdges | ( | ) | [inline, virtual] |
int vtkLine::GetNumberOfFaces | ( | ) | [inline, virtual] |
void vtkLine::Contour | ( | double | value, |
vtkDataArray * | cellScalars, | ||
vtkIncrementalPointLocator * | locator, | ||
vtkCellArray * | verts, | ||
vtkCellArray * | lines, | ||
vtkCellArray * | polys, | ||
vtkPointData * | inPd, | ||
vtkPointData * | outPd, | ||
vtkCellData * | inCd, | ||
vtkIdType | cellId, | ||
vtkCellData * | outCd | ||
) | [virtual] |
virtual double* vtkLine::GetParametricCoords | ( | ) | [virtual] |
void vtkLine::Clip | ( | double | value, |
vtkDataArray * | cellScalars, | ||
vtkIncrementalPointLocator * | locator, | ||
vtkCellArray * | lines, | ||
vtkPointData * | inPd, | ||
vtkPointData * | outPd, | ||
vtkCellData * | inCd, | ||
vtkIdType | cellId, | ||
vtkCellData * | outCd, | ||
int | insideOut | ||
) | [virtual] |
Clip this line using scalar value provided. Like contouring, except that it cuts the line to produce other lines.
Implements vtkCell.
int vtkLine::IntersectWithLine | ( | double | p1[3], |
double | p2[3], | ||
double | tol, | ||
double & | t, | ||
double | x[3], | ||
double | pcoords[3], | ||
int & | subId | ||
) | [virtual] |
Line-line intersection. Intersection has to occur within [0,1] parametric coordinates and with specified tolerance.
Implements vtkCell.
static int vtkLine::Intersection | ( | double | p1[3], |
double | p2[3], | ||
double | x1[3], | ||
double | x2[3], | ||
double & | u, | ||
double & | v | ||
) | [static] |
Performs intersection of two finite 3D lines. An intersection is found if the projection of the two lines onto the plane perpendicular to the cross product of the two lines intersect. The parameters (u,v) are the parametric coordinates of the lines at the position of closest approach.
static double vtkLine::DistanceToLine | ( | double | x[3], |
double | p1[3], | ||
double | p2[3], | ||
double & | t, | ||
double | closestPoint[3] | ||
) | [static] |
Compute the distance of a point x to a finite line (p1,p2). The method computes the parametric coordinate t and the point location on the line. Note that t is unconstrained (i.e., it may lie outside the range [0,1]) but the closest point will lie within the finite line [p1,p2]. Also, the method returns the distance squared between x and the line (p1,p2).
Determine the distance of the current vertex to the edge defined by the vertices provided. Returns distance squared. Note: line is assumed infinite in extent.
static double vtkLine::DistanceBetweenLines | ( | double | l0[3], |
double | l1[3], | ||
double | m0[3], | ||
double | m1[3], | ||
double | closestPt1[3], | ||
double | closestPt2[3], | ||
double & | t1, | ||
double & | t2 | ||
) | [static] |
Computes the shortest distance squared between two infinite lines, each defined by a pair of points (l0,l1) and (m0,m1). Upon return, the closest points on the two line segments will be stored in closestPt1 and closestPt2. Their parametric coords (-inf <= t0, t1 <= inf) will be stored in t0 and t1. The return value is the shortest distance squared between the two line-segments.
static double vtkLine::DistanceBetweenLineSegments | ( | double | l0[3], |
double | l1[3], | ||
double | m0[3], | ||
double | m1[3], | ||
double | closestPt1[3], | ||
double | closestPt2[3], | ||
double & | t1, | ||
double & | t2 | ||
) | [static] |
Computes the shortest distance squared between two finite line segments defined by their end points (l0,l1) and (m0,m1). Upon return, the closest points on the two line segments will be stored in closestPt1 and closestPt2. Their parametric coords (0 <= t0, t1 <= 1) will be stored in t0 and t1. The return value is the shortest distance squared between the two line-segments.