The cl-vectors Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-vectors Reference Manual

This is the cl-vectors Reference Manual, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:26:42 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

cl-vectors
==========

This library is released under the MIT license. See the MIT-LICENSE
file which should be included in the present distribution.

The project homepage can be found at the following URL:

  http://projects.tuxee.net/cl-vectors/

The latest sources can be found on GitHub:

  https://github.com/fjolliton/cl-vectors

Changes
-------

 version 0.1.5 - 2013-02-13

  - the project is now released under the MIT license.  It was
    previously offered under the LLGPL license.

 version 0.1.4b - 2010-09-25

  - added doc.lisp which contains the code used to generate the images
    for the documentation. The `show-annotated-path' can be useful to
    experiment with cl-vectors.

  - added paths:path-transform-as-marker (see documentation)

 version 0.1.3 - 2007-03-14

  - fixed paths:filter-distinct to better choose knots to keep (really
    eliminating zero length interpolation.)

  - extended cl-aa protocol to provide a way to sweep only a
    rectangular zone of the resulting state. (New functions are
    freeze-state, scanline-sweep, scanline-y and
    cells-sweep/rectangle.)

  - added a version of cl-aa specialized for rendering non-antialiased
    polygon, named aa-bin and included in the cl-aa system definition.

 version 0.1.2 - 2007-03-08

  - fixed make-circle-path. A bug prevented circle creation with non
    positive coordinates. Also, the circle path doesn't include the
    zero-length straight line anymore (it was here for historical
    reason.)

  - fixed dash transformation when processing arcs. The resultings
    chunk of arcs were not correctly specified for the :large-arc-flag
    attribute (it was false all the time.)

  - vectors:update-state now accept either a path or a list of paths.

 version 0.1.1 - 2007-03-06

  - fixed cl-aa.asd system definition ("cl-aa" -> "aa").
    Thanks to Ivan Toshkov.

 version 0.1 - 2007-03-06

  - Initial release.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 cl-vectors

Author

Frederic Jolliton <frederic@jolliton.com>

License

MIT

Description

cl-paths: vectorial paths manipulation

Dependencies
Source

cl-vectors.asd (file)

Component

vectors.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.2 cl-aa

Author

Frederic Jolliton <frederic@jolliton.com>

License

MIT

Description

cl-aa: polygon rasterizer

Source

cl-aa.asd (file)

Components

Previous: , Up: Systems   [Contents][Index]

2.3 cl-paths

Author

Frederic Jolliton <frederic@jolliton.com>

License

MIT

Description

cl-paths: vectorial paths manipulation

Source

cl-paths.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cl-vectors.asd

Location

cl-vectors.asd

Systems

cl-vectors (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cl-aa.asd

Location

cl-aa.asd

Systems

cl-aa (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cl-paths.asd

Location

cl-paths.asd

Systems

cl-paths (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cl-vectors/vectors.lisp

Parent

cl-vectors (system)

Location

vectors.lisp

Packages

net.tuxee.vectors

Exported Definitions

update-state (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 cl-aa/aa.lisp

Parent

cl-aa (system)

Location

aa.lisp

Packages

net.tuxee.aa

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 cl-aa/aa-bin.lisp

Parent

cl-aa (system)

Location

aa-bin.lisp

Packages

net.tuxee.aa-bin

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 cl-paths/paths-package.lisp

Parent

cl-paths (system)

Location

paths-package.lisp

Packages

net.tuxee.paths


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.8 cl-paths/paths.lisp

Dependency

paths-package.lisp (file)

Parent

cl-paths (system)

Location

paths.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.9 cl-paths/paths-annotation.lisp

Dependencies
Parent

cl-paths (system)

Location

paths-annotation.lisp

Exported Definitions

path-annotated (function)


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 net.tuxee.vectors

Source

vectors.lisp (file)

Nickname

vectors

Use List
Exported Definitions

update-state (function)


Next: , Previous: , Up: Packages   [Contents][Index]

4.2 net.tuxee.aa

Source

aa.lisp (file)

Nickname

aa

Use List

common-lisp

Used By List

net.tuxee.vectors

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Nickname

aa-bin

Use List

common-lisp

Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

4.4 net.tuxee.paths

Source

paths-package.lisp (file)

Nickname

paths

Use List

common-lisp

Used By List

net.tuxee.vectors

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *arc-length-tolerance*

The maximum length of segment describing an arc.

Package

net.tuxee.paths

Source

paths.lisp (file)

Special Variable: *bezier-angle-tolerance*

The default angle tolerance (in radian) used when rendering Bezier curves

Package

net.tuxee.paths

Source

paths.lisp (file)

Special Variable: *bezier-distance-tolerance*

The default distance tolerance used when rendering Bezier curves.

Package

net.tuxee.paths

Source

paths.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: cells-sweep STATE FUNCTION &optional FUNCTION-SPAN

Call FUNCTION for each pixel on the polygon described by previous call to LINE or LINE-F. The pixels are scanned in increasing Y, then on increasing X.

For optimization purpose, the optional FUNCTION-SPAN, if provided, is called for a full span of identical alpha pixel. If not provided, a call is made to FUNCTION for each pixel in the span.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cells-sweep STATE FUNCTION &optional SPAN-FUNCTION

Call FUNCTION for each pixel on the polygon path described by previous call to LINE or LINE-F. The pixels are scanned in increasing Y, then on increasing X. For optimization purpose, the optional FUNCTION-SPAN, if provided, is called for a full span of identical alpha pixel. If not provided, a call is made to FUNCTION for each pixel in the span.

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: cells-sweep/rectangle STATE X1 Y1 X2 Y2 FUNCTION &optional FUNCTION-SPAN

Call FUNCTION for each pixel on the polygon described by previous call to LINE or LINE-F. The pixels are scanned in increasing Y, then on increasing X. This is limited to the rectangle region specified with (X1,Y1)-(X2,Y2) (where X2 must be greater than X1 and Y2 must be greater than Y1, to describe a non-empty region.)

For optimization purpose, the optional FUNCTION-SPAN, if provided, is called for a full span of identical alpha pixel. If not provided, a call is made to FUNCTION for each pixel in the span.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: clip-path PATHS &rest ARGS
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: clip-path/path PATHS &rest ARGS
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: create-path TYPE

Create a new path of the given type. The type must be one of the following keyword:

:open-polyline – An open polyline path, :closed-polyline – A closed polyline path,
:polygon – Like :closed-polyline, but implicitly filled.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: dash-path PATHS &rest ARGS
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: filter-distinct ITERATOR &optional PRESERVE-CYCLIC-END-P
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: freeze-state STATE

Freeze the state and return a list of scanlines. A scanline is an object which can be examined with SCANLINE-Y and processed with SCANLINE-SWEEP.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: line STATE X1 Y1 X2 Y2

Draw a line from (X1,Y1) to (X2,Y2). All coordinates are integers with subpixel accuracy (a pixel width is given by +CELL-WIDTH+.) The line must be part of a closed polygon.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: line STATE X1 Y1 X2 Y2
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: line-f STATE X1 Y1 X2 Y2

Draw a line, whose coordinates are translated to fixed-point as expected by function LINE. This is a convenient function to not depend on +CELL-WIDTH+.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: line-f STATE X1 Y1 X2 Y2

Draw a line, whose coordinates are translated to fixed-point as expected by function LINE. This is a convenient function to not depend on +CELL-WIDTH+.

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: make-arc RX RY &key X-AXIS-ROTATION LARGE-ARC-FLAG SWEEP-FLAG
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-bezier-curve CONTROL-POINTS
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-catmull-rom HEAD CONTROL-POINTS QUEUE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-circle-path CX CY RADIUS &optional RADIUS-Y X-AXIS-ROTATION

Construct a path to represent a circle centered at CX,CY of the specified RADIUS.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-discrete-path PATH

Construct a path with only straight lines.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-point X Y
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-rectangle-path X1 Y1 X2 Y2 &key ROUND ROUND-X ROUND-Y
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-rectangle-path/center X Y DX DY &rest ARGS
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-regular-polygon-path X Y RADIUS SIDES &optional START-ANGLE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-simple-path POINTS &optional TYPE

Create a path with only straight line, by specifying only knots.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-state &key (CURRENT-CELL CURRENT-CELL) (CELLS CELLS) (SCANLINES SCANLINES) (END-OF-LINES END-OF-LINES) (DROPPED-CELLS DROPPED-CELLS) (RECYCLING-CELLS RECYCLING-CELLS)
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: make-state &key (CELLS CELLS)
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: make-straight-line ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: p* POINT SCALE &optional SCALE-Y
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: p+ P1 P2
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: p- P1 P2
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-annotated PATHS &key INCLUDE-TANGENTS DECIMATE-KNOTS ASSUME-TYPE

Annotate the path with visual effect (like color for each type of interpolation, circle to represent knots,..)

path – a path or a list of path

Return a list of (color . paths).

Package

net.tuxee.paths

Source

paths-annotation.lisp (file)

Function: path-clear PATH

Clear the path such that it is empty.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-clone PATH
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-concatenate PATH INTERPOLATION OTHER-PATH

Append OTHER-PATH to PATH, joined by INTERPOLATION.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-extend PATH INTERPOLATION KNOT

Extend the path to KNOT, with INTERPOLATION.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-iterator PATH
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-iterator-segmented PATH &optional PREDICATE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-last-knot PATH

Return the last knot of the path. Return NIL if the path is empty.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-orient PATH ORIENTATION &optional OTHER-PATHS

Orient the path in the given orientation.

If OTHER-PATHS is specified, then the paths are reversed inconditionnaly if PATH is also reversed.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-replace PATH OTHER-PATH

Replace PATH with contents of OTHER-PATH.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-reset PATH KNOT

Reset the path such that it is a single knot.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-reverse PATH
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-reversed PATH
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-rotate PATH ANGLE &optional CENTER

Rotate the whole path by ANGLE radian around CENTER (which is the origin if unspecified.)

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-scale PATH SCALE-X SCALE-Y &optional CENTER

Scale the whole path by (SCALE-X,SCALE-Y) from CENTER (which is the origin if unspecified.) Warning: not all interpolations support non uniform scaling (when scale-x /= scale-y).

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-size PATH

Return the number of knots on the path.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-transform-as-marker PATH PATH-REFERENCE SIDE &key OFFSET SCALE ANGLE

Translate, rotate and scale PATH representing a marker such that it is adapted to the PATH-REFERENCE. If SIDE is false, it is placed at the start of the path, otherwise it is placed at the end of the path.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-translate PATH VECTOR

Translate the whole path accordingly to VECTOR.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-angle POINT

Compute the angle of POINT relatively to the X axis.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-distance P1 P2

Compute the distance between P1 and P2.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-norm POINT

Compute the distance of POINT from origin.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-rotate POINT ANGLE

Rotate POINT by ANGLE radian around the origin.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-x POINT
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-y POINT
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: scanline-sweep ()

Call FUNCTION for each pixel on the polygon covered by SCANLINE. The pixels are scanned in increasing X. The sweep can be limited to a range by START (included) or/and END (excluded).

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: scanline-y SCANLINE

Get the Y position of SCANLINE.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-reset STATE

Reset the state, losing all accumulated cells. It can be faster or less memory consuming to reset a state and reuse it, rather than creating a new state.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: stroke-path PATHS &rest ARGS
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: update-state STATE PATHS
Package

net.tuxee.vectors

Source

vectors.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: path-iterator-next ITERATOR

Move the iterator to the next knot, and return
3 values: INTERPOLATION, KNOT and END-P. INTERPOLATION is the interpolation between the previous knot and the current one. For the first iteration, INTERPOLATION is usually the implicit straight line between the last knot and the first knot. KNOT and INTERPOLATION are null if the path is empty. END-P is true if the knot is the last on the path or if the path is empty.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: path-iterator-next (ITERATOR filter-distinct-state)
Method: path-iterator-next (ITERATOR pi-segmented-state)
Method: path-iterator-next (ITERATOR path-iterator-state)
Generic Function: path-iterator-reset ITERATOR

Reset the iterator before the first knot.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: path-iterator-reset (ITERATOR filter-distinct-state)
Method: path-iterator-reset (ITERATOR pi-segmented-state)
Method: path-iterator-reset (ITERATOR path-iterator-state)

Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +alpha-divisor+

Constant used to translate value computed by AREA and COVER to an alpha value.

Package

net.tuxee.aa

Source

aa.lisp (file)

Constant: +alpha-range+

For non overlapping polygons, the alpha value will be in the range (-limit,limit) where limit is +alpha-range+. The value is negative or positive accordingly to the polygon
orientation (clockwise or counter-clockwise.)

Package

net.tuxee.aa

Source

aa.lisp (file)

Constant: +alpha-range+

For non overlapping polygons, the alpha value will be in the range (-limit,limit) where limit is +alpha-range+. The value is negative or positive accordingly to the polygon
orientation (clockwise or counter-clockwise.)

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Constant: +cell-width+

A cell represent a pixel square, and the width is the fractional part of the fixed-point coordinate. A large value increase precision. 256 should be enough though. Note that smaller value should NOT increase performance.

Package

net.tuxee.aa

Source

aa.lisp (file)

Constant: +cell-width+

A cell represent a pixel square, and the width is the fractional part of the fixed-point coordinate. A large value increase precision. 256 should be enough though. Note that smaller value should NOT increase performance.

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *miter-limit*

Miter limit before reverting to bevel joint. Must be >=1.0.

Package

net.tuxee.paths

Source

paths.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: define-for-multiple-paths NAME-MULTIPLE NAME-SINGLE &optional DOCUMENTATION

Define a new function named by NAME-MULTIPLE which accepts either a single path or a list of paths as input from a function named by NAME-SINGLE accepting only a single path and producing a list of paths.

Package

net.tuxee.paths

Source

paths.lisp (file)

Macro: do-path (PATH INTERPOLATION KNOT) &body BODY
Package

net.tuxee.paths

Source

paths.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Functions

Function: cell-area INSTANCE
Function: (setf cell-area) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-cover INSTANCE
Function: (setf cell-cover) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-empty-p CELL

Test if the cell is empty. A cell is empty when COVER and AREA are both zero.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-p OBJECT
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-p OBJECT
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: cell-reset CELL

Reset the cell such that CELL-EMPTY-P is true.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-value INSTANCE
Function: (setf cell-value) VALUE INSTANCE
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: cell-x INSTANCE
Function: (setf cell-x) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-x INSTANCE
Function: (setf cell-x) VALUE INSTANCE
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: cell-y INSTANCE
Function: (setf cell-y) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: cell-y INSTANCE
Function: (setf cell-y) VALUE INSTANCE
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: clip-path/1 PATH X Y DX DY
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: clip-path/path/1 PATH LIMIT
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: compare-cells A B

Compare coordinates between 2 cells. Used to sort cells by Y, then by X.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: compare-cells A B

Compare coordinates between 2 cells. Used to sort cells by Y, then by X.

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: compute-alpha COVER AREA

Compute the alpha value given the accumulated cover and the actual area of a cell.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: copy-cell INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: copy-cell INSTANCE
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: copy-path INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: copy-path-iterator-state INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: copy-pi-segmented-state INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: copy-state INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: copy-state INSTANCE
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: dash-path/1 PATH SIZES &key TOGGLE-P CYCLE-INDEX

Dash path. If TOGGLE-P is true, segments of odd indices are kept, while if TOGGLE-P is false, segments of even indices are kept. CYCLE indicate where to cycle the SIZES once the end is reached.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: discrete-bezier-curve POINTS FUNCTION &key INCLUDE-ENDS MIN-SUBDIVIDE MAX-SUBDIVIDE DISTANCE-TOLERANCE ANGLE-TOLERANCE

Subdivize Bezier curve up to certain criterions.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: evaluate-bezier POINTS POSITION

Evaluate the point at POSITION on the Bezier curve described by POINTS.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: line-intersection X1 Y1 X2 Y2 X3 Y3 X4 Y4

Compute the intersection between 2 lines (x1,y1)-(x2,y2) and (x3,y3)-(x4,y4). Return the coordinates of the intersection points as 2 values. If the 2 lines are colinears, return NIL.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: line-intersection/delta X1 Y1 DX1 DY1 X2 Y2 DX2 DY2

Compute the intersection between the line by (x1,y1) and direction (dx1,dy1) and the line by (x2,y2) and
direction (dx2,dy2). Return the coordinates of the intersection points as 2 values. If the 2 lines are colinears, return NIL.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: line-normal X1 Y1 X2 Y2

Normalize the vector (X2-X1,Y2-Y1). See NORMALIZE.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-cell &key (X X) (Y Y) (COVER COVER) (AREA AREA)
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: make-cell &key (X X) (Y Y) (VALUE VALUE)
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: make-path &key (TYPE TYPE) (ORIENTATION ORIENTATION) (KNOTS KNOTS) (INTERPOLATIONS INTERPOLATIONS)
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-path-iterator-state &key (PATH PATH) (INDEX INDEX)
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: make-pi-segmented-state &key (PATH PATH) (INDEX INDEX) (PREDICATE PREDICATE) (END-P END-P) (QUEUE QUEUE)
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: map-grid-spans FUNCTION X1 Y1 X2 Y2

Call FUNCTION for each segments of the line from (X1,Y1) to (X2,Y2) cut by a grid with spacing +CELL-WIDTH+.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: map-line-intersections ()
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: map-line-spans FUNCTION A1 B1 A2 B2

Call FUNCTION for each segment of a line with integer coordinates (A1,B1)-(A2,B2) cut by a grid of spacing +CELL-WIDTH+.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: normalize X Y &optional LENGTH

Normalize the vector (X,Y) such that its length is LENGTH (or 1.0 if unspecified.) Return the component of the resulting vector as 2 values. Return NIL if the input vector had a null length.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-end-info PATH SIDE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-from-iterator ITERATOR TYPE

Construct a new path from the given iterator.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-guess-orientation PATH

Guess the orientation of the path.

This is implemented loosely because we don’t take care about interpolations. We only consider a polygon described by the knots. However, it should work..

Update path orientation flag, and returns either :CW or :CCW.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-interpolations INSTANCE
Function: (setf path-interpolations) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-iterator-state-index INSTANCE
Function: (setf path-iterator-state-index) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-iterator-state-p OBJECT
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-iterator-state-path INSTANCE
Function: (setf path-iterator-state-path) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-knots INSTANCE
Function: (setf path-knots) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-orientation INSTANCE
Function: (setf path-orientation) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-p OBJECT
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: path-type INSTANCE
Function: (setf path-type) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: pi-segmented-state-end-p INSTANCE
Function: (setf pi-segmented-state-end-p) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: pi-segmented-state-index INSTANCE
Function: (setf pi-segmented-state-index) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: pi-segmented-state-p OBJECT
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: pi-segmented-state-path INSTANCE
Function: (setf pi-segmented-state-path) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: pi-segmented-state-predicate INSTANCE
Function: (setf pi-segmented-state-predicate) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: pi-segmented-state-queue INSTANCE
Function: (setf pi-segmented-state-queue) VALUE INSTANCE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: point-middle P1 P2

Compute the point between P1 and P2.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: set-current-cell STATE X Y

Ensure current cell is one at coordinate X and Y. If not, the current cell is stored, then reset accordingly to new coordinate.

Returns the current cell.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: set-current-cell STATE X Y
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: split-bezier POINTS &optional POSITION

Split the Bezier curve described by POINTS at POSITION into two Bezier curves of the same degree. Returns the curves as 2 values.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: state-cells INSTANCE
Function: (setf state-cells) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-cells INSTANCE
Function: (setf state-cells) VALUE INSTANCE
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: state-current-cell INSTANCE
Function: (setf state-current-cell) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-dropped-cells INSTANCE
Function: (setf state-dropped-cells) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-end-of-lines INSTANCE
Function: (setf state-end-of-lines) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-finalize STATE

Finalize the state.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-p OBJECT
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-p OBJECT
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: state-push-cell STATE CELL

Store a copy of the current cell into the cells list. If the state was reset, possibly reuse previous cells.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-recycling-cells INSTANCE
Function: (setf state-recycling-cells) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-reset STATE

Reset the state, losing all accumulated cells. It can be faster or less memory consuming to reset a state and reuse it, rather than creating a new state.

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Function: state-scanlines INSTANCE
Function: (setf state-scanlines) VALUE INSTANCE
Package

net.tuxee.aa

Source

aa.lisp (file)

Function: state-sort-cells STATE

Sort the cells by Y, then by X.

Package

net.tuxee.aa

Source

aa.lisp (file)

Function: straight-line-p VALUE
Package

net.tuxee.paths

Source

paths.lisp (file)

Function: stroke-path/1 PATH THICKNESS &key CAPS JOINT INNER-JOINT ASSUME-TYPE

Stroke the path.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: svg-arc-parameters P1 P2 RX RY ROTATION LARGE-ARC-FLAG-P SWEEP-FLAG-P

Conversion from endpoint to center parameterization of SVG arc.

Returns values RC, RX, RY, START-ANGLE and DELTA-ANGLE, where RC is the center of the ellipse, RX and RY are the normalized
radii (needed if scaling was necessary).

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: svg-arc-parameters/reverse CENTER RX RY ROTATION START-ANGLE DELTA-ANGLE

Conversion from center to endpoint parameterization of SVG arc.

Returns values P1, P2, LARGE-ARC-FLAG-P, SWEEP-FLAG-P.

Package

net.tuxee.paths

Source

paths.lisp (file)

Function: update-cell CELL FX1 FY1 FX2 FY2

Update COVER and AREA given a segment inside the corresponding cell. FX1, FY1, FX2 and FY2 must be subpixel coordinates between 0 and +CELL-WIDTH+ included.

Package

net.tuxee.aa

Source

aa.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Generic functions

Generic Function: interpolation-clone INTERPOLATION

Duplicate INTERPOLATION.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-clone (INTERPOLATION bezier)
Method: interpolation-clone (INTERPOLATION catmull-rom)
Method: interpolation-clone (INTERPOLATION arc)
Method: interpolation-clone (INTERPOLATION (eql straight-line))
Generic Function: interpolation-normal INTERPOLATION K1 K2 SIDE

Compute the normal, going "outside" at
either K1 (if SIDE is false) or K2 (if SIDE is true). Return NIL if the normal cannot be computed. Return a point otherwise.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-normal (INTERPOLATION bezier) K1 K2 SIDE
Method: interpolation-normal (INTERPOLATION catmull-rom) K1 K2 SIDE
Method: interpolation-normal (INTERPOLATION arc) K1 K2 SIDE
Method: interpolation-normal (INTERPOLATION (eql straight-line)) K1 K2 SIDE
Generic Function: interpolation-reverse INTERPOLATION

Reverse the path described by INTERPOLATION in-place.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-reverse (INTERPOLATION bezier)
Method: interpolation-reverse (INTERPOLATION catmull-rom)
Method: interpolation-reverse (INTERPOLATION arc)
Method: interpolation-reverse (INTERPOLATION (eql straight-line))
Generic Function: interpolation-reversed INTERPOLATION

Duplicate and reverse the INTERPOLATION.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-reversed INTERPOLATION
Generic Function: interpolation-rotate INTERPOLATION ANGLE
Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-rotate (INTERPOLATION bezier) ANGLE
Method: interpolation-rotate (INTERPOLATION catmull-rom) ANGLE
Method: interpolation-rotate (INTERPOLATION arc) ANGLE
Method: interpolation-rotate (INTERPOLATION (eql straight-line)) ANGLE
Generic Function: interpolation-scale INTERPOLATION SCALE-X SCALE-Y
Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-scale (INTERPOLATION bezier) SCALE-X SCALE-Y
Method: interpolation-scale (INTERPOLATION catmull-rom) SCALE-X SCALE-Y
Method: interpolation-scale (INTERPOLATION arc) SCALE-X SCALE-Y
Method: interpolation-scale (INTERPOLATION (eql straight-line)) SCALE-X SCALE-Y
Generic Function: interpolation-segment INTERPOLATION K1 K2 FUNCTION

Segment the path between K1 and K2 described
by the INTERPOLATION. Call FUNCTION for each generated point on the interpolation path.

Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-segment (INTERPOLATION bezier) K1 K2 FUNCTION
Method: interpolation-segment (INTERPOLATION catmull-rom) K1 K2 FUNCTION
Method: interpolation-segment (INTERPOLATION arc) K1 K2 FUNCTION
Method: interpolation-segment (INTERPOLATION (eql straight-line)) K1 K2 FUNCTION
Generic Function: interpolation-translate INTERPOLATION VECTOR
Package

net.tuxee.paths

Source

paths.lisp (file)

Methods
Method: interpolation-translate (INTERPOLATION bezier) VECTOR
Method: interpolation-translate (INTERPOLATION catmull-rom) VECTOR
Method: interpolation-translate (INTERPOLATION arc) VECTOR
Method: interpolation-translate (INTERPOLATION (eql straight-line)) VECTOR

Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Structures

Structure: cell ()

A cell used to represent the partial area covered by a line passing by a corresponding pixel. The cell alone doesn’t hold all the information to calculate the area.

Package

net.tuxee.aa

Source

aa.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: x
Type

integer

Initform

0

Readers

cell-x (function)

Writers

(setf cell-x) (function)

Slot: y
Type

integer

Initform

0

Readers

cell-y (function)

Writers

(setf cell-y) (function)

Slot: cover
Type

integer

Initform

0

Readers

cell-cover (function)

Writers

(setf cell-cover) (function)

Slot: area
Type

integer

Initform

0

Readers

cell-area (function)

Writers

(setf cell-area) (function)

Structure: cell ()
Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: x
Readers

cell-x (function)

Writers

(setf cell-x) (function)

Slot: y
Readers

cell-y (function)

Writers

(setf cell-y) (function)

Slot: value
Initform

0

Readers

cell-value (function)

Writers

(setf cell-value) (function)

Structure: path ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: type
Type

(member :open-polyline :closed-polyline :polygon)

Initform

:open-polyline

Readers

path-type (function)

Writers

(setf path-type) (function)

Slot: orientation
Type

(member :unknown :cw :ccw)

Initform

:unknown

Readers

path-orientation (function)

Writers

(setf path-orientation) (function)

Slot: knots
Initform

(make-array 0 :adjustable t :fill-pointer 0)

Readers

path-knots (function)

Writers

(setf path-knots) (function)

Slot: interpolations
Initform

(make-array 0 :adjustable t :fill-pointer 0)

Readers

path-interpolations (function)

Writers

(setf path-interpolations) (function)

Structure: path-iterator-state ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: path
Readers

path-iterator-state-path (function)

Writers

(setf path-iterator-state-path) (function)

Slot: index
Readers

path-iterator-state-index (function)

Writers

(setf path-iterator-state-index) (function)

Structure: pi-segmented-state ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: path
Readers

pi-segmented-state-path (function)

Writers

(setf pi-segmented-state-path) (function)

Slot: index
Readers

pi-segmented-state-index (function)

Writers

(setf pi-segmented-state-index) (function)

Slot: predicate
Readers

pi-segmented-state-predicate (function)

Writers

(setf pi-segmented-state-predicate) (function)

Slot: end-p
Readers

pi-segmented-state-end-p (function)

Writers

(setf pi-segmented-state-end-p) (function)

Slot: queue
Readers

pi-segmented-state-queue (function)

Writers

(setf pi-segmented-state-queue) (function)

Structure: state ()

AA state. Hold all the cells generated when drawing lines.

Package

net.tuxee.aa

Source

aa.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: current-cell
Type

net.tuxee.aa::cell

Initform

(net.tuxee.aa::make-cell)

Readers

state-current-cell (function)

Writers

(setf state-current-cell) (function)

Slot: cells
Readers

state-cells (function)

Writers

(setf state-cells) (function)

Slot: scanlines
Readers

state-scanlines (function)

Writers

(setf state-scanlines) (function)

Slot: end-of-lines
Readers

state-end-of-lines (function)

Writers

(setf state-end-of-lines) (function)

Slot: dropped-cells
Readers

state-dropped-cells (function)

Writers

(setf state-dropped-cells) (function)

Slot: recycling-cells
Initform

(cons nil nil)

Readers

state-recycling-cells (function)

Writers

(setf state-recycling-cells) (function)

Structure: state ()

AA state. Hold all the cells generated when drawing lines.

Package

net.tuxee.aa-bin

Source

aa-bin.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: cells
Readers

state-cells (function)

Writers

(setf state-cells) (function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.7 Classes

Class: arc ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: rx
Initargs

net.tuxee.paths::rx

Slot: ry
Initargs

net.tuxee.paths::ry

Slot: x-axis-rotation
Initargs

net.tuxee.paths::x-axis-rotation

Slot: large-arc-flag
Initargs

net.tuxee.paths::large-arc-flag

Slot: sweep-flag
Initargs

net.tuxee.paths::sweep-flag

Class: bezier ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: control-points
Initargs

net.tuxee.paths::control-points

Initform

(make-array 0)

Class: catmull-rom ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: head
Initargs

net.tuxee.paths::head

Slot: control-points
Initargs

net.tuxee.paths::control-points

Initform

(make-array 0)

Slot: queue
Initargs

net.tuxee.paths::queue

Class: filter-distinct-state ()
Package

net.tuxee.paths

Source

paths.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: iterator
Initargs

:iterator

Slot: cyclic-p
Initargs

:cyclic-p

Slot: fixed
Initargs

:fixed

Slot: next
Initargs

:next

Slot: next-is-end-p

Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-aa.asd: The cl-aa<dot>asd file
cl-aa/aa-bin.lisp: The cl-aa/aa-bin<dot>lisp file
cl-aa/aa.lisp: The cl-aa/aa<dot>lisp file
cl-paths.asd: The cl-paths<dot>asd file
cl-paths/paths-annotation.lisp: The cl-paths/paths-annotation<dot>lisp file
cl-paths/paths-package.lisp: The cl-paths/paths-package<dot>lisp file
cl-paths/paths.lisp: The cl-paths/paths<dot>lisp file
cl-vectors.asd: The cl-vectors<dot>asd file
cl-vectors/vectors.lisp: The cl-vectors/vectors<dot>lisp file

F
File, Lisp, cl-aa.asd: The cl-aa<dot>asd file
File, Lisp, cl-aa/aa-bin.lisp: The cl-aa/aa-bin<dot>lisp file
File, Lisp, cl-aa/aa.lisp: The cl-aa/aa<dot>lisp file
File, Lisp, cl-paths.asd: The cl-paths<dot>asd file
File, Lisp, cl-paths/paths-annotation.lisp: The cl-paths/paths-annotation<dot>lisp file
File, Lisp, cl-paths/paths-package.lisp: The cl-paths/paths-package<dot>lisp file
File, Lisp, cl-paths/paths.lisp: The cl-paths/paths<dot>lisp file
File, Lisp, cl-vectors.asd: The cl-vectors<dot>asd file
File, Lisp, cl-vectors/vectors.lisp: The cl-vectors/vectors<dot>lisp file

L
Lisp File, cl-aa.asd: The cl-aa<dot>asd file
Lisp File, cl-aa/aa-bin.lisp: The cl-aa/aa-bin<dot>lisp file
Lisp File, cl-aa/aa.lisp: The cl-aa/aa<dot>lisp file
Lisp File, cl-paths.asd: The cl-paths<dot>asd file
Lisp File, cl-paths/paths-annotation.lisp: The cl-paths/paths-annotation<dot>lisp file
Lisp File, cl-paths/paths-package.lisp: The cl-paths/paths-package<dot>lisp file
Lisp File, cl-paths/paths.lisp: The cl-paths/paths<dot>lisp file
Lisp File, cl-vectors.asd: The cl-vectors<dot>asd file
Lisp File, cl-vectors/vectors.lisp: The cl-vectors/vectors<dot>lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
C   D   E   F   G   I   L   M   N   P   S   U  
Index Entry  Section

(
(setf cell-area): Internal functions
(setf cell-cover): Internal functions
(setf cell-value): Internal functions
(setf cell-x): Internal functions
(setf cell-x): Internal functions
(setf cell-y): Internal functions
(setf cell-y): Internal functions
(setf path-interpolations): Internal functions
(setf path-iterator-state-index): Internal functions
(setf path-iterator-state-path): Internal functions
(setf path-knots): Internal functions
(setf path-orientation): Internal functions
(setf path-type): Internal functions
(setf pi-segmented-state-end-p): Internal functions
(setf pi-segmented-state-index): Internal functions
(setf pi-segmented-state-path): Internal functions
(setf pi-segmented-state-predicate): Internal functions
(setf pi-segmented-state-queue): Internal functions
(setf state-cells): Internal functions
(setf state-cells): Internal functions
(setf state-current-cell): Internal functions
(setf state-dropped-cells): Internal functions
(setf state-end-of-lines): Internal functions
(setf state-recycling-cells): Internal functions
(setf state-scanlines): Internal functions

C
cell-area: Internal functions
cell-cover: Internal functions
cell-empty-p: Internal functions
cell-p: Internal functions
cell-p: Internal functions
cell-reset: Internal functions
cell-value: Internal functions
cell-x: Internal functions
cell-x: Internal functions
cell-y: Internal functions
cell-y: Internal functions
cells-sweep: Exported functions
cells-sweep: Exported functions
cells-sweep/rectangle: Exported functions
clip-path: Exported functions
clip-path/1: Internal functions
clip-path/path: Exported functions
clip-path/path/1: Internal functions
compare-cells: Internal functions
compare-cells: Internal functions
compute-alpha: Internal functions
copy-cell: Internal functions
copy-cell: Internal functions
copy-path: Internal functions
copy-path-iterator-state: Internal functions
copy-pi-segmented-state: Internal functions
copy-state: Internal functions
copy-state: Internal functions
create-path: Exported functions

D
dash-path: Exported functions
dash-path/1: Internal functions
define-for-multiple-paths: Internal macros
discrete-bezier-curve: Internal functions
do-path: Internal macros

E
evaluate-bezier: Internal functions

F
filter-distinct: Exported functions
freeze-state: Exported functions
Function, (setf cell-area): Internal functions
Function, (setf cell-cover): Internal functions
Function, (setf cell-value): Internal functions
Function, (setf cell-x): Internal functions
Function, (setf cell-x): Internal functions
Function, (setf cell-y): Internal functions
Function, (setf cell-y): Internal functions
Function, (setf path-interpolations): Internal functions
Function, (setf path-iterator-state-index): Internal functions
Function, (setf path-iterator-state-path): Internal functions
Function, (setf path-knots): Internal functions
Function, (setf path-orientation): Internal functions
Function, (setf path-type): Internal functions
Function, (setf pi-segmented-state-end-p): Internal functions
Function, (setf pi-segmented-state-index): Internal functions
Function, (setf pi-segmented-state-path): Internal functions
Function, (setf pi-segmented-state-predicate): Internal functions
Function, (setf pi-segmented-state-queue): Internal functions
Function, (setf state-cells): Internal functions
Function, (setf state-cells): Internal functions
Function, (setf state-current-cell): Internal functions
Function, (setf state-dropped-cells): Internal functions
Function, (setf state-end-of-lines): Internal functions
Function, (setf state-recycling-cells): Internal functions
Function, (setf state-scanlines): Internal functions
Function, cell-area: Internal functions
Function, cell-cover: Internal functions
Function, cell-empty-p: Internal functions
Function, cell-p: Internal functions
Function, cell-p: Internal functions
Function, cell-reset: Internal functions
Function, cell-value: Internal functions
Function, cell-x: Internal functions
Function, cell-x: Internal functions
Function, cell-y: Internal functions
Function, cell-y: Internal functions
Function, cells-sweep: Exported functions
Function, cells-sweep: Exported functions
Function, cells-sweep/rectangle: Exported functions
Function, clip-path: Exported functions
Function, clip-path/1: Internal functions
Function, clip-path/path: Exported functions
Function, clip-path/path/1: Internal functions
Function, compare-cells: Internal functions
Function, compare-cells: Internal functions
Function, compute-alpha: Internal functions
Function, copy-cell: Internal functions
Function, copy-cell: Internal functions
Function, copy-path: Internal functions
Function, copy-path-iterator-state: Internal functions
Function, copy-pi-segmented-state: Internal functions
Function, copy-state: Internal functions
Function, copy-state: Internal functions
Function, create-path: Exported functions
Function, dash-path: Exported functions
Function, dash-path/1: Internal functions
Function, discrete-bezier-curve: Internal functions
Function, evaluate-bezier: Internal functions
Function, filter-distinct: Exported functions
Function, freeze-state: Exported functions
Function, line: Exported functions
Function, line: Exported functions
Function, line-f: Exported functions
Function, line-f: Exported functions
Function, line-intersection: Internal functions
Function, line-intersection/delta: Internal functions
Function, line-normal: Internal functions
Function, make-arc: Exported functions
Function, make-bezier-curve: Exported functions
Function, make-catmull-rom: Exported functions
Function, make-cell: Internal functions
Function, make-cell: Internal functions
Function, make-circle-path: Exported functions
Function, make-discrete-path: Exported functions
Function, make-path: Internal functions
Function, make-path-iterator-state: Internal functions
Function, make-pi-segmented-state: Internal functions
Function, make-point: Exported functions
Function, make-rectangle-path: Exported functions
Function, make-rectangle-path/center: Exported functions
Function, make-regular-polygon-path: Exported functions
Function, make-simple-path: Exported functions
Function, make-state: Exported functions
Function, make-state: Exported functions
Function, make-straight-line: Exported functions
Function, map-grid-spans: Internal functions
Function, map-line-intersections: Internal functions
Function, map-line-spans: Internal functions
Function, normalize: Internal functions
Function, p*: Exported functions
Function, p+: Exported functions
Function, p-: Exported functions
Function, path-annotated: Exported functions
Function, path-clear: Exported functions
Function, path-clone: Exported functions
Function, path-concatenate: Exported functions
Function, path-end-info: Internal functions
Function, path-extend: Exported functions
Function, path-from-iterator: Internal functions
Function, path-guess-orientation: Internal functions
Function, path-interpolations: Internal functions
Function, path-iterator: Exported functions
Function, path-iterator-segmented: Exported functions
Function, path-iterator-state-index: Internal functions
Function, path-iterator-state-p: Internal functions
Function, path-iterator-state-path: Internal functions
Function, path-knots: Internal functions
Function, path-last-knot: Exported functions
Function, path-orient: Exported functions
Function, path-orientation: Internal functions
Function, path-p: Internal functions
Function, path-replace: Exported functions
Function, path-reset: Exported functions
Function, path-reverse: Exported functions
Function, path-reversed: Exported functions
Function, path-rotate: Exported functions
Function, path-scale: Exported functions
Function, path-size: Exported functions
Function, path-transform-as-marker: Exported functions
Function, path-translate: Exported functions
Function, path-type: Internal functions
Function, pi-segmented-state-end-p: Internal functions
Function, pi-segmented-state-index: Internal functions
Function, pi-segmented-state-p: Internal functions
Function, pi-segmented-state-path: Internal functions
Function, pi-segmented-state-predicate: Internal functions
Function, pi-segmented-state-queue: Internal functions
Function, point-angle: Exported functions
Function, point-distance: Exported functions
Function, point-middle: Internal functions
Function, point-norm: Exported functions
Function, point-rotate: Exported functions
Function, point-x: Exported functions
Function, point-y: Exported functions
Function, scanline-sweep: Exported functions
Function, scanline-y: Exported functions
Function, set-current-cell: Internal functions
Function, set-current-cell: Internal functions
Function, split-bezier: Internal functions
Function, state-cells: Internal functions
Function, state-cells: Internal functions
Function, state-current-cell: Internal functions
Function, state-dropped-cells: Internal functions
Function, state-end-of-lines: Internal functions
Function, state-finalize: Internal functions
Function, state-p: Internal functions
Function, state-p: Internal functions
Function, state-push-cell: Internal functions
Function, state-recycling-cells: Internal functions
Function, state-reset: Exported functions
Function, state-reset: Internal functions
Function, state-scanlines: Internal functions
Function, state-sort-cells: Internal functions
Function, straight-line-p: Internal functions
Function, stroke-path: Exported functions
Function, stroke-path/1: Internal functions
Function, svg-arc-parameters: Internal functions
Function, svg-arc-parameters/reverse: Internal functions
Function, update-cell: Internal functions
Function, update-state: Exported functions

G
Generic Function, interpolation-clone: Internal generic functions
Generic Function, interpolation-normal: Internal generic functions
Generic Function, interpolation-reverse: Internal generic functions
Generic Function, interpolation-reversed: Internal generic functions
Generic Function, interpolation-rotate: Internal generic functions
Generic Function, interpolation-scale: Internal generic functions
Generic Function, interpolation-segment: Internal generic functions
Generic Function, interpolation-translate: Internal generic functions
Generic Function, path-iterator-next: Exported generic functions
Generic Function, path-iterator-reset: Exported generic functions

I
interpolation-clone: Internal generic functions
interpolation-clone: Internal generic functions
interpolation-clone: Internal generic functions
interpolation-clone: Internal generic functions
interpolation-clone: Internal generic functions
interpolation-normal: Internal generic functions
interpolation-normal: Internal generic functions
interpolation-normal: Internal generic functions
interpolation-normal: Internal generic functions
interpolation-normal: Internal generic functions
interpolation-reverse: Internal generic functions
interpolation-reverse: Internal generic functions
interpolation-reverse: Internal generic functions
interpolation-reverse: Internal generic functions
interpolation-reverse: Internal generic functions
interpolation-reversed: Internal generic functions
interpolation-reversed: Internal generic functions
interpolation-rotate: Internal generic functions
interpolation-rotate: Internal generic functions
interpolation-rotate: Internal generic functions
interpolation-rotate: Internal generic functions
interpolation-rotate: Internal generic functions
interpolation-scale: Internal generic functions
interpolation-scale: Internal generic functions
interpolation-scale: Internal generic functions
interpolation-scale: Internal generic functions
interpolation-scale: Internal generic functions
interpolation-segment: Internal generic functions
interpolation-segment: Internal generic functions
interpolation-segment: Internal generic functions
interpolation-segment: Internal generic functions
interpolation-segment: Internal generic functions
interpolation-translate: Internal generic functions
interpolation-translate: Internal generic functions
interpolation-translate: Internal generic functions
interpolation-translate: Internal generic functions
interpolation-translate: Internal generic functions

L
line: Exported functions
line: Exported functions
line-f: Exported functions
line-f: Exported functions
line-intersection: Internal functions
line-intersection/delta: Internal functions
line-normal: Internal functions

M
Macro, define-for-multiple-paths: Internal macros
Macro, do-path: Internal macros
make-arc: Exported functions
make-bezier-curve: Exported functions
make-catmull-rom: Exported functions
make-cell: Internal functions
make-cell: Internal functions
make-circle-path: Exported functions
make-discrete-path: Exported functions
make-path: Internal functions
make-path-iterator-state: Internal functions
make-pi-segmented-state: Internal functions
make-point: Exported functions
make-rectangle-path: Exported functions
make-rectangle-path/center: Exported functions
make-regular-polygon-path: Exported functions
make-simple-path: Exported functions
make-state: Exported functions
make-state: Exported functions
make-straight-line: Exported functions
map-grid-spans: Internal functions
map-line-intersections: Internal functions
map-line-spans: Internal functions
Method, interpolation-clone: Internal generic functions
Method, interpolation-clone: Internal generic functions
Method, interpolation-clone: Internal generic functions
Method, interpolation-clone: Internal generic functions
Method, interpolation-normal: Internal generic functions
Method, interpolation-normal: Internal generic functions
Method, interpolation-normal: Internal generic functions
Method, interpolation-normal: Internal generic functions
Method, interpolation-reverse: Internal generic functions
Method, interpolation-reverse: Internal generic functions
Method, interpolation-reverse: Internal generic functions
Method, interpolation-reverse: Internal generic functions
Method, interpolation-reversed: Internal generic functions
Method, interpolation-rotate: Internal generic functions
Method, interpolation-rotate: Internal generic functions
Method, interpolation-rotate: Internal generic functions
Method, interpolation-rotate: Internal generic functions
Method, interpolation-scale: Internal generic functions
Method, interpolation-scale: Internal generic functions
Method, interpolation-scale: Internal generic functions
Method, interpolation-scale: Internal generic functions
Method, interpolation-segment: Internal generic functions
Method, interpolation-segment: Internal generic functions
Method, interpolation-segment: Internal generic functions
Method, interpolation-segment: Internal generic functions
Method, interpolation-translate: Internal generic functions
Method, interpolation-translate: Internal generic functions
Method, interpolation-translate: Internal generic functions
Method, interpolation-translate: Internal generic functions
Method, path-iterator-next: Exported generic functions
Method, path-iterator-next: Exported generic functions
Method, path-iterator-next: Exported generic functions
Method, path-iterator-reset: Exported generic functions
Method, path-iterator-reset: Exported generic functions
Method, path-iterator-reset: Exported generic functions

N
normalize: Internal functions

P
p*: Exported functions
p+: Exported functions
p-: Exported functions
path-annotated: Exported functions
path-clear: Exported functions
path-clone: Exported functions
path-concatenate: Exported functions
path-end-info: Internal functions
path-extend: Exported functions
path-from-iterator: Internal functions
path-guess-orientation: Internal functions
path-interpolations: Internal functions
path-iterator: Exported functions
path-iterator-next: Exported generic functions
path-iterator-next: Exported generic functions
path-iterator-next: Exported generic functions
path-iterator-next: Exported generic functions
path-iterator-reset: Exported generic functions
path-iterator-reset: Exported generic functions
path-iterator-reset: Exported generic functions
path-iterator-reset: Exported generic functions
path-iterator-segmented: Exported functions
path-iterator-state-index: Internal functions
path-iterator-state-p: Internal functions
path-iterator-state-path: Internal functions
path-knots: Internal functions
path-last-knot: Exported functions
path-orient: Exported functions
path-orientation: Internal functions
path-p: Internal functions
path-replace: Exported functions
path-reset: Exported functions
path-reverse: Exported functions
path-reversed: Exported functions
path-rotate: Exported functions
path-scale: Exported functions
path-size: Exported functions
path-transform-as-marker: Exported functions
path-translate: Exported functions
path-type: Internal functions
pi-segmented-state-end-p: Internal functions
pi-segmented-state-index: Internal functions
pi-segmented-state-p: Internal functions
pi-segmented-state-path: Internal functions
pi-segmented-state-predicate: Internal functions
pi-segmented-state-queue: Internal functions
point-angle: Exported functions
point-distance: Exported functions
point-middle: Internal functions
point-norm: Exported functions
point-rotate: Exported functions
point-x: Exported functions
point-y: Exported functions

S
scanline-sweep: Exported functions
scanline-y: Exported functions
set-current-cell: Internal functions
set-current-cell: Internal functions
split-bezier: Internal functions
state-cells: Internal functions
state-cells: Internal functions
state-current-cell: Internal functions
state-dropped-cells: Internal functions
state-end-of-lines: Internal functions
state-finalize: Internal functions
state-p: Internal functions
state-p: Internal functions
state-push-cell: Internal functions
state-recycling-cells: Internal functions
state-reset: Exported functions
state-reset: Internal functions
state-scanlines: Internal functions
state-sort-cells: Internal functions
straight-line-p: Internal functions
stroke-path: Exported functions
stroke-path/1: Internal functions
svg-arc-parameters: Internal functions
svg-arc-parameters/reverse: Internal functions

U
update-cell: Internal functions
update-state: Exported functions

Jump to:   (  
C   D   E   F   G   I   L   M   N   P   S   U  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
A   C   D   E   F   H   I   K   L   N   O   P   Q   R   S   T   V   X   Y  
Index Entry  Section

*
*arc-length-tolerance*: Exported special variables
*bezier-angle-tolerance*: Exported special variables
*bezier-distance-tolerance*: Exported special variables
*miter-limit*: Internal special variables

+
+alpha-divisor+: Internal constants
+alpha-range+: Internal constants
+alpha-range+: Internal constants
+cell-width+: Internal constants
+cell-width+: Internal constants

A
area: Internal structures

C
cells: Internal structures
cells: Internal structures
Constant, +alpha-divisor+: Internal constants
Constant, +alpha-range+: Internal constants
Constant, +alpha-range+: Internal constants
Constant, +cell-width+: Internal constants
Constant, +cell-width+: Internal constants
control-points: Internal classes
control-points: Internal classes
cover: Internal structures
current-cell: Internal structures
cyclic-p: Internal classes

D
dropped-cells: Internal structures

E
end-of-lines: Internal structures
end-p: Internal structures

F
fixed: Internal classes

H
head: Internal classes

I
index: Internal structures
index: Internal structures
interpolations: Internal structures
iterator: Internal classes

K
knots: Internal structures

L
large-arc-flag: Internal classes

N
next: Internal classes
next-is-end-p: Internal classes

O
orientation: Internal structures

P
path: Internal structures
path: Internal structures
predicate: Internal structures

Q
queue: Internal structures
queue: Internal classes

R
recycling-cells: Internal structures
rx: Internal classes
ry: Internal classes

S
scanlines: Internal structures
Slot, area: Internal structures
Slot, cells: Internal structures
Slot, cells: Internal structures
Slot, control-points: Internal classes
Slot, control-points: Internal classes
Slot, cover: Internal structures
Slot, current-cell: Internal structures
Slot, cyclic-p: Internal classes
Slot, dropped-cells: Internal structures
Slot, end-of-lines: Internal structures
Slot, end-p: Internal structures
Slot, fixed: Internal classes
Slot, head: Internal classes
Slot, index: Internal structures
Slot, index: Internal structures
Slot, interpolations: Internal structures
Slot, iterator: Internal classes
Slot, knots: Internal structures
Slot, large-arc-flag: Internal classes
Slot, next: Internal classes
Slot, next-is-end-p: Internal classes
Slot, orientation: Internal structures
Slot, path: Internal structures
Slot, path: Internal structures
Slot, predicate: Internal structures
Slot, queue: Internal structures
Slot, queue: Internal classes
Slot, recycling-cells: Internal structures
Slot, rx: Internal classes
Slot, ry: Internal classes
Slot, scanlines: Internal structures
Slot, sweep-flag: Internal classes
Slot, type: Internal structures
Slot, value: Internal structures
Slot, x: Internal structures
Slot, x: Internal structures
Slot, x-axis-rotation: Internal classes
Slot, y: Internal structures
Slot, y: Internal structures
Special Variable, *arc-length-tolerance*: Exported special variables
Special Variable, *bezier-angle-tolerance*: Exported special variables
Special Variable, *bezier-distance-tolerance*: Exported special variables
Special Variable, *miter-limit*: Internal special variables
sweep-flag: Internal classes

T
type: Internal structures

V
value: Internal structures

X
x: Internal structures
x: Internal structures
x-axis-rotation: Internal classes

Y
y: Internal structures
y: Internal structures

Jump to:   *   +  
A   C   D   E   F   H   I   K   L   N   O   P   Q   R   S   T   V   X   Y  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   B   C   F   N   P   S  
Index Entry  Section

A
arc: Internal classes

B
bezier: Internal classes

C
catmull-rom: Internal classes
cell: Internal structures
cell: Internal structures
cl-aa: The cl-aa system
cl-paths: The cl-paths system
cl-vectors: The cl-vectors system
Class, arc: Internal classes
Class, bezier: Internal classes
Class, catmull-rom: Internal classes
Class, filter-distinct-state: Internal classes

F
filter-distinct-state: Internal classes

N
net.tuxee.aa: The net<dot>tuxee<dot>aa package
net.tuxee.aa-bin: The net<dot>tuxee<dot>aa-bin package
net.tuxee.paths: The net<dot>tuxee<dot>paths package
net.tuxee.vectors: The net<dot>tuxee<dot>vectors package

P
Package, net.tuxee.aa: The net<dot>tuxee<dot>aa package
Package, net.tuxee.aa-bin: The net<dot>tuxee<dot>aa-bin package
Package, net.tuxee.paths: The net<dot>tuxee<dot>paths package
Package, net.tuxee.vectors: The net<dot>tuxee<dot>vectors package
path: Internal structures
path-iterator-state: Internal structures
pi-segmented-state: Internal structures

S
state: Internal structures
state: Internal structures
Structure, cell: Internal structures
Structure, cell: Internal structures
Structure, path: Internal structures
Structure, path-iterator-state: Internal structures
Structure, pi-segmented-state: Internal structures
Structure, state: Internal structures
Structure, state: Internal structures
System, cl-aa: The cl-aa system
System, cl-paths: The cl-paths system
System, cl-vectors: The cl-vectors system

Jump to:   A   B   C   F   N   P   S