VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkConvexHull2D Class Reference

Produce filled convex hulls around a set of points. More...

#include <vtkConvexHull2D.h>

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

List of all members.

Public Types

enum  HullShapes { BoundingRectangle = 0, ConvexHull }
typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual unsigned long GetMTime ()
virtual double GetScaleFactor ()
virtual void SetScaleFactor (double)
virtual bool GetOutline ()
virtual void SetOutline (bool)
virtual void OutlineOn ()
virtual void OutlineOff ()
virtual int GetHullShape ()
virtual void SetHullShape (int)
virtual void SetMinHullSizeInWorld (double)
virtual double GetMinHullSizeInWorld ()
virtual void SetMinHullSizeInDisplay (int)
virtual int GetMinHullSizeInDisplay ()
void SetRenderer (vtkRenderer *renderer)
vtkRendererGetRenderer ()

Static Public Member Functions

static vtkConvexHull2DNew ()
static int IsTypeOf (const char *type)
static vtkConvexHull2DSafeDownCast (vtkObject *o)
static void CalculateBoundingRectangle (vtkPoints *inPoints, vtkPoints *outPoints, double minimumHullSize=1.0)
static void CalculateConvexHull (vtkPoints *inPoints, vtkPoints *outPoints, double minimumHullSize=1.0)

Protected Member Functions

 vtkConvexHull2D ()
 ~vtkConvexHull2D ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Detailed Description

Produce filled convex hulls around a set of points.

Produces a vtkPolyData comprised of a filled polygon of the convex hull of the input points. You may alternatively choose to output a bounding rectangle. Static methods are provided that calculate a (counter-clockwise) hull based on a set of input points.

To help maintain the property of guaranteed visibility hulls may be artificially scaled by setting MinHullSizeInWorld. This is particularly helpful in the case that there are only one or two points as it avoids producing a degenerate polygon. This setting is also available as an argument to the static methods.

Setting a vtkRenderer on the filter enables the possibility to set MinHullSizeInDisplay to the desired number of display pixels to cover in each of the x- and y-dimensions.

Setting OutlineOn() additionally produces an outline of the hull on output port 1.

Attention:
This filter operates in the x,y-plane and as such works best with an interactor style that does not permit camera rotation such as vtkInteractorStyleRubberBand2D.
Thanks:
Thanks to Colin Myers, University of Leeds for providing this implementation.
Tests:
vtkConvexHull2D (Tests)

Definition at line 64 of file vtkConvexHull2D.h.


Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 68 of file vtkConvexHull2D.h.


Member Enumeration Documentation

Enumerator:
BoundingRectangle 
ConvexHull 

Definition at line 84 of file vtkConvexHull2D.h.


Constructor & Destructor Documentation

vtkConvexHull2D::vtkConvexHull2D ( ) [protected]
vtkConvexHull2D::~vtkConvexHull2D ( ) [protected]

Member Function Documentation

static vtkConvexHull2D* vtkConvexHull2D::New ( ) [static]

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

Reimplemented from vtkPolyDataAlgorithm.

virtual const char* vtkConvexHull2D::GetClassName ( ) [virtual]

Reimplemented from vtkPolyDataAlgorithm.

static int vtkConvexHull2D::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 vtkPolyDataAlgorithm.

virtual int vtkConvexHull2D::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 vtkPolyDataAlgorithm.

static vtkConvexHull2D* vtkConvexHull2D::SafeDownCast ( vtkObject o) [static]

Reimplemented from vtkPolyDataAlgorithm.

void vtkConvexHull2D::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 vtkPolyDataAlgorithm.

virtual double vtkConvexHull2D::GetScaleFactor ( ) [virtual]

Scale the hull by the amount specified. Defaults to 1.0.

virtual void vtkConvexHull2D::SetScaleFactor ( double  ) [virtual]

Scale the hull by the amount specified. Defaults to 1.0.

virtual bool vtkConvexHull2D::GetOutline ( ) [virtual]

Produce an outline (polyline) of the hull on output port 1.

virtual void vtkConvexHull2D::SetOutline ( bool  ) [virtual]

Produce an outline (polyline) of the hull on output port 1.

virtual void vtkConvexHull2D::OutlineOn ( ) [virtual]

Produce an outline (polyline) of the hull on output port 1.

virtual void vtkConvexHull2D::OutlineOff ( ) [virtual]

Produce an outline (polyline) of the hull on output port 1.

virtual int vtkConvexHull2D::GetHullShape ( ) [virtual]

Set the shape of the hull to BoundingRectangle or ConvexHull.

virtual void vtkConvexHull2D::SetHullShape ( int  ) [virtual]

Set the shape of the hull to BoundingRectangle or ConvexHull.

virtual void vtkConvexHull2D::SetMinHullSizeInWorld ( double  ) [virtual]

Set the minimum x,y-dimensions of each hull in world coordinates. Defaults to 1.0. Set to 0.0 to disable.

virtual double vtkConvexHull2D::GetMinHullSizeInWorld ( ) [virtual]

Set the minimum x,y-dimensions of each hull in world coordinates. Defaults to 1.0. Set to 0.0 to disable.

virtual void vtkConvexHull2D::SetMinHullSizeInDisplay ( int  ) [virtual]

Set the minimum x,y-dimensions of each hull in pixels. You must also set a vtkRenderer. Defaults to 1. Set to 0 to disable.

virtual int vtkConvexHull2D::GetMinHullSizeInDisplay ( ) [virtual]

Set the minimum x,y-dimensions of each hull in pixels. You must also set a vtkRenderer. Defaults to 1. Set to 0 to disable.

void vtkConvexHull2D::SetRenderer ( vtkRenderer renderer)

Renderer needed for MinHullSizeInDisplay calculation. Not reference counted.

vtkRenderer* vtkConvexHull2D::GetRenderer ( )

Renderer needed for MinHullSizeInDisplay calculation. Not reference counted.

virtual unsigned long vtkConvexHull2D::GetMTime ( ) [virtual]

The modified time of this filter.

Reimplemented from vtkObject.

static void vtkConvexHull2D::CalculateBoundingRectangle ( vtkPoints inPoints,
vtkPoints outPoints,
double  minimumHullSize = 1.0 
) [static]

Convenience methods to calculate a convex hull from a set of vtkPointS.

static void vtkConvexHull2D::CalculateConvexHull ( vtkPoints inPoints,
vtkPoints outPoints,
double  minimumHullSize = 1.0 
) [static]

Convenience methods to calculate a convex hull from a set of vtkPointS.

int vtkConvexHull2D::RequestData ( vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector  
) [protected, virtual]

This is called by the superclass. This is the method you should override.

Reimplemented from vtkPolyDataAlgorithm.


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