#include <Unidraw/cglue.h>
CGlue defines a natural size, elasticity (its rate of stretching
and shrinking relative to other CGlue), and deformation limits (total amount
it can stretch and shrink) in both the horizontal and vertical dimensions.
CGlue can be interposed between two connected connectors to augment their
connectivity semantics; it acts like two non-linear springs, one horizontal
and one vertical, connecting the connectors' centers.
- CGlue(
- float hnat = 0, float
vnat = 0,
- float hshr = 0,
float hstr = 0,
- float vshr = 0,
float vstr = 0,
- float hshrlim = 0,
float hstrlim = 0,
- float vshrlim = 0,
float vstrlim = 0
- )
- CGlue(const
Shape&)
- Instantiate CGlue, providing the requisite parameters explicitly or
inferring them from a Shape object. If a shape is supplied, then the CGlue
adopts the shape's natural size, and it assigns the shape's stretchability
and shrinkability values to its corresponding CGlue elasticity members to
obtain a proportionately equivalent elasticity. It also assigns the
shape's stretchability and shrinkability values to its deformation limit
members. The parameters are described below:
hnat, vnat: horizontal and vertical natural sizes,
screen units
hshr, vshr: horizontal and vertical shrinking rate,
constant units
hstr, vstr: horizontal and vertical stretching rate,
constant units
hshrlim, vshrlim: horizontal and vertical shrink limit,
screen units
hstrlim, vstrlim: horizontal and vertical stretch
limit, screen units
- CGlue*
Copy()
- Create a copy of this CGlue instance.
- void Rigid()
- Set all elasticity and deformation limits equal to zero.
- void Interpose(const
CGlue* glue)
- Change this instance's attributes to reflect the series combination of
this and glue.