3Depict
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | List of all members
RangeFileFilter Class Reference

Range file filter. More...

#include <rangeFile.h>

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

Public Member Functions

void setFormat (unsigned int format)
 Set the format to assume when loading file. More...
 
std::vector< char > getEnabledRanges () const
 
void setEnabledRanges (const std::vector< char > &i)
 
std::vector< char > getEnabledIons () const
 
 RangeFileFilter ()
 
FiltercloneUncached () const
 Duplicate filter contents, excluding cache. More...
 
void setRangeFilename (std::string filename)
 
virtual size_t numBytesForCache (size_t nObjects) const
 Returns -1, as range file cache size is dependant upon input. More...
 
unsigned int getType () const
 Returns FILTER_TYPE_RANGEFILE. More...
 
virtual void initFilter (const std::vector< const FilterStreamData *> &dataIn, std::vector< const FilterStreamData *> &dataOut)
 Propagates a range stream data through the filter init stage. Blocks any other range stream datas. More...
 
unsigned int refresh (const std::vector< const FilterStreamData *> &dataIn, std::vector< const FilterStreamData *> &getOut, ProgressData &progress)
 Apply filter to new data, updating cache as needed. Vector of returned pointers must be deleted manually, first checking ->cached. More...
 
bool updateRng ()
 Force a re-read of the rangefile, returning false on failure, true on success. More...
 
const RangeFilegetRange () const
 
void setRangeData (const RangeFile &newRange)
 Set the internal data using the specified range object. More...
 
virtual std::string typeString () const
 Return filter type as std::string. More...
 
unsigned int getRefreshBlockMask () const
 Get the bitmask encoded list of filterStreams that this filter blocks from propagation. More...
 
unsigned int getRefreshEmitMask () const
 Get the bitmask encoded list of filterstreams that this filter emits from ::refresh. More...
 
unsigned int getRefreshUseMask () const
 Mask of filter streams that will be examined by the filter in its computation. More...
 
void getProperties (FilterPropGroup &propertyList) const
 Get the properties of the filter, in key-value form. First vector is for each output. More...
 
bool setProperty (unsigned int key, const std::string &value, bool &needUpdate)
 Set the properties for the nth filter. More...
 
virtual void setPropFromRegion (unsigned int method, unsigned int regionID, float newPos)
 Set a region update. More...
 
std::string getSpecificErrString (unsigned int code) const
 Get the human readable error string associated with a particular error code during refresh(...) More...
 
bool writeState (std::ostream &f, unsigned int format, unsigned int depth=0) const
 Dump state to output stream, using specified format. More...
 
virtual bool writePackageState (std::ostream &f, unsigned int format, const std::vector< std::string > &valueOverrides, unsigned int depth=0) const
 Modified version of writeState for packaging. By default simply calls writeState. More...
 
bool readState (xmlNodePtr &node, const std::string &packDir)
 Read the state of the filter from XML file. If this. More...
 
virtual void getStateOverrides (std::vector< std::string > &overrides) const
 filter has state overrides More...
 
void setPropFromBinding (const SelectionBinding &b)
 Set internal property value using a selection binding (Disabled, this filter has no bindings) More...
 
bool getDropUnranged () const
 
- Public Member Functions inherited from Filter
 Filter ()
 
virtual ~Filter ()
 
virtual void clearCache ()
 Erase cache. More...
 
virtual void clearDevices ()
 Erase any active devices. More...
 
std::string getErrString (unsigned int code) const
 Get the human readable error string associated with a particular error code during refresh(...). Do not override this for specific filter errors. Override getSpecificErrString. More...
 
std::string trueName () const
 Return the unique name for a given filter – DO NOT TRANSLATE. More...
 
void setCaching (bool enableCache)
 Enable/disable caching for this filter. More...
 
bool haveCache () const
 Have cached output data? More...
 
virtual std::string getUserString () const
 Return a user-specified string, or just the typestring if user set string not active. More...
 
virtual void setUserString (const std::string &str)
 Set a user-specified string return value is. More...
 
void getSelectionDevices (std::vector< SelectionDevice *> &devices) const
 Get the selection devices for this filter. MUST be called after refresh() More...
 
void updateOutputInfo (const std::vector< const FilterStreamData *> &dataOut)
 Update the output statistics for this filter (num items of streams of each type output) More...
 
virtual bool canBeHazardous () const
 Can this filter perform actions that are potentially a security concern? More...
 
unsigned int getNumOutput (unsigned int streamType) const
 Get the number of outputs for the specified type during the filter's last refresh. More...
 
void getConsoleStrings (std::vector< std::string > &v) const
 Get the filter messages from the console. To erase strings, either call erase, or erase cahche. More...
 
void clearConsole ()
 
virtual bool monitorNeedsRefresh () const
 
virtual bool isPureDataSource () const
 
virtual bool isUsefulAsAppend () const
 
template<>
bool applyPropertyNow (bool &prop, const std::string &val, bool &needUp)
 
template<>
bool applyPropertyNow (Point3D &prop, const std::string &val, bool &needUp)
 
template<>
bool applyPropertyNow (std::string &prop, const std::string &val, bool &needUp)
 

Additional Inherited Members

- Static Public Member Functions inherited from Filter
static void setStrongRandom (bool strongRand)
 Should filters use strong randomisation (where applicable) or not? More...
 
template<typename T >
static void getStreamsOfType (const std::vector< const FilterStreamData *> &vec, std::vector< const T *> &dataOut)
 
- Static Public Attributes inherited from Filter
static ATOMIC_BOOLwantAbort = 0
 
- Protected Member Functions inherited from Filter
void convertFileStringToAbsolute (const string &basePath, std::string &s) const
 
void propagateCache (std::vector< const FilterStreamData *> &dataOut) const
 Propagate the cache into output. More...
 
template<class T >
bool applyPropertyNow (T &oldProp, const std::string &newVal, bool &needUp)
 
void cacheAsNeeded (FilterStreamData *s)
 
- Static Protected Member Functions inherited from Filter
static unsigned int collateIons (const std::vector< const FilterStreamData *> &dataIn, std::vector< IonHit > &outVector, ProgressData &prog, size_t totalDataSize=(size_t) -1)
 
static unsigned int collateIons (const std::vector< const FilterStreamData *> &dataIn, std::vector< Point3D > &outVector, ProgressData &prog, size_t totalDataSize=(size_t) -1)
 
static void propagateStreams (const std::vector< const FilterStreamData *> &dataIn, std::vector< const FilterStreamData *> &dataOut, size_t mask=STREAMTYPE_MASK_ALL, bool invertMask=false)
 Propagate the given input data to an output vector. More...
 
static std::string getBaseErrString (unsigned int errCode)
 Get the generic (applies to any filter) error codes. More...
 
template<class T >
static unsigned int extendDataVector (std::vector< T > &dest, const std::vector< IonHit > &vIonData, unsigned int &progress, size_t offset)
 Extend a point data vector using some ion data. More...
 
template<class T >
static size_t buildSplitPoints (const vector< const FilterStreamData *> &dataIn, ProgressData &progress, size_t totalDataSize, const RangeFile *rngF, const vector< bool > &pSourceEnabled, const vector< bool > &pTargetEnabled, vector< T > &pSource, vector< T > &pTarget)
 
static unsigned int getIonstreamIonID (const IonStreamData *d, const RangeFile *r)
 
static void demuxKey (unsigned int key, unsigned int &keyType, unsigned int &ionOffset)
 Hack to merge/extract two bits of information into a single property key. More...
 
static unsigned int muxKey (unsigned int keyType, unsigned int ionOffset)
 
- Protected Attributes inherited from Filter
bool cache
 
bool cacheOK
 
unsigned int numStreamsLastRefresh [NUM_STREAM_TYPES]
 Array of the number of streams propagated on last refresh. More...
 
std::vector< std::string > consoleOutput
 Temporary console output. Should be only nonzero size if messages are present. More...
 
std::string userString
 User settable labelling string (human readable ID, etc etc) More...
 
std::vector< FilterStreamData * > filterOutputs
 
std::vector< SelectionDevice * > devices
 User interaction "Devices" associated with this filter. More...
 
- Static Protected Attributes inherited from Filter
static bool strongRandom = false
 

Detailed Description

Range file filter.

Constructor & Destructor Documentation

◆ RangeFileFilter()

RangeFileFilter::RangeFileFilter ( )

References RANGE_FORMAT_ORNL.

Referenced by cloneUncached(), getEnabledIons(), and writePackageState().

Here is the caller graph for this function:

Member Function Documentation

◆ cloneUncached()

Filter * RangeFileFilter::cloneUncached ( ) const
virtual

Duplicate filter contents, excluding cache.

Implements Filter.

References Filter::cache, Filter::cacheOK, RangeFileFilter(), and Filter::userString.

Referenced by getEnabledIons().

Here is the caller graph for this function:

◆ getDropUnranged()

bool RangeFileFilter::getDropUnranged ( ) const
inline

Referenced by FilterTreeAnalyse::analyse().

Here is the caller graph for this function:

◆ getEnabledIons()

std::vector<char> RangeFileFilter::getEnabledIons ( ) const
inline

References cloneUncached(), and RangeFileFilter().

Referenced by filterAltersComposition().

Here is the caller graph for this function:

◆ getEnabledRanges()

std::vector<char> RangeFileFilter::getEnabledRanges ( ) const
inline

Referenced by filterAltersComposition().

Here is the caller graph for this function:

◆ getProperties()

void RangeFileFilter::getProperties ( FilterPropGroup propertyList) const
virtual

◆ getRange()

const RangeFile& RangeFileFilter::getRange ( ) const
inline

References setRangeData().

Referenced by ExportRngDialog::addRangeData(), FilterTree::modifyRangeFiles(), and ExportRngDialog::OnListRangeItemActivate().

Here is the caller graph for this function:

◆ getRefreshBlockMask()

unsigned int RangeFileFilter::getRefreshBlockMask ( ) const
virtual

Get the bitmask encoded list of filterStreams that this filter blocks from propagation.

Implements Filter.

References STREAM_TYPE_IONS, and STREAM_TYPE_RANGE.

Referenced by refresh(), and typeString().

Here is the caller graph for this function:

◆ getRefreshEmitMask()

unsigned int RangeFileFilter::getRefreshEmitMask ( ) const
virtual

Get the bitmask encoded list of filterstreams that this filter emits from ::refresh.

Implements Filter.

References STREAM_TYPE_DRAW, STREAM_TYPE_IONS, and STREAM_TYPE_RANGE.

Referenced by typeString().

Here is the caller graph for this function:

◆ getRefreshUseMask()

unsigned int RangeFileFilter::getRefreshUseMask ( ) const
virtual

Mask of filter streams that will be examined by the filter in its computation.

Implements Filter.

References STREAM_TYPE_IONS.

Referenced by typeString().

Here is the caller graph for this function:

◆ getSpecificErrString()

std::string RangeFileFilter::getSpecificErrString ( unsigned int  code) const
virtual

Get the human readable error string associated with a particular error code during refresh(...)

Implements Filter.

References ASSERT, COMPILE_ASSERT, RANGEFILE_ERR_ENUM_END, and THREEDEP_ARRAYSIZE.

Referenced by typeString().

Here is the caller graph for this function:

◆ getStateOverrides()

void RangeFileFilter::getStateOverrides ( std::vector< std::string > &  overrides) const
virtual

filter has state overrides

Reimplemented from Filter.

Referenced by typeString().

Here is the caller graph for this function:

◆ getType()

unsigned int RangeFileFilter::getType ( ) const
inlinevirtual

Returns FILTER_TYPE_RANGEFILE.

Implements Filter.

References FILTER_TYPE_RANGEFILE, initFilter(), refresh(), and updateRng().

◆ initFilter()

void RangeFileFilter::initFilter ( const std::vector< const FilterStreamData *> &  dataIn,
std::vector< const FilterStreamData *> &  dataOut 
)
virtual

Propagates a range stream data through the filter init stage. Blocks any other range stream datas.

Reimplemented from Filter.

References ASSERT, FilterStreamData::cached, RangeStreamData::enabledIons, RangeStreamData::enabledRanges, RangeFile::getNumIons(), RangeFile::getNumRanges(), FilterStreamData::parent, RangeStreamData::rangeFile, and STREAM_TYPE_RANGE.

Referenced by getType().

Here is the caller graph for this function:

◆ numBytesForCache()

size_t RangeFileFilter::numBytesForCache ( size_t  nObjects) const
virtual

Returns -1, as range file cache size is dependant upon input.

Implements Filter.

References IONDATA_SIZE.

Referenced by setRangeFilename().

Here is the caller graph for this function:

◆ readState()

bool RangeFileFilter::readState ( xmlNodePtr &  node,
const std::string &  packDir 
)
virtual

◆ refresh()

unsigned int RangeFileFilter::refresh ( const std::vector< const FilterStreamData *> &  dataIn,
std::vector< const FilterStreamData *> &  dataOut,
ProgressData progress 
)
virtual

◆ setEnabledRanges()

void RangeFileFilter::setEnabledRanges ( const std::vector< char > &  i)
inline

◆ setFormat()

void RangeFileFilter::setFormat ( unsigned int  format)

Set the format to assume when loading file.

References ASSERT, and RANGE_FORMAT_END_OF_ENUM.

◆ setProperty()

bool RangeFileFilter::setProperty ( unsigned int  key,
const std::string &  value,
bool &  needUpdate 
)
virtual

◆ setPropFromBinding()

void RangeFileFilter::setPropFromBinding ( const SelectionBinding b)
virtual

Set internal property value using a selection binding (Disabled, this filter has no bindings)

Implements Filter.

References ASSERT.

Referenced by typeString().

Here is the caller graph for this function:

◆ setPropFromRegion()

void RangeFileFilter::setPropFromRegion ( unsigned int  method,
unsigned int  regionID,
float  newPos 
)
virtual

◆ setRangeData()

void RangeFileFilter::setRangeData ( const RangeFile newRange)

Set the internal data using the specified range object.

References Filter::clearCache(), RangeFile::getNumIons(), and RangeFile::getNumRanges().

Referenced by getRange(), FilterTree::modifyRangeFiles(), MainWindowFrame::OnDropFiles(), and writePackageState().

Here is the caller graph for this function:

◆ setRangeFilename()

void RangeFileFilter::setRangeFilename ( std::string  filename)
inline

References numBytesForCache().

Referenced by MainWindowFrame::OnDropFiles().

Here is the caller graph for this function:

◆ typeString()

virtual std::string RangeFileFilter::typeString ( ) const
inlinevirtual

◆ updateRng()

bool RangeFileFilter::updateRng ( )

Force a re-read of the rangefile, returning false on failure, true on success.

References RangeFile::getNumIons(), RangeFile::getNumRanges(), and RangeFile::openGuessFormat().

Referenced by getType(), and setProperty().

Here is the caller graph for this function:

◆ writePackageState()

bool RangeFileFilter::writePackageState ( std::ostream &  f,
unsigned int  format,
const std::vector< std::string > &  valueOverrides,
unsigned int  depth = 0 
) const
virtual

◆ writeState()

bool RangeFileFilter::writeState ( std::ostream &  f,
unsigned int  format,
unsigned int  depth = 0 
) const
virtual

Dump state to output stream, using specified format.

Implements Filter.

References ASSERT, boolStrEnc(), convertFileStringToCanonical(), escapeXML(), RangeFile::getColour(), ColourRGBA::rgbString(), STATE_FORMAT_XML, tabs(), ColourRGBAf::toColourRGBA(), Filter::trueName(), and Filter::userString.

Referenced by typeString(), and writePackageState().

Here is the caller graph for this function:

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