There are several definitions of functions for object creation (called
also constructors). All return a proxy for the created object. They are
usually named by a pattern make-SUBTYPE, they need different
arguments, so they are described separately. obj constructors
must be called in a meta-transaction and are
n-parent-less, go constructors must be called in
a transaction and their g-parent is g-root of
the page of the current transaction.
(make-document)
->
document
A constructor for obj document.
(make-page)
->
page
A constructor for obj page.
(make-common-document name)
string ->
document
A modified constructor for obj document. The newly created
document is named by name and connected under the universe.
(make-common-page name doc)
string document ->
page
A modified constructor for obj page. The newly created
page is named by name and connected under the doc.
(coords x y)
real real ->
hanger
A constructor for a free hanger (also known as a mouse-click). The created hanger
coordinates are (x, y).
(coords-c p)
complex ->
hanger
A constructor for a free hanger (also known as a mouse-click). The created hanger
coordinates are ((real-part p), (imag-part p)).
(make-point h)
hanger ->
go
A point constructor. The created GO's point anchor is
hung on the h hanger.
(make-segment h1 h2)
hanger hanger ->
go
A segment constructor. The created GO's start anchor is
hung on the h1 hanger, the end anchor is hung on the
h2 hanger.
(make-ellipse-by-center-2-radii-rotation c r1 r2 rot)
hanger real real real ->
go
A constructor for the appropriate go. The created GO's center anchor
is hung on the c hanger. r1 is used as the major radius of the
ellipse. r2 is used as the minor radius of the ellipse. Radii must
be positive. rot (must be between 0 and
) is used as the
rotation the of ellipse, where zero rotation means that the major axis is
horizontal.
(make-ellipse-by-2-foci-point f1 f2 p)
hanger hanger hanger ->
go
A constructor for the appropriate go. The created GO's focus-1 anchor
is hung on hanger f1, anchor focus-2 is hung on
hanger f2, anchor point (representing any point on the
ellipse) is hung on hanger p.
(make-ellipse-by-3-points-smallest p1 p2 p3)
hanger hanger hanger ->
go
A constructor for the appropriate go. The created GO's anchors
point-1, point-2 and point-3 are hung on
hangers p1, p2 and p3, respectively.
The created ellipse is the smallest (in area) ellipse containing the
three points represented by the anchors.
(make-ellipse-by-3-points-rotation-eccentricity p1 p2 p3 rot ecc)
hanger hanger hanger real real ->
go
A constructor for the appropriate go. The created GO's anchors
point-1, point-2 and point-3 are hung on
hangers p1, p2 and p3, respectively. rot
(must be between 0 and
) is used as the rotation of the ellipse, where zero
rotation means that the major axis is horizontal. ecc (must be between
0 and 1) is used as the eccentricity of the ellipse.
(make-ellipse-by-center-point-rotation-eccentricity c p rot ecc)
hanger hanger real real ->
go
A constructor for the appropriate go. The created GO's anchor center
is hung on the c hanger, the point anchor is hung on the
p hanger (representing any point on the ellipse). rot (must be
between 0 and
) is used as the rotation of the ellipse, where zero rotation
means that the major axis is horizontal. ecc (must be between 0 and 1)
is used as the eccentricity of the ellipse.
(make-elarc-by-center-2-radii-rotation-2-angles c r1 r2 rot a1 a2 style)
hanger real real real real real symbol ->
go
An alternative constructor for go
ellipse-by-center-2-radii-rotation, modified to creation of
arcs. The arguments share the semantics with the function
make-ellipse-by-center-2-radii-rotation and the additional
arguments a1, a2 and style are the arc information
(see Elliptic arcs).
(make-elarc-by-3-points-smallest p1 p2 p3 style)
hanger hanger hanger symbol ->
go
An alternative constructor for go
ellipse-by-3-points-smallest, modified to creation of
arcs. The arguments share the semantics with function
make-ellipse-by-3-points-smallest and the additional argument
style is arc information (See Elliptic arcs).
(make-quadratic-bezier p1 p2 p3)
hanger hanger hanger ->
go
A constructor for the appropriate go. The created GO's anchors
controlpoint-1, controlpoint-2 and controlpoint-3
are hung on hangers p1, p2 and p3, respectively.
The created bezier is non-rational, i.e. all weights are set to 1.
(make-quadratic-rational-bezier p1 w1 p2 w2 p3 w3)
hanger real hanger real hanger real ->
go
An alternative go constructor for quadratic-bezier, the created
bezier is rational. The arguments share the semantics with function
make-quadratic-bezier, the additional arguments are weights of
the control points.
(make-cubic-bezier p1 p2 p3 p4)
hanger hanger hanger hanger ->
go
A constructor for the appropriate go. The created GO's anchors
controlpoint-1, controlpoint-2, controlpoint-3
and controlpoint-4 are hung on hangers p1, p2,
p3 and p4, respectively. The created bezier is
non-rational, i.e. all weights are set to 1.
(make-cubic-rational-bezier p1 w1 p2 w2 p3 w3 p4 w4)
hanger real hanger real hanger real hanger real ->
go
An alternative go constructor for cubic-bezier, the created
bezier is rational. The arguments share the semantics with the function
make-cubic-bezier, the additional arguments are weights of
the control points.
(make-tex-text h str)
hanger string ->
go
A constructor for the appropriate go. The created GO's anchor point is
hung on hanger h, str is used as the TeX source text.
(make-text h str font-family font-style font-size)
hanger string string string real ->
go
A constructor for the appropriate go. The created GO's anchor point is
hung on hanger h. str is used as the text source.
font-family is the desired font name. font-style is the variant
(for example, "regular" or "bold"). font-size is
the size of the font in millimeters.
(make-parametric-point go p)
go real ->
go
A constructor for the appropriate go. The created GO's anchor curve is
hung on curve hanger of go, p is used as the position parameter on
that curve.
(make-parametric-point-on-hanger h p)
hanger real ->
go
Alternative constructor for go parametric-point. The created
GO's anchor curve is hung on hanger h (which must be
curve hanger), p is used as position on that curve.
(make-intersection g1 g2 p)
go go real ->
go
A constructor for the appropriate go. The created GO's anchors curve-1
and curve-2 are hung on curve hangers of g2 and
g2, respectively. If there are more intersections of that
curves, the one closest to the p position on the first curve is used.
(make-intersection-on-hanger h1 h2 p)
hanger hanger real ->
go
An alternative constructor for go parametric-point. The created
GO's anchors curve-1 and curve-2 are hung on hangers
h1 and h2 (which must be curve hangers),
respectively. If there are more intersections of that curves, the
one closest to the p position on the first curve is used.
(make-decorator-point h n radius rot)
hanger natural real real ->
A constructor for the appropriate go. The created GO's anchor
decorator-point is hung on hanger h. n,
radius and rot are used as the number of vertices, radius and
rotation, respectively.
(make-decorator-arrow g p arrow-length rot)
go real real real ->
A constructor for the appropriate go. The created GO's anchor curve is
hung on curve hanger of go. p is used as the position parameter on
that curve. arrow-length and rot are used as the arrow length
and rotation, respectively. The rotation is interpreted as the deviation
from the tangent of the curve.
(make-decorator-arrow-on-hanger h p arrow-length rot)
hanger real real real ->
An alternative constructor for go decorator-arrow. The created
GO's anchor curve is hung on hanger h (which must be
a curve hanger). p is used as the position parameter on that
curve. arrow-length and rot are used as the arrow length
and rotation, respectively. The rotation is interpreted as the deviation from
the tangent of the curve.
(make-group)
->
go
A constructor for the appropriate go.
(make-path)
->
go
A constructor for the appropriate go.
For some functions, there are aliases (shortened versions):