Name
Hierarchical vertex split -- hierarchical extension of the vertex split.
Description
Hierarchical vertex splits are the building blocks of hierarchical surfaces. They are derived from GtsSplit objects but add pointers to their parents in the vertex split tree and information on the state (collapsed or expanded) of their children.
Together with GtsEHeapPair fields these informations allow to manage any valid sequence of expansions or collapses.
Details
GTS_HSPLIT_CLASS()
#define GTS_HSPLIT_CLASS(klass) |
Casts klass to GtsHSplitClass.
GTS_IS_HSPLIT()
#define GTS_IS_HSPLIT(obj) |
Evaluates to TRUE if obj is a GtsHSplit, FALSE otherwise.
struct GtsHSplitClass
The hierarchical split vertex class derived from GtsSplitClass.
struct GtsHSplit
struct GtsHSplit {
GtsSplit split;
GtsEHeapPair * index;
GtsHSplit * parent;
guint nchild;
}; |
The hierarchical split vertex object.
gts_hsplit_collapse ()
Collapses the GtsSplit defined by hs, updates the expandable and
collapsable priority heaps of hsurface.
gts_hsplit_expand ()
Expands the GtsSplit defined by hs (which must be expandable)
and updates the priority heaps of hsurface.
gts_hsplit_force_expand ()
Forces the expansion of hs by first expanding all its dependencies not
already expanded.