Version: 6.3.1
Public Types | Public Member Functions | Private Attributes

SMESH_LogicalFilter Class Reference

#include <SMESH_LogicalFilter.hxx>

Inheritance diagram for SMESH_LogicalFilter:
Inheritance graph
[legend]

Public Types

enum  { LO_OR, LO_AND, LO_NOT, LO_UNDEFINED }

Public Member Functions

 SMESH_LogicalFilter (const QList< SUIT_SelectionFilter * > &, const int)
virtual ~SMESH_LogicalFilter ()
virtual bool isOk (const SUIT_DataOwner *) const
void setFilters (const QList< SUIT_SelectionFilter * > &)
void setOperation (const int)
const QList
< SUIT_SelectionFilter * > 
getFilters () const
int getOperation () const

Private Attributes

QList< SUIT_SelectionFilter * > myFilters
int myOperation

Detailed Description

Definition at line 35 of file SMESH_LogicalFilter.hxx.


Member Enumeration Documentation

anonymous enum
Enumerator:
LO_OR 
LO_AND 
LO_NOT 
LO_UNDEFINED 

Definition at line 38 of file SMESH_LogicalFilter.hxx.


Constructor & Destructor Documentation

SMESH_LogicalFilter::SMESH_LogicalFilter ( const QList< SUIT_SelectionFilter * > &  theFilters,
const int  theLogOp 
)

Definition at line 32 of file SMESH_LogicalFilter.cxx.

References setFilters(), and setOperation().

{
  setFilters(theFilters);
  setOperation(theLogOp);
}
SMESH_LogicalFilter::~SMESH_LogicalFilter ( ) [virtual]

Definition at line 43 of file SMESH_LogicalFilter.cxx.

{
}

Member Function Documentation

const QList< SUIT_SelectionFilter * > SMESH_LogicalFilter::getFilters ( ) const

Definition at line 89 of file SMESH_LogicalFilter.cxx.

References myFilters.

{
  return myFilters;
}
int SMESH_LogicalFilter::getOperation ( ) const

Definition at line 98 of file SMESH_LogicalFilter.cxx.

References myOperation.

{
  return myOperation;
}
bool SMESH_LogicalFilter::isOk ( const SUIT_DataOwner *  owner) const [virtual]

Definition at line 51 of file SMESH_LogicalFilter.cxx.

References LO_AND, LO_NOT, LO_OR, myFilters, and myOperation.

{
  SUIT_SelectionFilter* filter;
  foreach( filter, myFilters )
  {
    if (myOperation == LO_OR && filter->isOk(owner))
      return true;
    if (myOperation == LO_AND && !filter->isOk(owner))
      return false;
    if (myOperation == LO_NOT)
      return !filter->isOk(owner);
  }

  return (myOperation != LO_OR);
}
void SMESH_LogicalFilter::setFilters ( const QList< SUIT_SelectionFilter * > &  theFilters)

Definition at line 71 of file SMESH_LogicalFilter.cxx.

References myFilters.

Referenced by SMESH_LogicalFilter().

{
  myFilters = theFilters;
}
void SMESH_LogicalFilter::setOperation ( const int  theLogOp)

Definition at line 80 of file SMESH_LogicalFilter.cxx.

References myOperation.

Referenced by SMESH_LogicalFilter().

{
  myOperation = theLogOp;
}

Field Documentation

Definition at line 52 of file SMESH_LogicalFilter.hxx.

Referenced by getFilters(), isOk(), and setFilters().

Definition at line 53 of file SMESH_LogicalFilter.hxx.

Referenced by getOperation(), isOk(), and setOperation().

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS