Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
itascaxd::IRangeElement Class Referenceabstract

Interface to a filter element, which is a member of a IRange.. More...

#include <irangeelement.h>

Inheritance diagram for itascaxd::IRangeElement:

Public Types

enum  Category { GeometricCategory , PropertyBasedCategory }
 Enumeration specifying the category of the filter element, for UI organization. More...
 

Public Member Functions

virtual TType getType () const =0
 
virtual IString getName () const =0
 Returns a short String describing the type. Like "Cylinder" or "X Position".
 
virtual Category getCategory () const =0
 Returns the category of the.
 
virtual void copy (const IRangeElement *ire)=0
 
virtual bool isNot () const =0
 
virtual void setNot (bool b)=0
 
virtual bool isBy () const =0
 
virtual void setBy (const QString &)=0
 
virtual const QString & getByString () const =0
 
virtual TType getByTType () const =0
 
virtual bool getIsFish () const =0
 
virtual bool isThreadSafe () const =0
 
virtual bool isExtent () const =0
 
virtual void setExtent (bool b)=0
 
virtual bool isValid () const =0
 Returns FALSE if this type of filter element is not valid in the current state.
 
virtual bool isGeometric () const =0
 
virtual QStringList getAllByKeywords () const =0
 
virtual void destroy ()=0
 Destroys the filter element.
 
virtual bool isModelPaneCompatible ()
 
virtual void setDefaultsForModelPane ()
 

Public Attributes

shared::Signal< bool > notChanged
 
shared::Signal< bool > byAllChanged
 
shared::Signal< bool > extentChanged
 
shared::Signal< const QString & > byChanged
 
shared::Signal changed
 

Static Public Attributes

static const TType type_ = 0x04c815b9c
 The type identification number for this class, for use in convert_cast() and convert_getcast().
 

Detailed Description

Interface to a filter element, which is a member of a IRange..

Member Enumeration Documentation

◆ Category

enum itascaxd::IRangeElement::Category

Enumeration specifying the category of the filter element, for UI organization.

Enumerator
GeometricCategory 

Filtering is based on geometry.

PropertyBasedCategory 

Filtering is based on object meta-data.

Member Function Documentation

◆ copy()

virtual void itascaxd::IRangeElement::copy ( const IRangeElement * ire)
pure virtual

Copies the entries in the RangeElement.
ire is going to have to be "upcasted" to the derived type. This function has an ASSERT() that the type is the same, so call this first.

◆ getByString()

virtual const QString & itascaxd::IRangeElement::getByString ( ) const
pure virtual

Get the BY string.

See also
isBy()

◆ getByTType()

virtual TType itascaxd::IRangeElement::getByTType ( ) const
pure virtual

Get the BY TType.

See also
isBy()

◆ getIsFish()

virtual bool itascaxd::IRangeElement::getIsFish ( ) const
pure virtual

Used to specify that this is a FISH filter element so that one can be sure that the gui does not have access to this filter element

◆ getType()

virtual TType itascaxd::IRangeElement::getType ( ) const
pure virtual

Returns a string uniquely describing the type of filter element it is. The pointer value of the return string can be used for fast type comparisons.

◆ isBy()

virtual bool itascaxd::IRangeElement::isBy ( ) const
pure virtual

If by has been specified then the range is applied to the entitry help in the QString through the getAssociatedThings function in the IThing interface.
This is handled OUTSIDE the isIn function - so RangeElement implementations can ignore it.

◆ isExtent()

virtual bool itascaxd::IRangeElement::isExtent ( ) const
pure virtual

If EXTENT is specified, the selection of a object will be based on its extent, otherwise the object centroid is used.

◆ isGeometric()

virtual bool itascaxd::IRangeElement::isGeometric ( ) const
pure virtual

Returns FALSE if this type of filter element is not a geometric element, for example filter element type ID is not geometric, but filter element type X is geometric.

◆ isNot()

virtual bool itascaxd::IRangeElement::isNot ( ) const
pure virtual

If NOT is specified, it reverses the selection criteria for the RangeElement.
This is handled OUTSIDE the isIn function - so RangeElement implementations can ignore it.

◆ isThreadSafe()

virtual bool itascaxd::IRangeElement::isThreadSafe ( ) const
pure virtual

Returns true if the range element is thread safe meaning that it can be used in a multithreaded loop. An optional IThing pointer can be provided. If given the IThing pointer is what the range element is being applied to - the range element checks the type to ensure that the type isn't used in the range element filter. If it is then the range element should not be used in a multithreaded loop. Really, in that case, the range element shouldn't be used at all and should throw an error.

◆ setBy()

virtual void itascaxd::IRangeElement::setBy ( const QString & )
pure virtual

Sets the BY string.

See also
isBy()

◆ setExtent()

virtual void itascaxd::IRangeElement::setExtent ( bool b)
pure virtual

Sets the EXTENT flag.

See also
isExtent()

◆ setNot()

virtual void itascaxd::IRangeElement::setNot ( bool b)
pure virtual

Sets the NOT flag.

See also
isNot()

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