104 #ifndef _MESHBAREITEMS_HH_
105 #define _MESHBAREITEMS_HH_
121 #include <feel/feelcore/feel.hpp>
211 std::pair<BarePoint, bool>
214 return std::make_pair(
BarePoint( i ),
true );
233 std::pair<BareEdge, bool>
238 return std::make_pair(
BareEdge( i, j ),
true );
243 return std::make_pair(
BareEdge( j, i ),
false );
248 std::pair<BareEdge, bool>
271 be.
first = i < j ? i : j;
313 std::pair<BareFace, bool>
334 std::pair<BareFace, bool>
382 return e1 == e2 || e1 > e2;
402 return e1 == e2 || e1 < e2;
426 template <
typename T>
486 template <
typename BareItem>
490 typedef std::map<BareItem, Feel::size_type, cmpBareItem<BareItem> > container;
491 typedef typename container::size_type size_type;
492 typedef typename container::iterator iterator;
493 typedef typename container::const_iterator const_iterator;
494 typedef std::pair<const BareItem, size_type> value_type;
499 bool isThere( BareItem
const & )
const;
502 size_type
id( BareItem
const & )
const;
505 bool setId( BareItem
const & item, size_type
const i );
508 std::pair<size_type, bool>
addIfNotThere( BareItem
const & );
511 std::pair<size_type, bool>
addIfNotThere( BareItem
const &,
const size_type
id );
519 return container::size();
542 template <
typename BareItem>
545 size_type getId( std::pair<BareItem, size_type>
const & i )
551 template <
typename BareItem>
553 BareItem getItem( std::pair<BareItem, size_type>
const & i )
560 template <
class BareItem>
567 template <
class BareItem>
572 return find( s ) != container::end();
575 template <
class BareItem>
580 const_iterator i = find( s );
582 if ( i != container::end() )
595 template <
class BareItem>
597 typename BareItemsHandler<BareItem>::size_type
600 const_iterator i = find( s );
602 if ( i != container::end() )
609 template <
class BareItem>
611 std::pair<typename BareItemsHandler<BareItem>::size_type,
bool>
614 std::pair<typename BareItemsHandler<BareItem>::iterator,
bool> i( insert( std::make_pair( s, M_id_count ) ) );
619 return std::make_pair( ( i.first ) ->second, i.second );
622 template <
class BareItem>
624 std::pair<typename BareItemsHandler<BareItem>::size_type,
bool>
627 std::pair<typename BareItemsHandler<BareItem>::iterator,
bool> i( insert( std::make_pair( s,
id ) ) );
629 ( i.first ) ->second =
id;
640 return std::make_pair(
id, i.second );
643 template <
class BareItem>
647 return erase( s ) != 0;
650 template <
typename BareItem>
654 std::cout <<
"BareItemsHandler: " << std::endl;
655 std::cout <<
"Number of Items stored: " << this->size() << std::endl;
656 std::cout <<
"Max Id stored : " << this->maxId() << std::endl;
657 std::cout <<
"End of Information";
size_type third
Definition: bareitems.hpp:204
std::pair< BareFace, bool > makeBareFace(size_type const i, size_type const j, size_type const k)
It creates Bare Face objects from three Point size_type's.
Definition: bareitems.cpp:35
Bare Items Handler.
Definition: bareitems.hpp:487
The Point basis class It contains the attributes common to all Points In particular, it contains the one size_type's (first) of the point.
Definition: bareitems.hpp:131
size_type id(BareItem const &) const
To modify size_type of bareitem item in the list.
Definition: bareitems.hpp:598
std::pair< size_type, bool > addIfNotThere(BareItem const &)
if not there adds it, and sets size_type id
Definition: bareitems.hpp:612
size_type first
Definition: bareitems.hpp:142
BareEdge setBareEdge(size_type const i, size_type const j)
It creates a BareEdge, ignoring orientation.
Definition: bareitems.hpp:268
bool setId(BareItem const &item, size_type const i)
if not there adds it, the item size_type is autogenerated
Definition: bareitems.hpp:578
size_type first
Definition: bareitems.hpp:200
size_type howMany() const
Max size_type currently in use.
Definition: bareitems.hpp:517
bool isThere(BareItem const &) const
Returns size_type of a BareItem. 0 if not there.
Definition: bareitems.hpp:570
BareItemsHandler()
is the item there? I just ask
Definition: bareitems.hpp:561
BareEdge setBareEdgeNo(size_type const i, size_type const j)
It creates a non-standard BareEdge.
Definition: bareitems.hpp:294
bool isThereDel(BareItem const &)
The # of entities ones actually stored.
Definition: bareitems.hpp:645
BareEdge()
Definition: bareitems.hpp:157
BareEdge(size_type i, size_type j)
Definition: bareitems.hpp:161
size_type first
Definition: bareitems.hpp:165
BareFace()
Definition: bareitems.hpp:184
BareFace(size_type i, size_type j, size_type k)
Definition: bareitems.hpp:188
The base Face class.
Definition: bareitems.hpp:181
BarePoint()
Definition: bareitems.hpp:134
size_t size_type
Indices (starting from 0)
Definition: feelcore/feel.hpp:319
size_type second
Definition: bareitems.hpp:168
std::pair< BareEdge, bool > makeBareEdge(size_type const i, size_type const j)
It creates a BareEdge end returns the orientation of the created edge with respect to the given data...
Definition: bareitems.hpp:234
Definition: bareitems.hpp:427
size_type maxId() const
Writes info in output.
Definition: bareitems.hpp:523
BareFace(size_type i, const BareEdge &e)
Definition: bareitems.hpp:196
The Edge basis class It contains the attributes common to all Edges In particular, it contains the two size_type's (first and second) of the points at the two ends of the edge.
Definition: bareitems.hpp:154
BarePoint(size_type i)
Definition: bareitems.hpp:138
size_type second
Definition: bareitems.hpp:202