#include <vtkBezierContourLineInterpolator.h>
The line interpolator interpolates supplied nodes (see InterpolateLine) with bezier line segments. The finess of the curve may be controlled using SetMaximumCurveError and SetMaximumNumberOfLineSegments.
Definition at line 31 of file vtkBezierContourLineInterpolator.h.
typedef vtkContourLineInterpolator | Superclass |
static int | IsTypeOf (const char *type) |
static vtkBezierContourLineInterpolator * | SafeDownCast (vtkObject *o) |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
Public Member Functions | |
virtual int | InterpolateLine (vtkRenderer *ren, vtkContourRepresentation *rep, int idx1, int idx2) |
virtual void | SetMaximumCurveError (double) |
virtual double | GetMaximumCurveError () |
virtual void | SetMaximumCurveLineSegments (int) |
virtual int | GetMaximumCurveLineSegments () |
virtual void | GetSpan (int nodeIndex, vtkIntArray *nodeIndices, vtkContourRepresentation *rep) |
Static Public Member Functions | |
static vtkBezierContourLineInterpolator * | New () |
Protected Member Functions | |
vtkBezierContourLineInterpolator () | |
~vtkBezierContourLineInterpolator () | |
void | ComputeMidpoint (double p1[3], double p2[3], double mid[3]) |
Protected Attributes | |
double | MaximumCurveError |
int | MaximumCurveLineSegments |
Standard methods for instances of this class.
Reimplemented from vtkContourLineInterpolator.
Definition at line 41 of file vtkBezierContourLineInterpolator.h.
vtkBezierContourLineInterpolator::vtkBezierContourLineInterpolator | ( | ) | [protected] |
vtkBezierContourLineInterpolator::~vtkBezierContourLineInterpolator | ( | ) | [protected] |
static vtkBezierContourLineInterpolator* vtkBezierContourLineInterpolator::New | ( | ) | [static] |
Instantiate this class.
Reimplemented from vtkObject.
virtual const char* vtkBezierContourLineInterpolator::GetClassName | ( | ) | [virtual] |
Standard methods for instances of this class.
Reimplemented from vtkContourLineInterpolator.
static int vtkBezierContourLineInterpolator::IsTypeOf | ( | const char * | type | ) | [static] |
Standard methods for instances of this class.
Reimplemented from vtkContourLineInterpolator.
virtual int vtkBezierContourLineInterpolator::IsA | ( | const char * | type | ) | [virtual] |
Standard methods for instances of this class.
Reimplemented from vtkContourLineInterpolator.
static vtkBezierContourLineInterpolator* vtkBezierContourLineInterpolator::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Standard methods for instances of this class.
Reimplemented from vtkContourLineInterpolator.
void vtkBezierContourLineInterpolator::PrintSelf | ( | ostream & | os, | |
vtkIndent | indent | |||
) | [virtual] |
Standard methods for instances of this class.
Reimplemented from vtkContourLineInterpolator.
virtual int vtkBezierContourLineInterpolator::InterpolateLine | ( | vtkRenderer * | ren, | |
vtkContourRepresentation * | rep, | |||
int | idx1, | |||
int | idx2 | |||
) | [virtual] |
Subclasses that wish to interpolate a line segment must implement this. For instance vtkBezierContourLineInterpolator adds nodes between idx1 and idx2, that allow the contour to adhere to a bezier curve.
Implements vtkContourLineInterpolator.
virtual void vtkBezierContourLineInterpolator::SetMaximumCurveError | ( | double | ) | [virtual] |
The difference between a line segment connecting two points and the curve connecting the same points. In the limit of the length of the curve dx -> 0, the two values will be the same. The smaller this number, the finer the bezier curve will be interpolated. Default is 0.005
virtual double vtkBezierContourLineInterpolator::GetMaximumCurveError | ( | ) | [virtual] |
The difference between a line segment connecting two points and the curve connecting the same points. In the limit of the length of the curve dx -> 0, the two values will be the same. The smaller this number, the finer the bezier curve will be interpolated. Default is 0.005
virtual void vtkBezierContourLineInterpolator::SetMaximumCurveLineSegments | ( | int | ) | [virtual] |
Maximum number of bezier line segments between two nodes. Larger values create a finer interpolation. Default is 100.
virtual int vtkBezierContourLineInterpolator::GetMaximumCurveLineSegments | ( | ) | [virtual] |
Maximum number of bezier line segments between two nodes. Larger values create a finer interpolation. Default is 100.
virtual void vtkBezierContourLineInterpolator::GetSpan | ( | int | nodeIndex, | |
vtkIntArray * | nodeIndices, | |||
vtkContourRepresentation * | rep | |||
) | [virtual] |
Span of the interpolator. ie. the number of control points its supposed to interpolate given a node. The first argument is the current nodeIndex. ie, you'd be trying to interpolate between nodes "nodeIndex" and "nodeIndex-1", unless you're closing the contour in which case, you're trying to interpolate "nodeIndex" and "Node=0". The node span is returned in a vtkIntArray. The node span is returned in a vtkIntArray. The node span returned by this interpolator will be a 2-tuple with a span of 4.
Reimplemented from vtkContourLineInterpolator.
void vtkBezierContourLineInterpolator::ComputeMidpoint | ( | double | p1[3], | |
double | p2[3], | |||
double | mid[3] | |||
) | [inline, protected] |
Definition at line 83 of file vtkBezierContourLineInterpolator.h.
double vtkBezierContourLineInterpolator::MaximumCurveError [protected] |
Definition at line 90 of file vtkBezierContourLineInterpolator.h.
int vtkBezierContourLineInterpolator::MaximumCurveLineSegments [protected] |
Definition at line 91 of file vtkBezierContourLineInterpolator.h.