|
AvogadroLibs
1.95.1
|
The GroupNode class provides common API for grouping child nodes. More...
#include <avogadro/rendering/groupnode.h>
Classes | |
| struct | NodeInfo |
Public Types | |
| enum | NodeType { ALL = 0, NONE = -1, UI = 1, GEOMETRY = 2 } |
Public Member Functions | |
| GroupNode (GroupNode *parent=nullptr) | |
| void | accept (Visitor &) override |
| void | addChild (Node *node, NodeType ui=NodeType::GEOMETRY) |
| Add a child node, this node will have its parent set and will be deleted by this node upon destruction. More... | |
| void | addUIChild (Node *node) |
| Add a child node, this node will have its parent set and will be deleted by this node upon destruction. More... | |
| bool | removeChild (Node *node) |
| Remove child node, this node will no longer be deleted. More... | |
| Node * | child (size_t index) |
| Get the child Node at the specified index. More... | |
| bool | hasChild (Node *node) const |
| check if the Node exists in this GroupNode. More... | |
| size_t | childCount () const |
| std::list< NodeInfo > & | children () |
| Get a reference to the child nodes list. | |
| const std::list< NodeInfo > & | children () const |
| void | clear () |
| Remove all non UI-children. | |
| void | clearUI () |
| Remove all UI-children. | |
Public Member Functions inherited from Node | |
| const GroupNode * | parent () const |
| Get a pointer to the node's parent. More... | |
| GroupNode * | parent () |
| void | setVisible (bool visibility) |
| Set the visibility of the node. More... | |
| bool | isVisible () const |
| Get the current visibility of the node. More... | |
| template<typename T > | |
| T * | cast () |
| Attempt to dynamic_cast to specified node type. More... | |
| template<typename T > | |
| const T * | cast () const |
Protected Member Functions | |
| void | clear (NodeType type) |
Protected Member Functions inherited from Node | |
| void | setParent (GroupNode *parent) |
| Set the parent node for the node. More... | |
Protected Attributes | |
| std::list< NodeInfo > | m_children |
Protected Attributes inherited from Node | |
| GroupNode * | m_parent |
| bool | m_visible |
The GroupNode may be used to group items together, but for most other purposes a more derived Node type would be the correct choice.
|
overridevirtual |
Accept a visit from our friendly visitor.
Reimplemented from Node.
| bool removeChild | ( | Node * | node | ) |
| node | Node to be removed. |
| Node* child | ( | size_t | index | ) |
| index | The index of the child. |
| bool hasChild | ( | Node * | node | ) | const |
| node | Node to search. |
| size_t childCount | ( | ) | const |
1.8.14