3Depict
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Enumerations | Functions | Variables
filter.h File Reference
#include "APT/ionhit.h"
#include "APT/APTFileIO.h"
#include "APT/APTRanges.h"
#include "common/constants.h"
#include "gl/select.h"
#include "gl/drawables.h"
#include "common/stringFuncs.h"
#include "common/array2D.h"
#include <libxml/xmlreader.h>
#include <wx/propgrid/propgrid.h>
Include dependency graph for filter.h:
This graph shows which files directly or indirectly include this file:

Classes

class  Voxels< T >
 Template class that stores 3D voxel data. More...
 
class  FilterStreamData
 Abstract base class for data types that can propagate through filter system. More...
 
class  FilterProperty
 
class  FilterPropGroup
 
class  IonStreamData
 Point with m-t-c value data. More...
 
class  VoxelStreamData
 Point with m-t-c value data. More...
 
class  PlotStreamData
 Plotting data. More...
 
class  Plot2DStreamData
 2D Plotting data More...
 
class  DrawStreamData
 Drawable objects, for 3D decoration. More...
 
class  RangeStreamData
 Range file propagation. More...
 
class  Filter
 Abstract base filter class. More...
 
class  ProgressData
 Class that tracks the progress of scene updates. More...
 

Enumerations

enum  {
  FILTER_TYPE_DATALOAD, FILTER_TYPE_IONDOWNSAMPLE, FILTER_TYPE_RANGEFILE, FILTER_TYPE_SPECTRUMPLOT,
  FILTER_TYPE_IONCLIP, FILTER_TYPE_IONCOLOURFILTER, FILTER_TYPE_PROFILE, FILTER_TYPE_BOUNDBOX,
  FILTER_TYPE_TRANSFORM, FILTER_TYPE_EXTERNALPROC, FILTER_TYPE_SPATIAL_ANALYSIS, FILTER_TYPE_CLUSTER_ANALYSIS,
  FILTER_TYPE_VOXELS, FILTER_TYPE_IONINFO, FILTER_TYPE_ANNOTATION, FILTER_TYPE_ENUM_END
}
 Filter types – must match array FILTER_NAMES. More...
 
enum  {
  STREAM_TYPE_IONS =1, STREAM_TYPE_PLOT =2, STREAM_TYPE_PLOT2D =4, STREAM_TYPE_DRAW =8,
  STREAM_TYPE_RANGE =16, STREAM_TYPE_VOXEL =32
}
 
enum  {
  BINDING_CYLINDER_RADIUS =1, BINDING_SPHERE_RADIUS, BINDING_CYLINDER_ORIGIN, BINDING_SPHERE_ORIGIN,
  BINDING_PLANE_ORIGIN, BINDING_CYLINDER_DIRECTION, BINDING_PLANE_DIRECTION, BINDING_RECT_TRANSLATE,
  BINDING_RECT_CORNER_MOVE
}
 
enum  {
  VOXEL_REPRESENT_POINTCLOUD, VOXEL_REPRESENT_ISOSURF, VOXEL_REPRESENT_AXIAL_SLICE, VOXEL_REPRESENT_SLICE,
  VOXEL_REPRESENT_END
}
 
enum  { FILE_TYPE_NULL, FILE_TYPE_XML, FILE_TYPE_POS }
 
enum  { FILTER_ERR_ABORT = 1000000 }
 Generic filter error codes. More...
 

Functions

void assignIonData (Point3D &p, const IonHit &h)
 
void assignIonData (IonHit &p, const IonHit &h)
 
size_t numElements (const std::vector< const FilterStreamData *> &vm, unsigned int mask=STREAMTYPE_MASK_ALL)
 Return the number of elements in a vector of filter data - i.e. the sum of the number of objects within each stream. Only masked streams (STREAM_TYPE_*) will be counted. More...
 

Variables

const unsigned int NUM_CALLBACK =50000
 
const unsigned int IONDATA_SIZE =4
 
const char * FILTER_NAMES []
 
const unsigned int NUM_STREAM_TYPES =6
 
const unsigned int STREAMTYPE_MASK_ALL = ((1<<(NUM_STREAM_TYPES)) -1 ) & 0x000000FF
 
const char * STREAM_NAMES []
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Filter types – must match array FILTER_NAMES.

Enumerator
FILTER_TYPE_DATALOAD 
FILTER_TYPE_IONDOWNSAMPLE 
FILTER_TYPE_RANGEFILE 
FILTER_TYPE_SPECTRUMPLOT 
FILTER_TYPE_IONCLIP 
FILTER_TYPE_IONCOLOURFILTER 
FILTER_TYPE_PROFILE 
FILTER_TYPE_BOUNDBOX 
FILTER_TYPE_TRANSFORM 
FILTER_TYPE_EXTERNALPROC 
FILTER_TYPE_SPATIAL_ANALYSIS 
FILTER_TYPE_CLUSTER_ANALYSIS 
FILTER_TYPE_VOXELS 
FILTER_TYPE_IONINFO 
FILTER_TYPE_ANNOTATION 
FILTER_TYPE_ENUM_END 

◆ anonymous enum

anonymous enum
Enumerator
STREAM_TYPE_IONS 
STREAM_TYPE_PLOT 
STREAM_TYPE_PLOT2D 
STREAM_TYPE_DRAW 
STREAM_TYPE_RANGE 
STREAM_TYPE_VOXEL 

◆ anonymous enum

anonymous enum
Enumerator
BINDING_CYLINDER_RADIUS 
BINDING_SPHERE_RADIUS 
BINDING_CYLINDER_ORIGIN 
BINDING_SPHERE_ORIGIN 
BINDING_PLANE_ORIGIN 
BINDING_CYLINDER_DIRECTION 
BINDING_PLANE_DIRECTION 
BINDING_RECT_TRANSLATE 
BINDING_RECT_CORNER_MOVE 

◆ anonymous enum

anonymous enum
Enumerator
VOXEL_REPRESENT_POINTCLOUD 
VOXEL_REPRESENT_ISOSURF 
VOXEL_REPRESENT_AXIAL_SLICE 
VOXEL_REPRESENT_SLICE 
VOXEL_REPRESENT_END 

◆ anonymous enum

anonymous enum
Enumerator
FILE_TYPE_NULL 
FILE_TYPE_XML 
FILE_TYPE_POS 

◆ anonymous enum

anonymous enum

Generic filter error codes.

Enumerator
FILTER_ERR_ABORT 

Function Documentation

◆ assignIonData() [1/2]

void assignIonData ( Point3D p,
const IonHit h 
)
inline

References IonHit::getPosRef().

Referenced by Filter::buildSplitPoints(), and Filter::extendDataVector().

Here is the caller graph for this function:

◆ assignIonData() [2/2]

void assignIonData ( IonHit p,
const IonHit h 
)
inline

◆ numElements()

size_t numElements ( const std::vector< const FilterStreamData *> &  vm,
unsigned int  mask = STREAMTYPE_MASK_ALL 
)

Return the number of elements in a vector of filter data - i.e. the sum of the number of objects within each stream. Only masked streams (STREAM_TYPE_*) will be counted.

Referenced by assignIonData(), Filter::collateIons(), computeConvexHull(), IonClipFilter::refresh(), IonColourFilter::refresh(), TransformFilter::refresh(), BoundingBoxFilter::refresh(), SpectrumPlotFilter::refresh(), IonDownsampleFilter::refresh(), RangeFileFilter::refresh(), IonInfoFilter::refresh(), ProfileFilter::refresh(), SpatialAnalysisFilter::refresh(), FilterTree::refreshFilterTree(), and VisController::updateScene().

Here is the caller graph for this function:

Variable Documentation

◆ FILTER_NAMES

const char* FILTER_NAMES[]

◆ IONDATA_SIZE

const unsigned int IONDATA_SIZE =4

◆ NUM_CALLBACK

const unsigned int NUM_CALLBACK =50000

◆ NUM_STREAM_TYPES

const unsigned int NUM_STREAM_TYPES =6

◆ STREAM_NAMES

const char* STREAM_NAMES[]

◆ STREAMTYPE_MASK_ALL

const unsigned int STREAMTYPE_MASK_ALL = ((1<<(NUM_STREAM_TYPES)) -1 ) & 0x000000FF