The origin Reference Manual

This is the origin Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:16:54 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 origin

A native Lisp graphics math library with an emphasis on performance and correctness.

Author

Michael Fiano <>

Home Page

https://git.mfiano.net/mfiano/origin

License

MIT

Version

0.1.0

Dependency

mfiano-utils (system).

Source

origin.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 origin/origin.asd

Source

origin.asd.

Parent Component

origin (system).

ASDF Systems

origin.


3.1.2 origin/common/package.lisp

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.common.


3.1.3 origin/common/util.lisp

Dependency

common/package.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.4 origin/common/constants.lisp

Dependency

common/util.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.constants.

Public Interface
Internals

24pi12 (constant).


3.1.5 origin/types/vec2.lisp

Dependency

common/constants.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.vec2.

Public Interface

3.1.6 origin/types/vec3.lisp

Dependency

types/vec2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.vec3.

Public Interface

3.1.7 origin/types/vec4.lisp

Dependency

types/vec3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.vec4.

Public Interface

3.1.8 origin/types/dvec2.lisp

Dependency

types/vec4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dvec2.

Public Interface

3.1.9 origin/types/dvec3.lisp

Dependency

types/dvec2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dvec3.

Public Interface

3.1.10 origin/types/dvec4.lisp

Dependency

types/dvec3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dvec4.

Public Interface

3.1.11 origin/types/mat2.lisp

Dependency

types/dvec4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.mat2.

Public Interface

3.1.12 origin/types/mat3.lisp

Dependency

types/mat2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.mat3.

Public Interface

3.1.13 origin/types/mat4.lisp

Dependency

types/mat3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.mat4.

Public Interface

3.1.14 origin/types/dmat2.lisp

Dependency

types/mat4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dmat2.

Public Interface

3.1.15 origin/types/dmat3.lisp

Dependency

types/dmat2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dmat3.

Public Interface

3.1.16 origin/types/dmat4.lisp

Dependency

types/dmat3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dmat4.

Public Interface

3.1.17 origin/types/quat.lisp

Dependency

types/dmat4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.quat.

Public Interface

3.1.18 origin/types/dquat.lisp

Dependency

types/quat.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.dquat.

Public Interface

3.1.19 origin/operations/vec2.lisp

Dependency

types/dquat.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.20 origin/operations/vec3.lisp

Dependency

operations/vec2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.21 origin/operations/vec4.lisp

Dependency

operations/vec3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.22 origin/operations/dvec2.lisp

Dependency

operations/vec4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.23 origin/operations/dvec3.lisp

Dependency

operations/dvec2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.24 origin/operations/dvec4.lisp

Dependency

operations/dvec3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.25 origin/operations/mat2.lisp

Dependency

operations/dvec4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface
Internals

random! (function).


3.1.26 origin/operations/mat3.lisp

Dependency

operations/mat2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.27 origin/operations/mat4.lisp

Dependency

operations/mat3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface
Internals

3.1.28 origin/operations/dmat2.lisp

Dependency

operations/mat4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface
Internals

random! (function).


3.1.29 origin/operations/dmat3.lisp

Dependency

operations/dmat2.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.30 origin/operations/dmat4.lisp

Dependency

operations/dmat3.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface
Internals

3.1.31 origin/operations/quat.lisp

Dependency

operations/dmat4.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.32 origin/operations/dquat.lisp

Dependency

operations/quat.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.33 origin/shaping/shaping.lisp

Dependency

operations/dquat.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.shaping.

Public Interface

3.1.34 origin/geometry/shapes/point2d.lisp

Dependency

shaping/shaping.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.point2d.

Public Interface

3.1.35 origin/geometry/shapes/line2d.lisp

Dependency

geometry/shapes/point2d.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.line2d.

Public Interface
Internals

%line (function).


3.1.36 origin/geometry/shapes/circle.lisp

Dependency

geometry/shapes/line2d.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.circle.

Public Interface
Internals

%circle (function).


3.1.37 origin/geometry/shapes/rect.lisp

Dependency

geometry/shapes/circle.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.rect.

Public Interface
Internals

3.1.38 origin/geometry/shapes/oriented-rect.lisp

Dependency

geometry/shapes/rect.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.oriented-rect.

Public Interface
Internals

3.1.39 origin/geometry/shapes/set2d.lisp

Dependency

geometry/shapes/oriented-rect.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.shape-set-2d.

Public Interface
Internals

%shape-set (function).


3.1.40 origin/geometry/shapes/point3d.lisp

Dependency

geometry/shapes/set2d.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.point3d.

Public Interface

3.1.41 origin/geometry/shapes/line3d.lisp

Dependency

geometry/shapes/point3d.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.line3d.

Public Interface
Internals

%line (function).


3.1.42 origin/geometry/shapes/ray.lisp

Dependency

geometry/shapes/line3d.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.ray.

Public Interface
Internals

%ray (function).


3.1.43 origin/geometry/shapes/sphere.lisp

Dependency

geometry/shapes/ray.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.sphere.

Public Interface
Internals

3.1.44 origin/geometry/shapes/plane.lisp

Dependency

geometry/shapes/sphere.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.plane.

Public Interface
Internals

%plane (function).


3.1.45 origin/geometry/shapes/triangle.lisp

Dependency

geometry/shapes/plane.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.triangle.

Public Interface
Internals

3.1.46 origin/geometry/shapes/aabb.lisp

Dependency

geometry/shapes/triangle.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.aabb.

Public Interface
Internals

3.1.47 origin/geometry/shapes/obb.lisp

Dependency

geometry/shapes/aabb.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.obb.

Public Interface
Internals

3.1.48 origin/geometry/shapes/set3d.lisp

Dependency

geometry/shapes/obb.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.shape-set-3d.

Public Interface
Internals

%shape-set (function).


3.1.49 origin/geometry/package.lisp

Dependency

geometry/shapes/set3d.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Packages

origin.geometry.


3.1.50 origin/geometry/bounds.lisp

Dependency

geometry/package.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.51 origin/geometry/closest-point.lisp

Dependency

geometry/bounds.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

3.1.52 origin/geometry/intersection.lisp

Dependency

geometry/closest-point.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface
Internals

3.1.53 origin/geometry/raycast.lisp

Dependency

geometry/intersection.lisp (file).

Source

origin.asd.

Parent Component

origin (system).

Public Interface

4 Packages

Packages are listed by definition order.


4.1 origin.geometry.oriented-rect

Source

geometry/shapes/oriented-rect.lisp.

Use List

common-lisp.

Public Interface
Internals

4.2 origin.shaping

Source

shaping/shaping.lisp.

Use List

common-lisp.

Public Interface

4.3 origin.geometry.line3d

Source

geometry/shapes/line3d.lisp.

Use List

common-lisp.

Public Interface
Internals

%line (function).


4.4 origin.geometry

Source

geometry/package.lisp.

Use List

common-lisp.

Public Interface
Internals

4.5 origin.quat

Source

types/quat.lisp.

Use List

common-lisp.

Public Interface

4.6 origin.dmat3

Source

types/dmat3.lisp.

Use List

common-lisp.

Public Interface

4.7 origin.geometry.triangle

Source

geometry/shapes/triangle.lisp.

Use List

common-lisp.

Public Interface
Internals

4.8 origin.vec3

Source

types/vec3.lisp.

Use List

common-lisp.

Public Interface

4.9 origin.dquat

Source

types/dquat.lisp.

Use List

common-lisp.

Public Interface

4.10 origin.geometry.point3d

Source

geometry/shapes/point3d.lisp.

Use List

common-lisp.

Public Interface

4.11 origin.constants

Source

common/constants.lisp.

Use List

common-lisp.

Public Interface
Internals

24pi12 (constant).


4.12 origin.geometry.aabb

Source

geometry/shapes/aabb.lisp.

Use List

common-lisp.

Public Interface
Internals

4.13 origin.mat3

Source

types/mat3.lisp.

Use List

common-lisp.

Public Interface

4.14 origin.dmat4

Source

types/dmat4.lisp.

Use List

common-lisp.

Public Interface
Internals

4.15 origin.geometry.sphere

Source

geometry/shapes/sphere.lisp.

Use List

common-lisp.

Public Interface
Internals

4.16 origin.geometry.shape-set-2d

Source

geometry/shapes/set2d.lisp.

Use List

common-lisp.

Public Interface
Internals

%shape-set (function).


4.17 origin.geometry.point2d

Source

geometry/shapes/point2d.lisp.

Use List

common-lisp.

Public Interface

4.18 origin.geometry.plane

Source

geometry/shapes/plane.lisp.

Use List

common-lisp.

Public Interface
Internals

%plane (function).


4.19 origin.dvec3

Source

types/dvec3.lisp.

Use List

common-lisp.

Public Interface

4.20 origin.dmat2

Source

types/dmat2.lisp.

Use List

common-lisp.

Public Interface
Internals

random! (function).


4.21 origin.vec2

Source

types/vec2.lisp.

Use List

common-lisp.

Public Interface

4.22 origin.vec4

Source

types/vec4.lisp.

Use List

common-lisp.

Public Interface

4.23 origin.geometry.rect

Source

geometry/shapes/rect.lisp.

Use List

common-lisp.

Public Interface
Internals

4.24 origin.mat4

Source

types/mat4.lisp.

Use List

common-lisp.

Public Interface
Internals

4.25 origin.dvec2

Source

types/dvec2.lisp.

Use List

common-lisp.

Public Interface

4.26 origin.geometry.circle

Source

geometry/shapes/circle.lisp.

Use List

common-lisp.

Public Interface
Internals

%circle (function).


4.27 origin.geometry.line2d

Source

geometry/shapes/line2d.lisp.

Use List

common-lisp.

Public Interface
Internals

%line (function).


4.28 origin.geometry.shape-set-3d

Source

geometry/shapes/set3d.lisp.

Use List

common-lisp.

Public Interface
Internals

%shape-set (function).


4.29 origin.geometry.ray

Source

geometry/shapes/ray.lisp.

Use List

common-lisp.

Public Interface
Internals

%ray (function).


4.30 origin.geometry.obb

Source

geometry/shapes/obb.lisp.

Use List

common-lisp.

Public Interface
Internals

4.31 origin.dvec4

Source

types/dvec4.lisp.

Use List

common-lisp.

Public Interface

4.32 origin.mat2

Source

types/mat2.lisp.

Use List

common-lisp.

Public Interface
Internals

random! (function).


4.33 origin.common

Source

common/package.lisp.

Use List

common-lisp.

Public Interface

5 Definitions

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


5.1 Public Interface


5.1.1 Constants

Constant: +back+

Constant representing a 3D unit vector facing back.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +back+

Constant representing a 3D unit vector facing back.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +deg+
Package

origin.constants.

Source

common/constants.lisp.

Constant: +deg/double+
Package

origin.constants.

Source

common/constants.lisp.

Constant: +down+

Constant representing a 3D unit vector facing down.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +down+

Constant representing a 3D unit vector facing down.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +down+

Constant representing a 2D unit vector facing down.

Package

origin.vec2.

Source

types/vec2.lisp.

Constant: +down+

Constant representing a 2D unit vector facing down.

Package

origin.dvec2.

Source

types/dvec2.lisp.

Constant: +forward+

Constant representing a 3D unit vector facing forward.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +forward+

Constant representing a 3D unit vector facing forward.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +id+
Package

origin.quat.

Source

types/quat.lisp.

Constant: +id+
Package

origin.dmat3.

Source

types/dmat3.lisp.

Constant: +id+
Package

origin.dquat.

Source

types/dquat.lisp.

Constant: +id+
Package

origin.mat3.

Source

types/mat3.lisp.

Constant: +id+
Package

origin.dmat4.

Source

types/dmat4.lisp.

Constant: +id+
Package

origin.dmat2.

Source

types/dmat2.lisp.

Constant: +id+
Package

origin.mat4.

Source

types/mat4.lisp.

Constant: +id+
Package

origin.mat2.

Source

types/mat2.lisp.

Constant: +left+

Constant representing a 3D unit vector facing left.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +left+

Constant representing a 3D unit vector facing left.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +left+

Constant representing a 2D unit vector facing left.

Package

origin.vec2.

Source

types/vec2.lisp.

Constant: +left+

Constant representing a 2D unit vector facing left.

Package

origin.dvec2.

Source

types/dvec2.lisp.

Constant: +ones+

Constant representing a 3D vector with each component being 1.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +ones+

Constant representing a 3D vector with each component being 1.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +ones+

Constant representing a 2D vector with each component being 1.

Package

origin.vec2.

Source

types/vec2.lisp.

Constant: +ones+

Constant representing a 4D vector with each component being 1.

Package

origin.vec4.

Source

types/vec4.lisp.

Constant: +ones+

Constant representing a 2D vector with each component being 1.

Package

origin.dvec2.

Source

types/dvec2.lisp.

Constant: +ones+

Constant representing a 4D vector with each component being 1.

Package

origin.dvec4.

Source

types/dvec4.lisp.

Constant: +rad+
Package

origin.constants.

Source

common/constants.lisp.

Constant: +rad/double+
Package

origin.constants.

Source

common/constants.lisp.

Constant: +right+

Constant representing a 3D unit vector facing right.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +right+

Constant representing a 3D unit vector facing right.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +right+

Constant representing a 2D unit vector facing right.

Package

origin.vec2.

Source

types/vec2.lisp.

Constant: +right+

Constant representing a 2D unit vector facing right.

Package

origin.dvec2.

Source

types/dvec2.lisp.

Constant: +up+

Constant representing a 3D unit vector facing up.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +up+

Constant representing a 3D unit vector facing up.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +up+

Constant representing a 2D unit vector facing up.

Package

origin.vec2.

Source

types/vec2.lisp.

Constant: +up+

Constant representing a 2D unit vector facing up.

Package

origin.dvec2.

Source

types/dvec2.lisp.

Constant: +zero+
Package

origin.dmat3.

Source

types/dmat3.lisp.

Constant: +zero+

Constant representing a 3D zero vector.

Package

origin.vec3.

Source

types/vec3.lisp.

Constant: +zero+
Package

origin.mat3.

Source

types/mat3.lisp.

Constant: +zero+
Package

origin.dmat4.

Source

types/dmat4.lisp.

Constant: +zero+

Constant representing a 3D zero vector.

Package

origin.dvec3.

Source

types/dvec3.lisp.

Constant: +zero+
Package

origin.dmat2.

Source

types/dmat2.lisp.

Constant: +zero+

Constant representing a 2D zero vector.

Package

origin.vec2.

Source

types/vec2.lisp.

Constant: +zero+

Constant representing a 4D zero vector.

Package

origin.vec4.

Source

types/vec4.lisp.

Constant: +zero+
Package

origin.mat4.

Source

types/mat4.lisp.

Constant: +zero+

Constant representing a 2D zero vector.

Package

origin.dvec2.

Source

types/dvec2.lisp.

Constant: +zero+

Constant representing a 4D zero vector.

Package

origin.dvec4.

Source

types/dvec4.lisp.

Constant: +zero+
Package

origin.mat2.

Source

types/mat2.lisp.

Constant: 10pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 11pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 11pi/6
Package

origin.constants.

Source

common/constants.lisp.

Constant: 12pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 13pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 14pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 15pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 16pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 17pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 18pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 19pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 20pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 21pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 22pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 23pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 2pi
Package

origin.constants.

Source

common/constants.lisp.

Constant: 2pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 2pi/3
Package

origin.constants.

Source

common/constants.lisp.

Constant: 3pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 3pi/2
Package

origin.constants.

Source

common/constants.lisp.

Constant: 3pi/4
Package

origin.constants.

Source

common/constants.lisp.

Constant: 4pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 4pi/3
Package

origin.constants.

Source

common/constants.lisp.

Constant: 5pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 5pi/3
Package

origin.constants.

Source

common/constants.lisp.

Constant: 5pi/4
Package

origin.constants.

Source

common/constants.lisp.

Constant: 5pi/6
Package

origin.constants.

Source

common/constants.lisp.

Constant: 6pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 7pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 7pi/4
Package

origin.constants.

Source

common/constants.lisp.

Constant: 7pi/6
Package

origin.constants.

Source

common/constants.lisp.

Constant: 8pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: 9pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: pi
Package

origin.constants.

Source

common/constants.lisp.

Constant: pi/12
Package

origin.constants.

Source

common/constants.lisp.

Constant: pi/2
Package

origin.constants.

Source

common/constants.lisp.

Constant: pi/3
Package

origin.constants.

Source

common/constants.lisp.

Constant: pi/4
Package

origin.constants.

Source

common/constants.lisp.

Constant: pi/6
Package

origin.constants.

Source

common/constants.lisp.


5.1.2 Macros

Macro: = (x y &optional rel abs)
Package

origin.common.

Source

common/util.lisp.

Macro: cwcmp (count subst &body body)
Package

origin.common.

Source

common/util.lisp.

Macro: cwcmp-or (count subst &body body)
Package

origin.common.

Source

common/util.lisp.

Macro: cwset (count out subst &body body)
Package

origin.common.

Source

common/util.lisp.

Macro: with-components (((prefix quat) &rest rest) &body body)
Package

origin.quat.

Source

types/quat.lisp.

Macro: with-components (((prefix matrix) &rest rest) &body body)
Package

origin.dmat3.

Source

types/dmat3.lisp.

Macro: with-components (((prefix vec) &rest rest) &body body)
Package

origin.vec3.

Source

types/vec3.lisp.

Macro: with-components (((prefix quat) &rest rest) &body body)
Package

origin.dquat.

Source

types/dquat.lisp.

Macro: with-components (((prefix matrix) &rest rest) &body body)
Package

origin.mat3.

Source

types/mat3.lisp.

Macro: with-components (((prefix matrix) &rest rest) &body body)
Package

origin.dmat4.

Source

types/dmat4.lisp.

Macro: with-components (((prefix vec) &rest rest) &body body)
Package

origin.dvec3.

Source

types/dvec3.lisp.

Macro: with-components (((prefix matrix) &rest rest) &body body)
Package

origin.dmat2.

Source

types/dmat2.lisp.

Macro: with-components (((prefix vec) &rest rest) &body body)
Package

origin.vec2.

Source

types/vec2.lisp.

Macro: with-components (((prefix vec) &rest rest) &body body)
Package

origin.vec4.

Source

types/vec4.lisp.

Macro: with-components (((prefix matrix) &rest rest) &body body)
Package

origin.mat4.

Source

types/mat4.lisp.

Macro: with-components (((prefix vec) &rest rest) &body body)
Package

origin.dvec2.

Source

types/dvec2.lisp.

Macro: with-components (((prefix vec) &rest rest) &body body)
Package

origin.dvec4.

Source

types/dvec4.lisp.

Macro: with-components (((prefix matrix) &rest rest) &body body)
Package

origin.mat2.

Source

types/mat2.lisp.


5.1.3 Ordinary functions

Function: * (quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: * (mat1 mat2)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: * (vec1 vec2)

Construct a fresh vector by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: * (quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: * (mat1 mat2)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: * (mat1 mat2)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: * (vec1 vec2)

Construct a fresh vector by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: * (mat1 mat2)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: * (vec1 vec2)

Construct a fresh vector by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: * (vec1 vec2)

Construct a fresh vector by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: * (mat1 mat2)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: * (vec1 vec2)

Construct a fresh vector by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: * (vec1 vec2)

Construct a fresh vector by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: * (mat1 mat2)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: *! (out quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: *! (out mat1 mat2)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: *! (out vec1 vec2)

Modify vector OUT by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: *! (out quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: *! (out mat1 mat2)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: *! (out mat1 mat2)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: *! (out vec1 vec2)

Modify vector OUT by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: *! (out mat1 mat2)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: *! (out vec1 vec2)

Modify vector OUT by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: *! (out vec1 vec2)

Modify vector OUT by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: *! (out mat1 mat2)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: *! (out vec1 vec2)

Modify vector OUT by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: *! (out vec1 vec2)

Modify vector OUT by performing component-wise multiplication of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: *! (out mat1 mat2)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: *v2 (mat vec)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: *v2 (mat vec)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: *v2! (out mat vec)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: *v2! (out mat vec)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: *v3 (mat vec)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: *v3 (mat vec)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: *v3! (out mat vec)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: *v3! (out mat vec)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: *v4 (mat vec)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: *v4 (mat vec)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: *v4! (out mat vec)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: *v4! (out mat vec)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: + (quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: + (mat1 mat2)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: + (vec1 vec2)

Construct a fresh vector by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: + (quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: + (mat1 mat2)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: + (mat1 mat2)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: + (vec1 vec2)

Construct a fresh vector by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: + (mat1 mat2)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: + (vec1 vec2)

Construct a fresh vector by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: + (vec1 vec2)

Construct a fresh vector by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: + (mat1 mat2)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: + (vec1 vec2)

Construct a fresh vector by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: + (vec1 vec2)

Construct a fresh vector by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: + (mat1 mat2)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: +! (out quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: +! (out mat1 mat2)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: +! (out vec1 vec2)

Modify vector OUT by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: +! (out quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: +! (out mat1 mat2)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: +! (out mat1 mat2)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: +! (out vec1 vec2)

Modify vector OUT by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: +! (out mat1 mat2)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: +! (out vec1 vec2)

Modify vector OUT by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: +! (out vec1 vec2)

Modify vector OUT by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: +! (out mat1 mat2)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: +! (out vec1 vec2)

Modify vector OUT by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: +! (out vec1 vec2)

Modify vector OUT by performing component-wise addition of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: +! (out mat1 mat2)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: - (quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: - (mat1 mat2)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: - (vec1 vec2)

Construct a fresh vector by performing component-wise substraction of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: - (quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: - (mat1 mat2)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: - (mat1 mat2)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: - (vec1 vec2)

Construct a fresh vector by performing component-wise substraction of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: - (mat1 mat2)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: - (vec1 vec2)

Construct a fresh vector by performing component-wise substraction of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: - (vec1 vec2)

Construct a fresh vector by performing component-wise substraction of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: - (mat1 mat2)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: - (vec1 vec2)

Construct a fresh vector by performing component-wise substraction of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: - (vec1 vec2)

Construct a fresh vector by performing component-wise substraction of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: - (mat1 mat2)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: -! (out quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: -! (out mat1 mat2)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: -! (out vec1 vec2)

Modify vector OUT by performing component-wise subtraction of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: -! (out quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: -! (out mat1 mat2)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: -! (out mat1 mat2)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: -! (out vec1 vec2)

Modify vector OUT by performing component-wise subtraction of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: -! (out mat1 mat2)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: -! (out vec1 vec2)

Modify vector OUT by performing component-wise subtraction of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: -! (out vec1 vec2)

Modify vector OUT by performing component-wise subtraction of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: -! (out mat1 mat2)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: -! (out vec1 vec2)

Modify vector OUT by performing component-wise subtraction of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: -! (out vec1 vec2)

Modify vector OUT by performing component-wise subtraction of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: -! (out mat1 mat2)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: / (vec1 vec2)

Construct a fresh vector by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: / (vec1 vec2)

Construct a fresh vector by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: / (vec1 vec2)

Construct a fresh vector by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: / (vec1 vec2)

Construct a fresh vector by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: / (vec1 vec2)

Construct a fresh vector by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: / (vec1 vec2)

Construct a fresh vector by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: /! (out vec1 vec2)

Modify vector OUT by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: /! (out vec1 vec2)

Modify vector OUT by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: /! (out vec1 vec2)

Modify vector OUT by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: /! (out vec1 vec2)

Modify vector OUT by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: /! (out vec1 vec2)

Modify vector OUT by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: /! (out vec1 vec2)

Modify vector OUT by performing component-wise division of vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: < (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than the respective components of vector VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: < (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than the respective components of vector VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: < (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than the respective components of vector VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: < (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than the respective components of vector VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: < (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than the respective components of vector VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: < (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than the respective components of vector VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: <= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than or equal to the respective components of vector VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: <= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than or equal to the respective components of vector VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: <= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than or equal to the respective components of vector VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: <= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than or equal to the respective components of vector VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: <= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than or equal to the respective components of vector VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: <= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is less than or equal to the respective components of vector VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: = (quat1 quat2 &key rel abs)
Package

origin.quat.

Source

operations/quat.lisp.

Function: = (mat1 mat2 &key rel abs)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: = (vec1 vec2 &key rel abs)

Compare vectors VEC1 and VEC2 for equality. REL and ABS are the relative and absolute tolerances to compare by, and should be tuned specially for the application domain.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: = (quat1 quat2 &key rel abs)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: = (mat1 mat2 &key rel abs)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: = (mat1 mat2 &key rel abs)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: = (vec1 vec2 &key rel abs)

Compare vectors VEC1 and VEC2 for equality. REL and ABS are the relative and absolute tolerances to compare by, and should be tuned specially for the application domain.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: = (mat1 mat2 &key rel abs)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: = (vec1 vec2 &key rel abs)

Compare vectors VEC1 and VEC2 for equality. REL and ABS are the relative and absolute tolerances to compare by, and should be tuned specially for the application domain.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: = (vec1 vec2 &key rel abs)

Compare vectors VEC1 and VEC2 for equality. REL and ABS are the relative and absolute tolerances to compare by, and should be tuned specially for the application domain.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: = (mat1 mat2 &key rel abs)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: = (vec1 vec2 &key rel abs)

Compare vectors VEC1 and VEC2 for equality. REL and ABS are the relative and absolute tolerances to compare by, and should be tuned specially for the application domain.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: = (vec1 vec2 &key rel abs)

Compare vectors VEC1 and VEC2 for equality. REL and ABS are the relative and absolute tolerances to compare by, and should be tuned specially for the application domain.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: = (mat1 mat2 &key rel abs)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: > (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than the respective components of vector VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: > (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than the respective components of vector VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: > (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than the respective components of vector VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: > (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than the respective components of vector VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: > (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than the respective components of vector VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: > (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than the respective components of vector VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: >= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than or equal to the respective components of vector VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: >= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than or equal to the respective components of vector VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: >= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than or equal to the respective components of vector VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: >= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than or equal to the respective components of vector VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: >= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than or equal to the respective components of vector VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: >= (vec1 vec2 &optional op)

Check whether or not each component of vector VEC1 is greater than or equal to the respective components of vector VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: aabb (&key origin size)
Package

origin.geometry.aabb.

Source

geometry/shapes/aabb.lisp.

Function: aabb-from-min/max (&key min max)

Construct an AABB from a MINIMUM and MAXIMUM points.

Package

origin.geometry.aabb.

Source

geometry/shapes/aabb.lisp.

Function: aabb-p (object)
Package

origin.geometry.aabb.

Source

geometry/shapes/aabb.lisp.

Function: aabb/aabb (aabb1 aabb2)

Test if two AABBs intersect.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: aabb/obb (aabb obb)

Test if an AABB intersects an OBB.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: aabb/plane (aabb plane)

Test if an AABB intersects a plane.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: aabb/point3d (aabb point)

Test if an AABB contains a 3D point.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: aabb/sphere (aabb sphere)

Test if an AABB intersects a sphere.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Reader: aabbs (instance)
Writer: (setf aabbs) (instance)
Package

origin.geometry.shape-set-3d.

Source

geometry/shapes/set3d.lisp.

Target Slot

aabbs.

Function: abs (vec)

Construct a fresh vector to have the absolute value of each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: abs (vec)

Construct a fresh vector to have the absolute value of each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: abs (vec)

Construct a fresh vector to have the absolute value of each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: abs (vec)

Construct a fresh vector to have the absolute value of each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: abs (vec)

Construct a fresh vector to have the absolute value of each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: abs (vec)

Construct a fresh vector to have the absolute value of each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: abs! (out vec)

Modify vector OUT to have the absolute value of each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: abs! (out vec)

Modify vector OUT to have the absolute value of each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: abs! (out vec)

Modify vector OUT to have the absolute value of each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: abs! (out vec)

Modify vector OUT to have the absolute value of each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: abs! (out vec)

Modify vector OUT to have the absolute value of each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: abs! (out vec)

Modify vector OUT to have the absolute value of each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: acos (vec)

Construct a fresh vector which has the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: acos (vec)

Construct a fresh vector which has the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: acos (vec)

Construct a fresh vector which has the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: acos (vec)

Construct a fresh vector which has the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: acos (vec)

Construct a fresh vector which has the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: acos (vec)

Construct a fresh vector which has the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: acos! (out vec)

Modify vector OUT to have the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: acos! (out vec)

Modify vector OUT to have the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: acos! (out vec)

Modify vector OUT to have the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: acos! (out vec)

Modify vector OUT to have the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: acos! (out vec)

Modify vector OUT to have the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: acos! (out vec)

Modify vector OUT to have the trigonometric arccosine function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Reader: angle (instance)
Writer: (setf angle) (instance)
Package

origin.geometry.oriented-rect.

Source

geometry/shapes/oriented-rect.lisp.

Target Slot

angle.

Function: angle (vec1 vec2)

Compute the angle in radians between the vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: angle (vec1 vec2)

Compute the angle in radians between the vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: angle (vec1 vec2)

Compute the angle in radians between the vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: angle (vec1 vec2)

Compute the angle in radians between the vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: angle (vec1 vec2)

Compute the angle in radians between the vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: angle (vec1 vec2)

Compute the angle in radians between the vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: anti-diagonal (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: anti-diagonal (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: anti-diagonal (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: anti-diagonal (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: anti-diagonal (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: anti-diagonal (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: anti-diagonal! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: anti-diagonal! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: anti-diagonal! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: anti-diagonal! (out mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: anti-diagonal! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: anti-diagonal! (out mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: asin (vec)

Construct a fresh vector which has the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: asin (vec)

Construct a fresh vector which has the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: asin (vec)

Construct a fresh vector which has the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: asin (vec)

Construct a fresh vector which has the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: asin (vec)

Construct a fresh vector which has the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: asin (vec)

Construct a fresh vector which has the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: asin! (out vec)

Modify vector OUT to have the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: asin! (out vec)

Modify vector OUT to have the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: asin! (out vec)

Modify vector OUT to have the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: asin! (out vec)

Modify vector OUT to have the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: asin! (out vec)

Modify vector OUT to have the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: asin! (out vec)

Modify vector OUT to have the trigonometric arcsine function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: atan (vec)

Construct a fresh vector which has the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: atan (vec)

Construct a fresh vector which has the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: atan (vec)

Construct a fresh vector which has the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: atan (vec)

Construct a fresh vector which has the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: atan (vec)

Construct a fresh vector which has the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: atan (vec)

Construct a fresh vector which has the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: atan! (out vec)

Modify vector OUT to have the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: atan! (out vec)

Modify vector OUT to have the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: atan! (out vec)

Modify vector OUT to have the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: atan! (out vec)

Modify vector OUT to have the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: atan! (out vec)

Modify vector OUT to have the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: atan! (out vec)

Modify vector OUT to have the trigonometric arctangent function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: back-in (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: back-in-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: back-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: bounce-in (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: bounce-in-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: bounce-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: bounding-circle (points)

Construct a minimum bounding circle that encompasses all points in the supplied vector of 2D points.

Package

origin.geometry.

Source

geometry/bounds.lisp.

Function: bounding-rect (points)

Construct a minimum bounding rect that encompasses all points in the supplied vector of 2D points.

Package

origin.geometry.

Source

geometry/bounds.lisp.

Function: ceiling (vec &optional divisor)

Construct a fresh vector that has the nearest integer greater than or equal to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: ceiling (vec &optional divisor)

Construct a fresh vector that has the nearest integer greater than or equal to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: ceiling (vec &optional divisor)

Construct a fresh vector that has the nearest integer greater than or equal to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: ceiling (vec &optional divisor)

Construct a fresh vector that has the nearest integer greater than or equal to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: ceiling (vec &optional divisor)

Construct a fresh vector that has the nearest integer greater than or equal to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: ceiling (vec &optional divisor)

Construct a fresh vector that has the nearest integer greater than or equal to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: ceiling! (out vec &optional divisor)

Modify vector OUT to have the nearest integer greater than or equal to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: ceiling! (out vec &optional divisor)

Modify vector OUT to have the nearest integer greater than or equal to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: ceiling! (out vec &optional divisor)

Modify vector OUT to have the nearest integer greater than or equal to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: ceiling! (out vec &optional divisor)

Modify vector OUT to have the nearest integer greater than or equal to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: ceiling! (out vec &optional divisor)

Modify vector OUT to have the nearest integer greater than or equal to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: ceiling! (out vec &optional divisor)

Modify vector OUT to have the nearest integer greater than or equal to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: circle (&key origin radius)
Package

origin.geometry.circle.

Source

geometry/shapes/circle.lisp.

Function: circle-p (object)
Package

origin.geometry.circle.

Source

geometry/shapes/circle.lisp.

Function: circle/circle (circle1 circle2)

Test if two circles intersect.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: circle/line2d (circle line)

Test if a circle intersects a 2D line.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: circle/oriented-rect (circle rect)

Test if a circle intersects an oriented rect.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: circle/point2d (circle point)

Test if a circle contains a 2D point.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: circle/rect (circle rect)

Test if a circle intersects a rect.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: circle/shape-set-2d (circle shape-set)

Test if a circle intersects any of a 2D shape set’s shapes.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Reader: circles (instance)
Writer: (setf circles) (instance)
Package

origin.geometry.shape-set-2d.

Source

geometry/shapes/set2d.lisp.

Target Slot

circles.

Function: circular-in (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: circular-in-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: circular-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: clamp (mat min max)

Construct a fresh matrix that has the components of matrix MAT bounded by the components of matrices MIN and MAX.

Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: clamp (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by the components of vectors MIN and MAX.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: clamp (mat min max)

Construct a fresh matrix that has the components of matrix MAT bounded by the components of matrices MIN and MAX.

Package

origin.mat3.

Source

operations/mat3.lisp.

Function: clamp (mat min max)

Construct a fresh matrix that has the components of matrix MAT bounded by the components of matrices MIN and MAX.

Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: clamp (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by the components of vectors MIN and MAX.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: clamp (mat min max)

Construct a fresh matrix that has the components of matrix MAT bounded by the components of matrices MIN and MAX.

Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: clamp (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by the components of vectors MIN and MAX.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: clamp (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by the components of vectors MIN and MAX.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: clamp (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by the components of vectors MIN and MAX.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: clamp (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by the components of vectors MIN and MAX.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: clamp (mat min max)

Construct a fresh matrix that has the components of matrix MAT bounded by the components of matrices MIN and MAX.

Package

origin.mat2.

Source

operations/mat2.lisp.

Function: clamp! (out mat min max)

Modify matrix OUT to have its components represent the components of matrix MAT, bounded by the components of matrices MIN and MAX.

Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: clamp! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by the components of vectors MIN and MAX.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: clamp! (out mat min max)

Modify matrix OUT to have its components represent the components of matrix MAT, bounded by the components of matrices MIN and MAX.

Package

origin.mat3.

Source

operations/mat3.lisp.

Function: clamp! (out mat min max)

Modify matrix OUT to have its components represent the components of matrix MAT, bounded by the components of matrices MIN and MAX.

Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: clamp! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by the components of vectors MIN and MAX.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: clamp! (out mat min max)

Modify matrix OUT to have its components represent the components of matrix MAT, bounded by the components of matrices MIN and MAX.

Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: clamp! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by the components of vectors MIN and MAX.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: clamp! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by the components of vectors MIN and MAX.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: clamp! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by the components of vectors MIN and MAX.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: clamp! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by the components of vectors MIN and MAX.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: clamp! (out mat min max)

Modify matrix OUT to have its components represent the components of matrix MAT, bounded by the components of matrices MIN and MAX.

Package

origin.mat2.

Source

operations/mat2.lisp.

Function: clamp-range (mat min max)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: clamp-range (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by MIN and MAX.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: clamp-range (mat min max)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: clamp-range (mat min max)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: clamp-range (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by MIN and MAX.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: clamp-range (mat min max)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: clamp-range (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by MIN and MAX.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: clamp-range (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by MIN and MAX.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: clamp-range (mat min max)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: clamp-range (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by MIN and MAX.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: clamp-range (vec min max)

Construct a fresh vector that has the components of vector VEC bounded by MIN and MAX.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: clamp-range (mat min max)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: clamp-range! (out mat min max)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: clamp-range! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by MIN and MAX.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: clamp-range! (out mat min max)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: clamp-range! (out mat min max)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: clamp-range! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by MIN and MAX.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: clamp-range! (out mat min max)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: clamp-range! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by MIN and MAX.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: clamp-range! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by MIN and MAX.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: clamp-range! (out mat min max)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: clamp-range! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by MIN and MAX.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: clamp-range! (out vec min max)

Modify vector OUT to have its components represent the components of vector VEC, bounded by MIN and MAX.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: clamp-range! (out mat min max)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: closest-point-aabb (aabb point)
Package

origin.geometry.

Source

geometry/closest-point.lisp.

Function: closest-point-line3d (line point)
Package

origin.geometry.

Source

geometry/closest-point.lisp.

Function: closest-point-obb (obb point)
Package

origin.geometry.

Source

geometry/closest-point.lisp.

Function: closest-point-plane (plane point)
Package

origin.geometry.

Source

geometry/closest-point.lisp.

Function: closest-point-ray (ray point)
Package

origin.geometry.

Source

geometry/closest-point.lisp.

Function: closest-point-sphere (sphere point)
Package

origin.geometry.

Source

geometry/closest-point.lisp.

Function: conjugate (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: conjugate (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: conjugate! (out quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: conjugate! (out quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: copy (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: copy (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: copy (vec)

Construct a fresh vector that is a copy of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: copy (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: copy (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: copy (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: copy (vec)

Construct a fresh vector that is a copy of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: copy (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: copy (vec)

Construct a fresh vector that is a copy of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: copy (vec)

Construct a fresh vector that is a copy of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: copy (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: copy (vec)

Construct a fresh vector that is a copy of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: copy (vec)

Construct a fresh vector that is a copy of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: copy (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: copy! (out quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: copy! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: copy! (out vec)

Modify vector OUT by copying the components of vector VEC into it.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: copy! (out quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: copy! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: copy! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: copy! (out vec)

Modify vector OUT by copying the components of vector VEC into it.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: copy! (out mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: copy! (out vec)

Modify vector OUT by copying the components of vector VEC into it.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: copy! (out vec)

Modify vector OUT by copying the components of vector VEC into it.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: copy! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: copy! (out vec)

Modify vector OUT by copying the components of vector VEC into it.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: copy! (out vec)

Modify vector OUT by copying the components of vector VEC into it.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: copy! (out mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: copy-rotation (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: copy-rotation (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: copy-rotation (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: copy-rotation (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: copy-rotation! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: copy-rotation! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: copy-rotation! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: copy-rotation! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: cos (vec)

Construct a fresh vector which has the trigonometric cosine function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: cos (vec)

Construct a fresh vector which has the trigonometric cosine function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: cos (vec)

Construct a fresh vector which has the trigonometric cosine function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: cos (vec)

Construct a fresh vector which has the trigonometric cosine function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: cos (vec)

Construct a fresh vector which has the trigonometric cosine function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: cos (vec)

Construct a fresh vector which has the trigonometric cosine function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: cos! (out vec)

Modify vector OUT to have the trigonometric cosine function applied to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: cos! (out vec)

Modify vector OUT to have the trigonometric cosine function applied to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: cos! (out vec)

Modify vector OUT to have the trigonometric cosine function applied to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: cos! (out vec)

Modify vector OUT to have the trigonometric cosine function applied to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: cos! (out vec)

Modify vector OUT to have the trigonometric cosine function applied to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: cos! (out vec)

Modify vector OUT to have the trigonometric cosine function applied to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: cross (quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: cross (vec1 vec2)

Construct a fresh vector with the result of the cross product between vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: cross (quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: cross (vec1 vec2)

Construct a fresh vector with the result of the cross product between vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: cross! (out quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: cross! (out vec1 vec2)

Modify vector OUT to be the result of the cross product between vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: cross! (out quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: cross! (out vec1 vec2)

Modify vector OUT to be the result of the cross product between vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: cubic-in (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: cubic-in-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: cubic-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: degrees (vec)

Construct a fresh vector with the components in vector VEC, which are assumed to be in radian units, converted to degree units.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: degrees (vec)

Construct a fresh vector with the components in vector VEC, which are assumed to be in radian units, converted to degree units.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: degrees (vec)

Construct a fresh vector with the components in vector VEC, which are assumed to be in radian units, converted to degree units.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: degrees (vec)

Construct a fresh vector with the components in vector VEC, which are assumed to be in radian units, converted to degree units.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: degrees (vec)

Construct a fresh vector with the components in vector VEC, which are assumed to be in radian units, converted to degree units.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: degrees (vec)

Construct a fresh vector with the components in vector VEC, which are assumed to be in radian units, converted to degree units.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: degrees! (out vec)

Modify vector OUT to convert the components in vector VEC, which are assumed to be in radian units, to degree units.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: degrees! (out vec)

Modify vector OUT to convert the components in vector VEC, which are assumed to be in radian units, to degree units.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: degrees! (out vec)

Modify vector OUT to convert the components in vector VEC, which are assumed to be in radian units, to degree units.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: degrees! (out vec)

Modify vector OUT to convert the components in vector VEC, which are assumed to be in radian units, to degree units.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: degrees! (out vec)

Modify vector OUT to convert the components in vector VEC, which are assumed to be in radian units, to degree units.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: degrees! (out vec)

Modify vector OUT to convert the components in vector VEC, which are assumed to be in radian units, to degree units.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: determinant (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: determinant (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: determinant (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: determinant (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: diagonal-p (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: diagonal-p (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: diagonal-p (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: diagonal-p (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: diagonal-p (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: diagonal-p (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: direction (line)
Package

origin.geometry.line3d.

Source

geometry/shapes/line3d.lisp.

Function: direction (line)
Package

origin.geometry.line2d.

Source

geometry/shapes/line2d.lisp.

Reader: direction (instance)
Writer: (setf direction) (instance)
Package

origin.geometry.ray.

Source

geometry/shapes/ray.lisp.

Target Slot

direction.

Function: direction= (vec1 vec2 &key rel abs)

Check whether or not vectors VEC1 and VEC2 are facing in the same direction.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: direction= (vec1 vec2 &key rel abs)

Check whether or not vectors VEC1 and VEC2 are facing in the same direction.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: direction= (vec1 vec2 &key rel abs)

Check whether or not vectors VEC1 and VEC2 are facing in the same direction.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: direction= (vec1 vec2 &key rel abs)

Check whether or not vectors VEC1 and VEC2 are facing in the same direction.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: direction= (vec1 vec2 &key rel abs)

Check whether or not vectors VEC1 and VEC2 are facing in the same direction.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: direction= (vec1 vec2 &key rel abs)

Check whether or not vectors VEC1 and VEC2 are facing in the same direction.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: distance (point1 point2)
Package

origin.geometry.point3d.

Source

geometry/shapes/point3d.lisp.

Function: distance (point1 point2)
Package

origin.geometry.point2d.

Source

geometry/shapes/point2d.lisp.

Reader: distance (instance)
Writer: (setf distance) (instance)
Package

origin.geometry.plane.

Source

geometry/shapes/plane.lisp.

Target Slot

distance.

Function: distance-squared (point1 point2)
Package

origin.geometry.point3d.

Source

geometry/shapes/point3d.lisp.

Function: distance-squared (point1 point2)
Package

origin.geometry.point2d.

Source

geometry/shapes/point2d.lisp.

Function: dot (quat1 quat2)
Package

origin.quat.

Source

operations/quat.lisp.

Function: dot (vec1 vec2)

Compute the dot product of vectors VEC1 and VEC2. Returns a scalar.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: dot (quat1 quat2)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: dot (vec1 vec2)

Compute the dot product of vectors VEC1 and VEC2. Returns a scalar.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: dot (vec1 vec2)

Compute the dot product of vectors VEC1 and VEC2. Returns a scalar.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: dot (vec1 vec2)

Compute the dot product of vectors VEC1 and VEC2. Returns a scalar.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: dot (vec1 vec2)

Compute the dot product of vectors VEC1 and VEC2. Returns a scalar.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: dot (vec1 vec2)

Compute the dot product of vectors VEC1 and VEC2. Returns a scalar.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: elastic-in (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: elastic-in-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: elastic-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Reader: end (instance)
Writer: (setf end) (instance)
Package

origin.geometry.line3d.

Source

geometry/shapes/line3d.lisp.

Target Slot

end.

Reader: end (instance)
Writer: (setf end) (instance)
Package

origin.geometry.line2d.

Source

geometry/shapes/line2d.lisp.

Target Slot

end.

Function: exponential-in (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: exponential-in-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: exponential-out (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: expt (vec power)

Construct a fresh vector with the components in vector VEC raised to the power of POWER.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: expt (vec power)

Construct a fresh vector with the components in vector VEC raised to the power of POWER.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: expt (vec power)

Construct a fresh vector with the components in vector VEC raised to the power of POWER.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: expt (vec power)

Construct a fresh vector with the components in vector VEC raised to the power of POWER.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: expt (vec power)

Construct a fresh vector with the components in vector VEC raised to the power of POWER.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: expt (vec power)

Construct a fresh vector with the components in vector VEC raised to the power of POWER.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: expt! (out vec power)

Modify vector OUT to be the components in vector VEC raised to the power of POWER.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: expt! (out vec power)

Modify vector OUT to be the components in vector VEC raised to the power of POWER.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: expt! (out vec power)

Modify vector OUT to be the components in vector VEC raised to the power of POWER.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: expt! (out vec power)

Modify vector OUT to be the components in vector VEC raised to the power of POWER.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: expt! (out vec power)

Modify vector OUT to be the components in vector VEC raised to the power of POWER.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: expt! (out vec power)

Modify vector OUT to be the components in vector VEC raised to the power of POWER.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: find-min-max (points)

Find the minimum and maximum points (extents) of a 3D point cloud vector.

Package

origin.geometry.point3d.

Source

geometry/shapes/point3d.lisp.

Function: find-min-max (points)

Find the minimum and maximum points (extents) of a 2D point cloud vector.

Package

origin.geometry.point2d.

Source

geometry/shapes/point2d.lisp.

Function: floor (vec &optional divisor)

Construct a fresh vector that has the nearest integer less than or equal to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: floor (vec &optional divisor)

Construct a fresh vector that has the nearest integer less than or equal to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: floor (vec &optional divisor)

Construct a fresh vector that has the nearest integer less than or equal to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: floor (vec &optional divisor)

Construct a fresh vector that has the nearest integer less than or equal to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: floor (vec &optional divisor)

Construct a fresh vector that has the nearest integer less than or equal to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: floor (vec &optional divisor)

Construct a fresh vector that has the nearest integer less than or equal to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: floor! (out vec &optional divisor)

Modify vector OUT to have the nearest integer less than or equal to each component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: floor! (out vec &optional divisor)

Modify vector OUT to have the nearest integer less than or equal to each component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: floor! (out vec &optional divisor)

Modify vector OUT to have the nearest integer less than or equal to each component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: floor! (out vec &optional divisor)

Modify vector OUT to have the nearest integer less than or equal to each component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: floor! (out vec &optional divisor)

Modify vector OUT to have the nearest integer less than or equal to each component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: floor! (out vec &optional divisor)

Modify vector OUT to have the nearest integer less than or equal to each component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: fract (vec)

Construct a fresh vector that has its components contain the fractional portion of the components in vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: fract (vec)

Construct a fresh vector that has its components contain the fractional portion of the components in vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: fract (vec)

Construct a fresh vector that has its components contain the fractional portion of the components in vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: fract (vec)

Construct a fresh vector that has its components contain the fractional portion of the components in vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: fract (vec)

Construct a fresh vector that has its components contain the fractional portion of the components in vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: fract (vec)

Construct a fresh vector that has its components contain the fractional portion of the components in vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: fract! (out vec)

Modify vector OUT to have its components contain the fractional portion of the components in vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: fract! (out vec)

Modify vector OUT to have its components contain the fractional portion of the components in vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: fract! (out vec)

Modify vector OUT to have its components contain the fractional portion of the components in vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: fract! (out vec)

Modify vector OUT to have its components contain the fractional portion of the components in vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: fract! (out vec)

Modify vector OUT to have its components contain the fractional portion of the components in vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: fract! (out vec)

Modify vector OUT to have its components contain the fractional portion of the components in vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: from-axis-angle (axis angle)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-axis-angle (axis angle)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-axis-angle! (out axis angle)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-axis-angle! (out axis angle)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-mat3 (mat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-mat3 (mat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-mat3! (out mat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-mat3! (out mat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-mat4 (mat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-mat4 (mat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-mat4! (out mat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-mat4! (out mat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-velocity (velocity delta)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-velocity (velocity delta)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: from-velocity! (out velocity delta)
Package

origin.quat.

Source

operations/quat.lisp.

Function: from-velocity! (out velocity delta)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: get-column (mat index)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: get-column (mat index)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: get-column (mat index)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: get-column (mat index)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: get-column (mat index)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: get-column (mat index)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: get-column! (out mat index)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: get-column! (out mat index)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: get-column! (out mat index)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: get-column! (out mat index)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: get-column! (out mat index)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: get-column! (out mat index)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: get-scale (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: get-scale (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: get-scale (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: get-scale (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: get-scale (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: get-scale (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: get-scale! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: get-scale! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: get-scale! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: get-scale! (out mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: get-scale! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: get-scale! (out mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: get-translation (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: get-translation (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: get-translation (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: get-translation (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: get-translation! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: get-translation! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: get-translation! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: get-translation! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Reader: half-extents (instance)
Writer: (setf half-extents) (instance)
Package

origin.geometry.oriented-rect.

Source

geometry/shapes/oriented-rect.lisp.

Target Slot

half-extents.

Function: hermite-curve (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: id ()
Package

origin.quat.

Source

operations/quat.lisp.

Function: id ()
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: id ()
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: id ()
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: id ()
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: id ()
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: id ()
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: id ()
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: id! (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: id! (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: id! (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: id! (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: id! (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: id! (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: id! (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: id! (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: id-p (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: id-p (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: id-p (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: id-p (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: id-p (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: id-p (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: id-p (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: id-p (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: inverse (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: inverse (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: inverse! (out quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: inverse! (out quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: invert (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: invert (vec)

Construct a fresh vector with each component being the inverted component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: invert (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: invert (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: invert (vec)

Construct a fresh vector with each component being the inverted component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: invert (vec)

Construct a fresh vector with each component being the inverted component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: invert (vec)

Construct a fresh vector with each component being the inverted component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: invert (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: invert (vec)

Construct a fresh vector with each component being the inverted component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: invert (vec)

Construct a fresh vector with each component being the inverted component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: invert! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: invert! (out vec)

Modify vector OUT to have each component be the inverted component of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: invert! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: invert! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: invert! (out vec)

Modify vector OUT to have each component be the inverted component of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: invert! (out vec)

Modify vector OUT to have each component be the inverted component of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: invert! (out vec)

Modify vector OUT to have each component be the inverted component of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: invert! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: invert! (out vec)

Modify vector OUT to have each component be the inverted component of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: invert! (out vec)

Modify vector OUT to have each component be the inverted component of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: invert-orthogonal (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: invert-orthogonal (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: invert-orthogonal! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: invert-orthogonal! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: length (line)
Package

origin.geometry.line3d.

Source

geometry/shapes/line3d.lisp.

Function: length (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: length (vec)

Compute the length of vector VEC. Returns a scalar.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: length (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: length (vec)

Compute the length of vector VEC. Returns a scalar.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: length (vec)

Compute the length of vector VEC. Returns a scalar.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: length (vec)

Compute the length of vector VEC. Returns a scalar.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: length (vec)

Compute the length of vector VEC. Returns a scalar.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: length (line)
Package

origin.geometry.line2d.

Source

geometry/shapes/line2d.lisp.

Function: length (vec)

Compute the length of vector VEC. Returns a scalar.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: length-squared (line)
Package

origin.geometry.line3d.

Source

geometry/shapes/line3d.lisp.

Function: length-squared (quat)
Package

origin.quat.

Source

operations/quat.lisp.

Function: length-squared (vec)

Compute the squared length of vector VEC.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: length-squared (quat)
Package

origin.dquat.

Source

operations/dquat.lisp.

Function: length-squared (vec)

Compute the squared length of vector VEC.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: length-squared (vec)

Compute the squared length of vector VEC.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: length-squared (vec)

Compute the squared length of vector VEC.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: length-squared (vec)

Compute the squared length of vector VEC.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: length-squared (line)
Package

origin.geometry.line2d.

Source

geometry/shapes/line2d.lisp.

Function: length-squared (vec)

Compute the squared length of vector VEC.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: lerp (vec1 vec2 factor)

Construct a fresh vector that is the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: lerp (vec1 vec2 factor)

Construct a fresh vector that is the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: lerp (vec1 vec2 factor)

Construct a fresh vector that is the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: lerp (vec1 vec2 factor)

Construct a fresh vector that is the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: lerp (vec1 vec2 factor)

Construct a fresh vector that is the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: lerp (vec1 vec2 factor)

Construct a fresh vector that is the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: lerp! (out vec1 vec2 factor)

Modify vector OUT with the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: lerp! (out vec1 vec2 factor)

Modify vector OUT with the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: lerp! (out vec1 vec2 factor)

Modify vector OUT with the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: lerp! (out vec1 vec2 factor)

Modify vector OUT with the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: lerp! (out vec1 vec2 factor)

Modify vector OUT with the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: lerp! (out vec1 vec2 factor)

Modify vector OUT with the result of linearly interpolating between vectors VEC1 and VEC2 by FACTOR.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: line (&key start end)
Package

origin.geometry.line3d.

Source

geometry/shapes/line3d.lisp.

Function: line (&key start end)
Package

origin.geometry.line2d.

Source

geometry/shapes/line2d.lisp.

Function: line2d/circle (line circle)

Test if a 2D line intersects a circle.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: line2d/oriented-rect (line rect)

Test if a 2D line intersects an oriented rect.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: line2d/point2d (line point)

Test if a 2D line contains a 2D point.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: line2d/rect (line rect)

Test if a 2D line intersects a rect.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: line2d/shape-set-2d (line shape-set)

Test if a 2D line intersects any of a 2D shape set’s shapes.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: line3d/point3d (line point)

Test if a 3D line contains a 3D point.

Package

origin.geometry.

Source

geometry/intersection.lisp.

Function: linear (x)
Package

origin.shaping.

Source

shaping/shaping.lisp.

Function: look-at (eye target up)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: look-at (eye target up)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: look-at! (out eye target up)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: look-at! (out eye target up)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: main-diagonal (mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: main-diagonal (mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: main-diagonal (mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: main-diagonal (mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: main-diagonal (mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: main-diagonal (mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: main-diagonal! (out mat)
Package

origin.dmat3.

Source

operations/dmat3.lisp.

Function: main-diagonal! (out mat)
Package

origin.mat3.

Source

operations/mat3.lisp.

Function: main-diagonal! (out mat)
Package

origin.dmat4.

Source

operations/dmat4.lisp.

Function: main-diagonal! (out mat)
Package

origin.dmat2.

Source

operations/dmat2.lisp.

Function: main-diagonal! (out mat)
Package

origin.mat4.

Source

operations/mat4.lisp.

Function: main-diagonal! (out mat)
Package

origin.mat2.

Source

operations/mat2.lisp.

Function: make-accessor-symbol (prefix &rest args)
Package

origin.common.

Source

common/util.lisp.

Function: mat (m00 m10 m20 m01 m11 m21 m02 m12 m22)
Package

origin.dmat3.

Source

types/dmat3.lisp.

Function: mat (m00 m10 m20 m01 m11 m21 m02 m12 m22)
Package

origin.mat3.

Source

types/mat3.lisp.

Function: mat (m00 m10 m20 m30 m01 m11 m21 m31 m02 m12 m22 m32 m03 m13 m23 m33)
Package

origin.dmat4.

Source

types/dmat4.lisp.

Function: mat (m00 m10 m01 m11)
Package

origin.dmat2.

Source

types/dmat2.lisp.

Function: mat (m00 m10 m20 m30 m01 m11 m21 m31 m02 m12 m22 m32 m03 m13 m23 m33)
Package

origin.mat4.

Source

types/mat4.lisp.

Function: mat (m00 m10 m01 m11)
Package

origin.mat2.

Source

types/mat2.lisp.

Function: max (vec1 vec2)

Construct a fresh vector which has the maximum value of each component in vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: max (aabb)

Return the maximum point of an AABB.

Package

origin.geometry.aabb.

Source

geometry/shapes/aabb.lisp.

Function: max (vec1 vec2)

Construct a fresh vector which has the maximum value of each component in vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: max (vec1 vec2)

Construct a fresh vector which has the maximum value of each component in vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: max (vec1 vec2)

Construct a fresh vector which has the maximum value of each component in vectors VEC1 and VEC2.

Package

origin.vec4.

Source

operations/vec4.lisp.

Function: max (rect)

Return the maximum point of a rect.

Package

origin.geometry.rect.

Source

geometry/shapes/rect.lisp.

Function: max (vec1 vec2)

Construct a fresh vector which has the maximum value of each component in vectors VEC1 and VEC2.

Package

origin.dvec2.

Source

operations/dvec2.lisp.

Function: max (vec1 vec2)

Construct a fresh vector which has the maximum value of each component in vectors VEC1 and VEC2.

Package

origin.dvec4.

Source

operations/dvec4.lisp.

Function: max! (out vec1 vec2)

Modify vector OUT to have the maximum value for each component in vectors VEC1 and VEC2.

Package

origin.vec3.

Source

operations/vec3.lisp.

Function: max! (out vec1 vec2)

Modify vector OUT to have the maximum value for each component in vectors VEC1 and VEC2.

Package

origin.dvec3.

Source

operations/dvec3.lisp.

Function: max! (out vec1 vec2)

Modify vector OUT to have the maximum value for each component in vectors VEC1 and VEC2.

Package

origin.vec2.

Source

operations/vec2.lisp.

Function: max! (out vec1 vec2) ¶</