FreePOOMA
2.4.1
|
This intersector handles matching layouts only. More...
#include <SimpleIntersector.h>
Public Types | |
enum | { dimensions = Dim } |
typedef SimpleIntersectorData < Dim > | SimpleIntersectorData_t |
typedef SimpleIntersector< Dim > | This_t |
typedef SimpleIntersectorData_t::INode_t | INode_t |
typedef SimpleIntersectorData_t::INodeContainer_t | INodeContainer_t |
typedef SimpleIntersectorData_t::const_iterator | const_iterator |
typedef RefCountedPtr < SimpleIntersectorData_t > | DataPtr_t |
typedef NullCombine | Combine_t |
Public Member Functions | |
SimpleIntersector (const Interval< Dim > &domain, const GuardLayers< Dim > &extent) | |
SimpleIntersector (const This_t &model) | |
This_t & | operator= (const This_t &model) |
~SimpleIntersector () | |
DataPtr_t & | data () |
const DataPtr_t & | data () const |
const_iterator | begin () const |
const_iterator | end () const |
int | size () const |
template<class Engine > | |
void | intersect (const Engine &l) const |
bool | useGuards () const |
void | useGuards (bool f) const |
template<class A > | |
void | operator() (const A &a, bool f) const |
This intersector handles matching layouts only.
It also assumes you know in advance the amount of guards used. But it allows differentiating between engines that use or do not use guards.
It doesnt intersect individual layouts but is done with creating INodes from the first layout it sees by intersecting with the domain. Use with care as no checks are present that assure layouts do really match. So this is simple and cheap, but not safe.
typedef SimpleIntersectorData<Dim> SimpleIntersector< Dim >::SimpleIntersectorData_t |
typedef SimpleIntersector<Dim> SimpleIntersector< Dim >::This_t |
typedef SimpleIntersectorData_t::INode_t SimpleIntersector< Dim >::INode_t |
typedef SimpleIntersectorData_t::INodeContainer_t SimpleIntersector< Dim >::INodeContainer_t |
typedef SimpleIntersectorData_t::const_iterator SimpleIntersector< Dim >::const_iterator |
typedef RefCountedPtr<SimpleIntersectorData_t> SimpleIntersector< Dim >::DataPtr_t |
typedef NullCombine SimpleIntersector< Dim >::Combine_t |
SimpleIntersector< Dim >::SimpleIntersector | ( | const Interval< Dim > & | domain, |
const GuardLayers< Dim > & | extent | ||
) | [inline] |
SimpleIntersector< Dim >::SimpleIntersector | ( | const This_t & | model | ) | [inline] |
SimpleIntersector< Dim >::~SimpleIntersector | ( | ) | [inline] |
This_t& SimpleIntersector< Dim >::operator= | ( | const This_t & | model | ) | [inline] |
DataPtr_t& SimpleIntersector< Dim >::data | ( | ) | [inline] |
const DataPtr_t& SimpleIntersector< Dim >::data | ( | ) | const [inline] |
const_iterator SimpleIntersector< Dim >::begin | ( | ) | const [inline] |
References SimpleIntersector< Dim >::data(), and SimpleIntersectorData< Dim >::inodes_m.
const_iterator SimpleIntersector< Dim >::end | ( | ) | const [inline] |
References SimpleIntersector< Dim >::data(), and SimpleIntersectorData< Dim >::inodes_m.
int SimpleIntersector< Dim >::size | ( | ) | const [inline] |
References SimpleIntersector< Dim >::data(), and SimpleIntersectorData< Dim >::inodes_m.
void SimpleIntersector< Dim >::intersect | ( | const Engine & | l | ) | const [inline] |
bool SimpleIntersector< Dim >::useGuards | ( | ) | const [inline] |
Referenced by SimpleIntersector< Dim >::intersect(), and SimpleIntersector< Dim >::operator()().
void SimpleIntersector< Dim >::useGuards | ( | bool | f | ) | const [inline] |
void SimpleIntersector< Dim >::operator() | ( | const A & | a, |
bool | f | ||
) | const [inline] |
References expressionApply(), and SimpleIntersector< Dim >::useGuards().