GroupLayoutBounding


Functions

void abstractMixedGraph::Layout_AlignWithOrigin () throw (ERRejected)
void abstractMixedGraph::Layout_TransformCoordinate (TDim i, TFloat cMin, TFloat cMax) throw (ERRejected)
void abstractMixedGraph::Layout_GetBoundingInterval (TDim i, TFloat &cMin, TFloat &cMax) const throw ()
void abstractMixedGraph::Layout_FreezeBoundingBox () throw ()
void abstractMixedGraph::Layout_DefaultBoundingBox () throw ()
void abstractMixedGraph::Layout_ReleaseBoundingBox () throw ()
void sparseRepresentation::Layout_SetBoundingInterval (TDim i, TFloat cMin, TFloat cMax) throw ()
void sparseRepresentation::Layout_AdoptBoundingBox (abstractMixedGraph &G) throw ()

Function Documentation

void Layout_AdoptBoundingBox abstractMixedGraph G  )  throw () [inherited]
 

Copy the bounding box from another graph object.

Parameters:
G The graph object to copy from
This is used by graph copy constructors to inherit the bounding box from the original graph object. Especially for proper subgraphs the node placement is the same as for the original graph (other than for the default bounding box rule.

void Layout_AlignWithOrigin  )  throw (ERRejected) [inherited]
 

Fit the current drawing into the first orthant.

This shifts all nodes by the same amount such that the coordinate values become non-negative, and a zero value is achieved for every coordinate

void Layout_DefaultBoundingBox  )  throw () [inherited]
 

Freeze the default bounding box.

This freezes the default bounding box. A bounding box saved in advance is lost. If the bounding box was computed dynamically before, the display does not change immediately by this operation. But later node insertions, deletions or movements do not have impact on the placement of unchanged nodes.

void Layout_FreezeBoundingBox  )  throw () [inherited]
 

Freeze the current bounding box.

This freezes the current bounding box. A bounding box saved in advance is not changed. If the bounding box was computed dynamically before, the display does not change immediately by this operation. But later node insertions, deletions or movements do not have impact on the placement of unchanged nodes.

void Layout_GetBoundingInterval TDim  i,
TFloat cMin,
TFloat cMax
const throw () [inherited]
 

Retrieve a bounding interval.

Parameters:
i A component of the current drawing
cMin Returns the lower bound
cMax Returns the upper bound
For the given component, the bounding interval is determined. If the bounding box has been frozen in advance, the saved values are returned. Otherwise, the following default rule applies: The tight interval of graph node coordinates is determined (no layout points are considered!), and enlarged by the node spacing value.

void Layout_ReleaseBoundingBox  )  throw () [inherited]
 

Release an explicit bounding box definition.

This deletes all bounding box data. Subsequently, drawings apply the dynamic bounding box computation implemented in Layout_GetBoundingInterval().

void Layout_SetBoundingInterval TDim  i,
TFloat  cMin,
TFloat  cMax
throw () [inherited]
 

Set a bounding interval.

Parameters:
i A component of the current drawing
cMin A lower bounding value for this component of the current drawing
cMax An upper bounding value for this component of the current drawing
For the given component, the bounding interval is frozen. That is, the dynamic bounding box computation implemented in Layout_GetBoundingInterval() does not apply any longer.

void Layout_TransformCoordinate TDim  i,
TFloat  cMin,
TFloat  cMax
throw (ERRejected) [inherited]
 

Fit the current drawing into a specified bounding interval.

Parameters:
i A component of the current drawing
cMin The value to which the lower interval limit is mapped
cMax The value to which the upper interval limit is mapped
This performs an affine transformation of all graph node and layout point positions, changing only a specific coordinate of each point. It is feasible to specify cMin > cMax. In that case, the drawing is mirrored about the orthogonal hyperplane.