vtkLabelPlacer Class Reference

#include <vtkLabelPlacer.h>

Inheritance diagram for vtkLabelPlacer:

Inheritance graph
[legend]
Collaboration diagram for vtkLabelPlacer:

Collaboration graph
[legend]

List of all members.


Detailed Description

place a prioritized hierarchy of labels in screen space

This should probably be a mapper unto itself (given that the polydata output could be large and will realistically always be iterated over exactly once before being tossed for the next frame of the render).

In any event, it takes as input one (or more, eventually) vtkLabelHierarchies that represent prioritized lists of labels sorted by their placement in space. As output, it provides vtkPolyData containing only VTK_QUAD cells, each representing a single label from the input. Each quadrilateral has cell data indicating what label in the input it corresponds to (via an array named "LabelId").

Tests:
vtkLabelPlacer (Tests)

Definition at line 49 of file vtkLabelPlacer.h.


Public Types

enum  LabelGravity {
  VerticalBottomBit = 1, VerticalBaselineBit = 2, VerticalCenterBit = 4, VerticalTopBit = 8,
  HorizontalLeftBit = 16, HorizontalCenterBit = 32, HorizontalRightBit = 64, VerticalBitMask = 15,
  HorizontalBitMask = 112, LowerLeft = 17, LowerCenter = 33, LowerRight = 65,
  BaselineLeft = 18, BaselineCenter = 34, BaselineRight = 66, CenterLeft = 20,
  CenterCenter = 36, CenterRight = 68, UpperLeft = 24, UpperCenter = 40,
  UpperRight = 72
}
 Specifications for the placement of the label relative to an anchor point. More...
enum  OutputCoordinates { WORLD = 0, DISPLAY = 1 }
 Coordinate systems that output dataset may use. More...
typedef vtkPolyDataAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkRendererGetRenderer ()
virtual void SetRenderer (vtkRenderer *)
virtual vtkCoordinateGetAnchorTransform ()
virtual void SetGravity (int gravity)
virtual int GetGravity ()
virtual void SetMaximumLabelFraction (double)
virtual double GetMaximumLabelFraction ()
virtual unsigned long GetMTime ()
virtual void SetIteratorType (int)
virtual int GetIteratorType ()
virtual bool GetPositionsAsNormals ()
virtual void SetPositionsAsNormals (bool)
virtual void PositionsAsNormalsOn ()
virtual void PositionsAsNormalsOff ()
virtual bool GetGeneratePerturbedLabelSpokes ()
virtual void SetGeneratePerturbedLabelSpokes (bool)
virtual void GeneratePerturbedLabelSpokesOn ()
virtual void GeneratePerturbedLabelSpokesOff ()
virtual bool GetOutputTraversedBounds ()
virtual void SetOutputTraversedBounds (bool)
virtual void OutputTraversedBoundsOn ()
virtual void OutputTraversedBoundsOff ()
virtual int GetOutputCoordinateSystem ()
virtual void SetOutputCoordinateSystem (int)
void OutputCoordinateSystemWorld ()
void OutputCoordinateSystemDisplay ()

Static Public Member Functions

static vtkLabelPlacerNew ()
static int IsTypeOf (const char *type)
static vtkLabelPlacerSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkLabelPlacer ()
virtual ~vtkLabelPlacer ()
virtual void SetAnchorTransform (vtkCoordinate *)
int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)

Protected Attributes

Internal * Buckets
vtkRendererRenderer
vtkCoordinateAnchorTransform
int Gravity
double MaximumLabelFraction
bool PositionsAsNormals
bool OutputTraversedBounds
bool GeneratePerturbedLabelSpokes
int LastRendererSize [2]
double LastCameraPosition [3]
double LastCameraFocalPoint [3]
double LastCameraViewUp [3]
double LastCameraParallelScale
int IteratorType
int OutputCoordinateSystem

Member Typedef Documentation

Reimplemented from vtkPolyDataAlgorithm.

Definition at line 53 of file vtkLabelPlacer.h.


Member Enumeration Documentation

Specifications for the placement of the label relative to an anchor point.

Enumerator:
VerticalBottomBit 
VerticalBaselineBit 
VerticalCenterBit 
VerticalTopBit 
HorizontalLeftBit 
HorizontalCenterBit 
HorizontalRightBit 
VerticalBitMask 
HorizontalBitMask 
LowerLeft  The anchor is at the lower left corner of the label's bounding box.
LowerCenter  The anchor is centered left-to-right at the lower edge of the bounding box.
LowerRight  The anchor is at the lower right corner of the label's bounding box.
BaselineLeft  The anchor is on the text baseline (or bottom for images) at the left edge of the label's bounding box.
BaselineCenter  The anchor is centered left-to-right at the text baseline of the bounding box, or the bottom for images.
BaselineRight  The anchor is on the text baseline (or bottom for images) at the right edge of the label's bounding box.
CenterLeft  The anchor is at the far left edge of the label at the vertical center of the bounding box.
CenterCenter  The anchor is centered left-to-right at the vertical midpoint of the bounding box.
CenterRight  The anchor is at the far right edge of the label at the vertical center of the bounding box.
UpperLeft  The anchor is at the upper left corner of the label's bounding box.
UpperCenter  The anchor is centered left-to-right at the top edge of the bounding box.
UpperRight  The anchor is at the upper right corner of the label's bounding box.

Definition at line 63 of file vtkLabelPlacer.h.

Coordinate systems that output dataset may use.

Enumerator:
WORLD  Output 3-D world-space coordinates for each label anchor.
DISPLAY  Output 2-D display coordinates for each label anchor (3 components but only 2 are significant).

Definition at line 93 of file vtkLabelPlacer.h.


Constructor & Destructor Documentation

vtkLabelPlacer::vtkLabelPlacer (  )  [protected]

virtual vtkLabelPlacer::~vtkLabelPlacer (  )  [protected, virtual]


Member Function Documentation

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

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

Reimplemented from vtkPolyDataAlgorithm.

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

Reimplemented from vtkPolyDataAlgorithm.

static int vtkLabelPlacer::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

virtual int vtkLabelPlacer::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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataAlgorithm.

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

Reimplemented from vtkPolyDataAlgorithm.

virtual void vtkLabelPlacer::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 vtkRenderer* vtkLabelPlacer::GetRenderer (  )  [virtual]

virtual void vtkLabelPlacer::SetRenderer ( vtkRenderer  )  [virtual]

virtual vtkCoordinate* vtkLabelPlacer::GetAnchorTransform (  )  [virtual]

virtual void vtkLabelPlacer::SetGravity ( int  gravity  )  [virtual]

virtual int vtkLabelPlacer::GetGravity (  )  [virtual]

virtual void vtkLabelPlacer::SetMaximumLabelFraction ( double   )  [virtual]

virtual double vtkLabelPlacer::GetMaximumLabelFraction (  )  [virtual]

virtual void vtkLabelPlacer::SetIteratorType ( int   )  [virtual]

The type of iterator used when traversing the labels. May be vtkLabelHierarchy::FRUSTUM or vtkLabelHierarchy::FULL_SORT.

virtual int vtkLabelPlacer::GetIteratorType (  )  [virtual]

The type of iterator used when traversing the labels. May be vtkLabelHierarchy::FRUSTUM or vtkLabelHierarchy::FULL_SORT.

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

Return this object's modified time.

Reimplemented from vtkObject.

virtual bool vtkLabelPlacer::GetPositionsAsNormals (  )  [virtual]

Use label anchor point coordinates as normal vectors and eliminate those pointing away from the camera. Valid only when points are on a sphere centered at the origin (such as a 3D geographic view). Off by default.

virtual void vtkLabelPlacer::SetPositionsAsNormals ( bool   )  [virtual]

Use label anchor point coordinates as normal vectors and eliminate those pointing away from the camera. Valid only when points are on a sphere centered at the origin (such as a 3D geographic view). Off by default.

virtual void vtkLabelPlacer::PositionsAsNormalsOn (  )  [virtual]

Use label anchor point coordinates as normal vectors and eliminate those pointing away from the camera. Valid only when points are on a sphere centered at the origin (such as a 3D geographic view). Off by default.

virtual void vtkLabelPlacer::PositionsAsNormalsOff (  )  [virtual]

Use label anchor point coordinates as normal vectors and eliminate those pointing away from the camera. Valid only when points are on a sphere centered at the origin (such as a 3D geographic view). Off by default.

virtual bool vtkLabelPlacer::GetGeneratePerturbedLabelSpokes (  )  [virtual]

Enable drawing spokes (lines) to anchor point coordinates that were perturbed for being coincident with other anchor point coordinates.

virtual void vtkLabelPlacer::SetGeneratePerturbedLabelSpokes ( bool   )  [virtual]

Enable drawing spokes (lines) to anchor point coordinates that were perturbed for being coincident with other anchor point coordinates.

virtual void vtkLabelPlacer::GeneratePerturbedLabelSpokesOn (  )  [virtual]

Enable drawing spokes (lines) to anchor point coordinates that were perturbed for being coincident with other anchor point coordinates.

virtual void vtkLabelPlacer::GeneratePerturbedLabelSpokesOff (  )  [virtual]

Enable drawing spokes (lines) to anchor point coordinates that were perturbed for being coincident with other anchor point coordinates.

virtual bool vtkLabelPlacer::GetOutputTraversedBounds (  )  [virtual]

In the second output, output the geometry of the traversed octree nodes.

virtual void vtkLabelPlacer::SetOutputTraversedBounds ( bool   )  [virtual]

In the second output, output the geometry of the traversed octree nodes.

virtual void vtkLabelPlacer::OutputTraversedBoundsOn (  )  [virtual]

In the second output, output the geometry of the traversed octree nodes.

virtual void vtkLabelPlacer::OutputTraversedBoundsOff (  )  [virtual]

In the second output, output the geometry of the traversed octree nodes.

virtual int vtkLabelPlacer::GetOutputCoordinateSystem (  )  [virtual]

Set/get the coordinate system used for output labels. The output datasets may have point coordinates reported in the world space or display space.

virtual void vtkLabelPlacer::SetOutputCoordinateSystem ( int   )  [virtual]

Set/get the coordinate system used for output labels. The output datasets may have point coordinates reported in the world space or display space.

void vtkLabelPlacer::OutputCoordinateSystemWorld (  )  [inline]

Set/get the coordinate system used for output labels. The output datasets may have point coordinates reported in the world space or display space.

Definition at line 147 of file vtkLabelPlacer.h.

void vtkLabelPlacer::OutputCoordinateSystemDisplay (  )  [inline]

Set/get the coordinate system used for output labels. The output datasets may have point coordinates reported in the world space or display space.

Definition at line 148 of file vtkLabelPlacer.h.

virtual void vtkLabelPlacer::SetAnchorTransform ( vtkCoordinate  )  [protected, virtual]

int vtkLabelPlacer::FillInputPortInformation ( int  port,
vtkInformation info 
) [protected, virtual]

Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.

Reimplemented from vtkPolyDataAlgorithm.

virtual int vtkLabelPlacer::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

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

Reimplemented from vtkPolyDataAlgorithm.


Member Data Documentation

Internal* vtkLabelPlacer::Buckets [protected]

Definition at line 162 of file vtkLabelPlacer.h.

Definition at line 166 of file vtkLabelPlacer.h.

Definition at line 167 of file vtkLabelPlacer.h.

int vtkLabelPlacer::Gravity [protected]

Definition at line 168 of file vtkLabelPlacer.h.

Definition at line 169 of file vtkLabelPlacer.h.

Definition at line 170 of file vtkLabelPlacer.h.

Definition at line 171 of file vtkLabelPlacer.h.

Definition at line 172 of file vtkLabelPlacer.h.

Definition at line 174 of file vtkLabelPlacer.h.

double vtkLabelPlacer::LastCameraPosition[3] [protected]

Definition at line 175 of file vtkLabelPlacer.h.

double vtkLabelPlacer::LastCameraFocalPoint[3] [protected]

Definition at line 176 of file vtkLabelPlacer.h.

double vtkLabelPlacer::LastCameraViewUp[3] [protected]

Definition at line 177 of file vtkLabelPlacer.h.

Definition at line 178 of file vtkLabelPlacer.h.

Definition at line 179 of file vtkLabelPlacer.h.

Definition at line 180 of file vtkLabelPlacer.h.


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

Generated on Wed Jun 3 19:14:58 2009 for VTK by  doxygen 1.5.6