PeriDyno 1.0.0
Loading...
Searching...
No Matches
NodeIterator.h
Go to the documentation of this file.
1
16#pragma once
17#include <stack>
18#include <list>
19#include <map>
20#include <memory>
21
22#include "Object.h"
23
24namespace dyno
25{
26
27 class Node;
28
30 {
31 public:
33 NodeIterator(std::list<Node*>& nList, std::map<ObjectId, std::shared_ptr<Node>>& nMap);
34
36
37 bool operator== (const NodeIterator &iterator) const;
38 bool operator!= (const NodeIterator &iterator) const;
39
42
43 std::shared_ptr<Node> operator->() const;
44
45 std::shared_ptr<Node> get() const;
46
47 protected:
48 std::shared_ptr<Node> node_current = nullptr;
49
50 std::stack<std::shared_ptr<Node>> node_stack;
51
52 std::list<std::shared_ptr<Node>> mNodeList;
53
54 friend class Node;
55 };
56
57}
58
std::shared_ptr< Node > node_current
bool operator==(const NodeIterator &iterator) const
std::stack< std::shared_ptr< Node > > node_stack
std::shared_ptr< Node > get() const
friend class Node
bool operator!=(const NodeIterator &iterator) const
std::shared_ptr< Node > operator->() const
NodeIterator & operator++()
std::list< std::shared_ptr< Node > > mNodeList
This is an implementation of AdditiveCCD based on peridyno.
Definition Array.h:25
uint32_t ObjectId
Definition Object.h:110