Node class that supports visual layout More...
#include <visualnode.hh>
Public Member Functions | |
VisualNode (int p) | |
Construct with parent p. | |
VisualNode (Space *root) | |
Constructor for root node from root and b. | |
bool | isHidden (void) |
Return if node is hidden. | |
void | setHidden (bool h) |
Set hidden state to h. | |
void | setStop (bool h) |
Set stop state to h. | |
void | dirtyUp (const NodeAllocator &na) |
Mark all nodes up the path to the parent as dirty. | |
void | layout (const NodeAllocator &na) |
Compute layout for the subtree of this node. | |
int | getOffset (void) |
Return offset off this node from its parent. | |
void | setOffset (int n) |
Set offset of this node, relative to its parent. | |
bool | isDirty (void) |
Return whether node is marked as dirty. | |
void | setDirty (bool d) |
Mark node as dirty. | |
bool | childrenLayoutIsDone (void) |
Return whether the layout of the node's children has been completed. | |
void | setChildrenLayoutDone (bool d) |
Mark node whether the layout of the node's children has been completed. | |
bool | isMarked (void) |
Return whether node is marked. | |
void | setMarked (bool m) |
Set mark of this node. | |
bool | isBookmarked (void) |
Return whether node is bookmarked. | |
void | setBookmarked (bool m) |
Set bookmark of this node. | |
void | pathUp (const NodeAllocator &na) |
Set all nodes from the node to the root to be on the path. | |
void | unPathUp (const NodeAllocator &na) |
Set all nodes from the node to the root not to be on the path. | |
bool | isOnPath (void) |
Return whether node is on the path. | |
int | getPathAlternative (const NodeAllocator &na) |
Return the alternative of the child that is on the path (-1 if none) | |
void | setOnPath (bool onPath0) |
Set whether node is on the path. | |
void | toggleHidden (const NodeAllocator &na) |
Toggle whether this node is hidden. | |
void | hideFailed (const NodeAllocator &na, bool onlyDirty=false) |
Hide all failed subtrees of this node. | |
void | unhideAll (const NodeAllocator &na) |
Unhide all nodes in the subtree of this node. | |
void | toggleStop (const NodeAllocator &na) |
Do not stop at this node. | |
void | unstopAll (const NodeAllocator &na) |
Do not stop at any stop node in the subtree of this node. | |
Shape * | getShape (void) |
Return the shape of this node. | |
void | setShape (Shape *s) |
Set the shape of this node. | |
void | computeShape (const NodeAllocator &na, VisualNode *root) |
Compute the shape according to the shapes of the children. | |
BoundingBox | getBoundingBox (void) |
Return the bounding box. | |
void | changedStatus (const NodeAllocator &na) |
Signal that the status has changed. | |
VisualNode * | findNode (const NodeAllocator &na, int x, int y) |
Find a node in this subtree at coordinates x, y. | |
std::string | toolTip (BestNode *curBest, int c_d, int a_d) |
Return string that is used as a tool tip. | |
size_t | size (void) const |
Return size information. | |
void | dispose (void) |
Free allocated memory. | |
![]() | |
SpaceNode (int p) | |
Construct node with parent p. | |
SpaceNode (Space *root) | |
Construct root node from Space root and branch-and-bound object better. | |
Space * | getSpace (NodeAllocator &na, BestNode *curBest, int c_d, int a_d) |
Return working space. Receiver must delete the space. | |
const Space * | getWorkingSpace (void) const |
Return working space (if present). | |
void | purge (const NodeAllocator &na) |
Clear working space and copy (if present and this is not the root). | |
bool | isCurrentBest (BestNode *curBest) |
Return whether this node is the currently best solution. | |
int | getNumberOfChildNodes (NodeAllocator &na, BestNode *curBest, Statistics &stats, int c_d, int a_d) |
Compute and return the number of children. | |
NodeStatus | getStatus (void) const |
Return current status of the node. | |
bool | isOpen (void) |
Return whether this node still has open children. | |
bool | hasFailedChildren (void) |
Return whether the subtree of this node has any failed children. | |
bool | hasSolvedChildren (void) |
Return whether the subtree of this node has any solved children. | |
bool | hasOpenChildren (void) |
Return whether the subtree of this node has any open children. | |
int | getNoOfOpenChildren (const NodeAllocator &na) |
Return number of open children. | |
void | setNoOfOpenChildren (int n) |
Set number of open children to n. | |
bool | hasCopy (void) |
Return whether the node has a copy. | |
bool | hasWorkingSpace (void) |
Return whether the node has a working space. | |
int | getAlternative (const NodeAllocator &na) const |
Return alternative number of this node. | |
const Choice * | getChoice (void) |
Return choice of this node. | |
![]() | |
Node (int p, bool failed=false) | |
Construct node with parent p. | |
int | getParent (void) const |
Return the parent. | |
VisualNode * | getParent (const NodeAllocator &na) const |
Return the parent. | |
VisualNode * | getChild (const NodeAllocator &na, int n) const |
Return child no n. | |
int | getIndex (const NodeAllocator &na) const |
Return index of this node. | |
bool | isRoot (void) const |
Check if this node is the root of a tree. | |
void | setNumberOfChildren (unsigned int n, NodeAllocator &na) |
Set the number of children to n and initialize children. | |
unsigned int | getNumberOfChildren (void) const |
Return the number of children. |
Protected Types | |
enum | VisualNodeFlags { DIRTY = SpaceNode::LASTBIT+1, CHILDRENLAYOUTDONE, HIDDEN, MARKED, ONPATH, BOOKMARKED } |
Flags for VisualNodes. More... | |
![]() | |
enum | SpaceNodeFlags { HASOPENCHILDREN = FIRSTBIT, HASFAILEDCHILDREN, HASSOLVEDCHILDREN } |
Flags for SpaceNodes. More... |
Protected Member Functions | |
bool | containsCoordinateAtDepth (int x, int depth) |
Check if the x at depth depth lies in this subtree. | |
![]() | |
void | setDistance (unsigned int d) |
Set distance from copy. | |
unsigned int | getDistance (void) const |
Return distance from copy. | |
void | setFlag (int flag, bool value) |
Set status flag. | |
bool | getFlag (int flag) const |
Return status flag. | |
void | setStatus (NodeStatus s) |
Set status to s. | |
void | acquireSpace (NodeAllocator &na, BestNode *curBest, int c_d, int a_d) |
Acquire working space, either from parent or by recomputation. | |
![]() | |
bool | isUndetermined (void) const |
Return whether this node is undetermined. | |
int | getChild (int n) const |
Return index of child no n. |
Protected Attributes | |
int | offset |
Relative offset from the parent node. | |
Shape * | shape |
Shape of this node. | |
![]() | |
Space * | copy |
A copy used for recomputation, or NULL. | |
const Choice * | choice |
unsigned int | nstatus |
Status of the node. |
Additional Inherited Members | |
![]() | |
typedef NodeAllocatorBase < VisualNode > | NodeAllocator |
![]() | |
static const int | LASTBIT = HASSOLVEDCHILDREN |
Last bit used for SpaceNode flags. |
Node class that supports visual layout
Definition at line 129 of file visualnode.hh.
|
protected |
Flags for VisualNodes.
Definition at line 132 of file visualnode.hh.
Gecode::Gist::VisualNode::VisualNode | ( | int | p | ) |
Construct with parent p.
Definition at line 70 of file visualnode.cpp.
Gecode::Gist::VisualNode::VisualNode | ( | Space * | root | ) |
Constructor for root node from root and b.
Definition at line 83 of file visualnode.cpp.
|
protected |
Check if the x at depth depth lies in this subtree.
Definition at line 193 of file visualnode.cpp.
|
inline |
Return if node is hidden.
Definition at line 137 of file visualnode.hpp.
|
inline |
Set hidden state to h.
Definition at line 142 of file visualnode.hpp.
|
inline |
Set stop state to h.
Definition at line 147 of file visualnode.hpp.
void Gecode::Gist::VisualNode::dirtyUp | ( | const NodeAllocator & | na | ) |
Mark all nodes up the path to the parent as dirty.
Definition at line 103 of file visualnode.cpp.
void Gecode::Gist::VisualNode::layout | ( | const NodeAllocator & | na | ) |
Compute layout for the subtree of this node.
Definition at line 114 of file visualnode.cpp.
|
inline |
Return offset off this node from its parent.
Definition at line 155 of file visualnode.hpp.
|
inline |
Set offset of this node, relative to its parent.
Definition at line 158 of file visualnode.hpp.
|
inline |
Return whether node is marked as dirty.
Definition at line 161 of file visualnode.hpp.
|
inline |
Mark node as dirty.
Definition at line 166 of file visualnode.hpp.
|
inline |
Return whether the layout of the node's children has been completed.
Definition at line 171 of file visualnode.hpp.
|
inline |
Mark node whether the layout of the node's children has been completed.
Definition at line 176 of file visualnode.hpp.
|
inline |
Return whether node is marked.
Definition at line 181 of file visualnode.hpp.
|
inline |
Set mark of this node.
Definition at line 186 of file visualnode.hpp.
|
inline |
Return whether node is bookmarked.
Definition at line 191 of file visualnode.hpp.
|
inline |
Set bookmark of this node.
Definition at line 196 of file visualnode.hpp.
void Gecode::Gist::VisualNode::pathUp | ( | const NodeAllocator & | na | ) |
Set all nodes from the node to the root to be on the path.
Definition at line 128 of file visualnode.cpp.
void Gecode::Gist::VisualNode::unPathUp | ( | const NodeAllocator & | na | ) |
Set all nodes from the node to the root not to be on the path.
Definition at line 136 of file visualnode.cpp.
|
inline |
Return whether node is on the path.
Definition at line 201 of file visualnode.hpp.
int Gecode::Gist::VisualNode::getPathAlternative | ( | const NodeAllocator & | na | ) |
Return the alternative of the child that is on the path (-1 if none)
Definition at line 145 of file visualnode.cpp.
|
inline |
Set whether node is on the path.
Definition at line 206 of file visualnode.hpp.
void Gecode::Gist::VisualNode::toggleHidden | ( | const NodeAllocator & | na | ) |
Toggle whether this node is hidden.
Definition at line 154 of file visualnode.cpp.
void Gecode::Gist::VisualNode::hideFailed | ( | const NodeAllocator & | na, |
bool | onlyDirty = false |
||
) |
Hide all failed subtrees of this node.
Definition at line 160 of file visualnode.cpp.
void Gecode::Gist::VisualNode::unhideAll | ( | const NodeAllocator & | na | ) |
Unhide all nodes in the subtree of this node.
Definition at line 167 of file visualnode.cpp.
void Gecode::Gist::VisualNode::toggleStop | ( | const NodeAllocator & | na | ) |
Do not stop at this node.
Definition at line 174 of file visualnode.cpp.
void Gecode::Gist::VisualNode::unstopAll | ( | const NodeAllocator & | na | ) |
Do not stop at any stop node in the subtree of this node.
Definition at line 183 of file visualnode.cpp.
|
inline |
Return the shape of this node.
Definition at line 211 of file visualnode.hpp.
void Gecode::Gist::VisualNode::setShape | ( | Shape * | s | ) |
Set the shape of this node.
Definition at line 340 of file visualnode.cpp.
void Gecode::Gist::VisualNode::computeShape | ( | const NodeAllocator & | na, |
VisualNode * | root | ||
) |
Compute the shape according to the shapes of the children.
Definition at line 348 of file visualnode.cpp.
|
inline |
Return the bounding box.
Definition at line 216 of file visualnode.hpp.
void Gecode::Gist::VisualNode::changedStatus | ( | const NodeAllocator & | na | ) |
Signal that the status has changed.
Definition at line 190 of file visualnode.cpp.
VisualNode * Gecode::Gist::VisualNode::findNode | ( | const NodeAllocator & | na, |
int | x, | ||
int | y | ||
) |
Find a node in this subtree at coordinates x, y.
Definition at line 209 of file visualnode.cpp.
std::string Gecode::Gist::VisualNode::toolTip | ( | BestNode * | curBest, |
int | c_d, | ||
int | a_d | ||
) |
Return string that is used as a tool tip.
Definition at line 239 of file visualnode.cpp.
size_t Gecode::Gist::VisualNode::size | ( | void | ) | const |
Return size information.
Definition at line 459 of file visualnode.cpp.
void Gecode::Gist::VisualNode::dispose | ( | void | ) |
Free allocated memory.
Reimplemented from Gecode::Gist::SpaceNode.
Definition at line 97 of file visualnode.cpp.
|
protected |
Relative offset from the parent node.
Definition at line 142 of file visualnode.hh.
|
protected |
Shape of this node.
Definition at line 144 of file visualnode.hh.