VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkConvexHull2D Class Reference

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

#include <vtkConvexHull2D.h>

Inherits vtkPolyDataAlgorithm.

Public Types

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

Public Member Functions

virtual int IsA (const char *type)
 
vtkConvexHull2DNewInstance () const
 
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)
 
vtkRenderer * GetRenderer ()
 

Static Public Member Functions

static vtkConvexHull2DNew ()
 
static int IsTypeOf (const char *type)
 
static vtkConvexHull2DSafeDownCast (vtkObjectBase *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

virtual vtkObjectBase * NewInstanceInternal () const
 
 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 65 of file vtkConvexHull2D.h.

Member Typedef Documentation

typedef vtkPolyDataAlgorithm vtkConvexHull2D::Superclass

Definition at line 69 of file vtkConvexHull2D.h.

Member Enumeration Documentation

Enumerator
BoundingRectangle 
ConvexHull 

Definition at line 85 of file vtkConvexHull2D.h.

Constructor & Destructor Documentation

vtkConvexHull2D::vtkConvexHull2D ( )
protected
vtkConvexHull2D::~vtkConvexHull2D ( )
protected

Member Function Documentation

static vtkConvexHull2D* vtkConvexHull2D::New ( )
static
static int vtkConvexHull2D::IsTypeOf ( const char *  type)
static
virtual int vtkConvexHull2D::IsA ( const char *  type)
virtual
static vtkConvexHull2D* vtkConvexHull2D::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkConvexHull2D::NewInstanceInternal ( ) const
protectedvirtual
vtkConvexHull2D* vtkConvexHull2D::NewInstance ( ) const
void vtkConvexHull2D::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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.

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

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


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