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 | Protected Attributes | List of all members
vtkBoostSplitTableField Class Reference

"Splits" one-or-more table fields by duplicating rows containing delimited data. More...

#include <vtkBoostSplitTableField.h>

Inherits vtkTableAlgorithm.

Public Types

typedef vtkTableAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkBoostSplitTableFieldNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void ClearFields ()
 
void AddField (const char *field, const char *delimiters)
 

Static Public Member Functions

static vtkBoostSplitTableFieldNew ()
 
static int IsTypeOf (const char *type)
 
static vtkBoostSplitTableFieldSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkBoostSplitTableField ()
 
 ~vtkBoostSplitTableField ()
 
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 

Protected Attributes

vtkStringArray * Fields
 
vtkStringArray * Delimiters
 

Detailed Description

"Splits" one-or-more table fields by duplicating rows containing delimited data.

Assume the following table:

Author Year Title Brian; Jeff; Tim 2007 Foo Tim 2003 Bar

If we produce a graph relating authors to the year in which they publish, the string "Brian; Jeff; Tim" will be treated (incorrectly) as a single author associated with the year 2007. vtkBoostSplitTableField addresses this by splitting one-or-more fields into "subvalues" using a configurable delimiter and placing each subvalue on its own row (the other fields in the original row are copied). Using the above example, splitting the "Author" field with a ";" (semicolon) delimiter produces:

Author Year Title Brian 2007 Foo Jeff 2007 Foo Tim 2007 Foo Tim 2003 Bar

When this table is converted to a graph, each author (correctly) becomes a separate node.

Usage:

Use AddField() to specify the field(s) to be split. If no fields have been specified, vtkBoostSplitTableField will act as a passthrough. By default, no fields are specified.

The second argument to AddField() is a string containing zero-to-many single character delimiters (multi-character delimiters are not supported).

If the input table is missing a field specified by AddField(), it is an error. If no fields are specified, no splitting is performed. If the delimiter for a field is an empty string, no splitting is performed on that field.

Events:
vtkCommand::ProgressEvent
Tests:
vtkBoostSplitTableField (Tests)

Definition at line 67 of file vtkBoostSplitTableField.h.

Member Typedef Documentation

typedef vtkTableAlgorithm vtkBoostSplitTableField::Superclass

Definition at line 71 of file vtkBoostSplitTableField.h.

Constructor & Destructor Documentation

vtkBoostSplitTableField::vtkBoostSplitTableField ( )
protected
vtkBoostSplitTableField::~vtkBoostSplitTableField ( )
protected

Member Function Documentation

static vtkBoostSplitTableField* vtkBoostSplitTableField::New ( )
static
static int vtkBoostSplitTableField::IsTypeOf ( const char *  type)
static
virtual int vtkBoostSplitTableField::IsA ( const char *  type)
virtual
static vtkBoostSplitTableField* vtkBoostSplitTableField::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkBoostSplitTableField::NewInstanceInternal ( ) const
protectedvirtual
vtkBoostSplitTableField* vtkBoostSplitTableField::NewInstance ( ) const
void vtkBoostSplitTableField::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
void vtkBoostSplitTableField::ClearFields ( )
void vtkBoostSplitTableField::AddField ( const char *  field,
const char *  delimiters 
)
int vtkBoostSplitTableField::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected

Member Data Documentation

vtkStringArray* vtkBoostSplitTableField::Fields
protected

Definition at line 86 of file vtkBoostSplitTableField.h.

vtkStringArray* vtkBoostSplitTableField::Delimiters
protected

Definition at line 87 of file vtkBoostSplitTableField.h.


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