The cepl.spaces Reference Manual

Table of Contents

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

The cepl.spaces Reference Manual

This is the cepl.spaces Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Dec 02 09:12:29 2019 GMT+0.


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

1 Introduction

CEPL.Spaces

It provides a way to define a graph of vector-spaces and to query the matrix4 that describes the transform between any two spaces.

In addition it provides gpu-functions & macros to all the use of the spaces in shaders. Performing a compile time analysis to ensure vectors from conflicting spaces are not added/multipled/etc together.


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

2 Systems

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


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

2.1 cepl.spaces

Author

Chris Bagley (Baggers) <techsnuffle@gmail.com>

License

BSD 2 Clause

Description

Adds abstractions over vector spaces to CEPL

Dependencies
Source

cepl.spaces.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 cepl.spaces.asd

Location

cepl.spaces.asd

Systems

cepl.spaces (system)


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

3.1.2 cepl.spaces/package.lisp

Parent

cepl.spaces (system)

Location

package.lisp

Packages

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

3.1.3 cepl.spaces/constants.lisp

Dependency

package.lisp (file)

Parent

cepl.spaces (system)

Location

constants.lisp

Internal Definitions

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

3.1.4 cepl.spaces/nht-routes.lisp

Dependency

constants.lisp (file)

Parent

cepl.spaces (system)

Location

nht-routes.lisp

Exported Definitions
Internal Definitions

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

3.1.5 cepl.spaces/space.lisp

Dependency

nht-routes.lisp (file)

Parent

cepl.spaces (system)

Location

space.lisp

Exported Definitions
Internal Definitions

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

3.1.6 cepl.spaces/predefined-spaces.lisp

Dependency

space.lisp (file)

Parent

cepl.spaces (system)

Location

predefined-spaces.lisp

Exported Definitions
Internal Definitions

*identity-eye-space* (special variable)


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

3.1.7 cepl.spaces/pos.lisp

Dependency

predefined-spaces.lisp (file)

Parent

cepl.spaces (system)

Location

pos.lisp

Exported Definitions

svec4 (structure)

Internal Definitions

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

3.1.8 cepl.spaces/space-errors.lisp

Dependency

pos.lisp (file)

Parent

cepl.spaces (system)

Location

space-errors.lisp

Internal Definitions

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

3.1.9 cepl.spaces/space-walking.lisp

Dependency

space-errors.lisp (file)

Parent

cepl.spaces (system)

Location

space-walking.lisp

Internal Definitions

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

3.1.10 cepl.spaces/space-transforms.lisp

Dependency

space-walking.lisp (file)

Parent

cepl.spaces (system)

Location

space-transforms.lisp

Exported Definitions
Internal Definitions

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

3.1.11 cepl.spaces/pos-funcs.lisp

Dependency

space-transforms.lisp (file)

Parent

cepl.spaces (system)

Location

pos-funcs.lisp

Exported Definitions

sv! (function)

Internal Definitions

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

3.1.12 cepl.spaces/vector-space.lisp

Dependency

pos-funcs.lisp (file)

Parent

cepl.spaces (system)

Location

vector-space.lisp

Internal Definitions

vec-space-g (class)


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

3.1.13 cepl.spaces/spatial-vector.lisp

Dependency

vector-space.lisp (file)

Parent

cepl.spaces (system)

Location

spatial-vector.lisp

Internal Definitions

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

3.1.14 cepl.spaces/gpu.lisp

Dependency

spatial-vector.lisp (file)

Parent

cepl.spaces (system)

Location

gpu.lisp

Exported Definitions

in (macro)

Internal Definitions

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

3.1.15 cepl.spaces/docs.lisp

Dependency

gpu.lisp (file)

Parent

cepl.spaces (system)

Location

docs.lisp


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

4 Packages

Packages are listed by definition order.


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

4.1 cepl.spaces.routes

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

4.2 cepl.spaces

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Special variables

Special Variable: *clip-space*

This is the vec-space that describes clip-space in CEPL.

Package

cepl.spaces

Source

predefined-spaces.lisp (file)

Special Variable: *ndc-space*

This is the vec-space that describes ndc-space in CEPL.

Package

cepl.spaces

Source

predefined-spaces.lisp (file)

Special Variable: *screen-space*

This is the vec-space that describes screen-space in CEPL.

It could also be thought of as FBO space when you are not rendering into the default framebuffer object.

Package

cepl.spaces

Source

predefined-spaces.lisp (file)

Special Variable: *world-space*

This is the vec-space that describes world-space in CEPL.

Whilst it is perfectly possible to use CEPL’s vec-space feature to define your own world-space, we strongly suggest you do not as CEPL has some specific optimizations it can do you you use *world-space* instead of your own.

Package

cepl.spaces

Source

predefined-spaces.lisp (file)


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

5.1.2 Macros

Macro: in SPACE &body BODY

This macro is only valid inside gpu functions.

It defines a scope which is said to be ’in the vec-space’ given as the first argument. This means that any spatial-vectors created in this scope will be declared in this space.

If the value that is returned from the scope of the ’in’ is a spatial-vector then the vector is transformed from the space of the inner scope to the space of the outer scope.

For example:

(in *clip-space*
(let ((z (in *world-space*
(let ((x (sv! 0 1 2 3)))
...
x))))
z))

In the code above the spatial-vector x is defined in *world-space*. However as it is used in the tail position of the innermost let, it will leave the *world-space* scope and enter the *clip-space* scope. At that point the spatial-vector will be multiplied with the mat4 that describes the *world-space* → *clip-space* transform.

All of this information is resolved statically at compile-time by CEPL. The ’in’ forms are removed and the spatial-vectors are replaced with regular ones. CEPL will calculate the mat4 transforms between the used spaces on the CPU and upload them as uniforms.

This means that the final glsl will only contain standard glsl vectors and matrices and will perform as well as any other handwritten glsl code.

Package

cepl.spaces

Source

gpu.lisp (file)

Macro: with-space-routing-via VIA-SPACE &body BODY

This macro ensures that all routes calculated between spaces go via the specifed vec-space.

This behaves as if all the calls to #’get-transform were actually called to #’get-transform-via with the given vec-space used as the via-space.

Package

cepl.spaces

Source

space-transforms.lisp (file)


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

5.1.3 Functions

Function: add-id NEW-ID CONNECT-TO-IDS
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: free-id ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: get-route FROM-ID TO-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: get-transform FROM-SPACE TO-SPACE &optional INITIAL-M4

This function will return the mat4 that describes the transform between from-space and to-space.

If you have an existing matrix you wish to use as the base of the transform then you case pass it as the initial-m4 argument

Package

cepl.spaces

Source

space-transforms.lisp (file)

Writer

(setf get-transform) (function)

Function: (setf get-transform) M4-VALUE FROM-SPACE &optional TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Reader

get-transform (function)

Function: get-transform-via FROM-SPACE TO-SPACE VIA-SPACE

This function will return the mat4 that describes the transform between from-space and to-space, via the specified via-space.

This is very useful in cases where there are multiple possible routes to the to-space and you wish to restrict which route is taken.

Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: id! ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: make-space TARGET-SPACE TRANSFORM-TO &optional TRANSFORM-FROM

This function returns a new vec-space when passed:

- The space which this new space will be defined in relation to

- A mat4 which describes the transform from this new space to the target-space

- (optional) A mat4 which describes the transform from the target-space to this new space.

As the new vec-space will have only 1 neighbour it will be a model-space

Package

cepl.spaces

Source

space.lisp (file)

Function: make-space* &rest RELATIONSHIPS

This function returns a new vec-space when passed as in the following format:

(list (neighbour-space1 mat4-to-neighbour-space1 mat4-from-neighbour-space1) (neighbour-space2 mat4-to-neighbour-space2 mat4-from-neighbour-space2) ... etc ...)

Just like in #’make-space, the mat4-from-neighbour-space transform is optional.

As this function produces a vec-space with multiple neighbour spaces, the resulting vec-space is known as a relational-space.

Package

cepl.spaces

Source

space.lisp (file)

Function: map-route FROM-ID TO-ID FUNCTION
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: model-space-p SPACE

When passed a vec-space this function will return t if the vec-space is a ’model-space’

In CEPL this means that this vec-space on has one non-hierarchical relationship with another space.

Package

cepl.spaces

Source

space.lisp (file)

Function: parent-space SPACE

When given a hierarchical vec-space, this function will return the space that has this vec-space as a child

Package

cepl.spaces

Source

space.lisp (file)

Function: reduce-route FROM-ID TO-ID FUNCTION &optional INITIAL-VALUE
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: relational-space-p SPACE

When passed a vec-space this function will return t if the vec-space is a ’relational-space’

In CEPL this means that this vec-space is a child of another vec-space.

Package

cepl.spaces

Source

space.lisp (file)

Function: reset ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: sv! VEC &optional SPACE

This function is only useful inside gpu functions.

It returns a new spatial vector. A spatial vector is much like a regular vector except that the vector-space in which it resides is stored along with the vector’s components.

If a spatial vector leaves the lexical scope of the vec-space it was defined in, then it is automatically transformed into the vec-space of the surrounding scope.

See the docstring for the ’in’ macro for more details.

For more info on the behaviour of CEPL’s space feature as a whole please see the docstring for the vec-space struct.

Package

cepl.spaces

Source

pos-funcs.lisp (file)


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

5.1.4 Structures

Structure: svec4 ()

This is a 4 component spatial vector type. A spatial vector is a vector that also stores which vector-space it is in.

Package

cepl.spaces

Source

pos.lisp (file)

Direct superclasses

pos (structure)

Direct slots
Slot: point
Type

(simple-array single-float (4))

Initform

(rtg-math.base-vectors:v! 0 0 0 0)

Readers

svec4-point (function)

Writers

(setf svec4-point) (function)

Structure: vec-space ()

This type is an abstraction over the concept of a vector-space.

In graphics programming we are very used to using matrices to describe transforms. The matrix describes the transform for any given point in vector-space to a point in another vector-space.

Some spaces are very commonly mentioned when discuss rendering, spaces like world-space, camera-space, clip-space, etc. However when it comes to our programs we have to work with the transform (matrix) rather the space directly.

In CEPL we have a feature to allow working with vector spaces as a first class object, the vec-space. We uses these vec-spaces in our GPU code and CEPL statically analyses our code to work out what matrices are needed and uploads them as uniforms.

By doing this, our GPU ends up running code that only has the ’normal’
types (matrices and vectors) which means we pay no performace cost for the features

Working with vec-spaces directly means our code more closely reflects how we talk about the problems we are trying to solve. As we will see below it also makes it much harder to perform ’invalid’ spatial calculations.

– Lexical Space –

In many graphics related texts we talk about performing a calculation in a certain space.

In CEPL we express this with the ’in’ macro

(in *world-space*
(some-calculation)
(more-calculations))

Everything that is happening in this scope is happening ’in *world-space*’

the ’in’ macro can be nested:

(in *clip-space*
(let ((z (in *world-space*
(let ((x (sv! 0 1 2 3)))
...
x))))
z))

Here z is in *clip-space* and x is in *world-space*

– Spatial Vectors –

In the above example we also introduce another type: spatial-vectors

sv! behave exactly the same as v! in that it produces a vector, however instead of making a regular vector the code above will make a spatial-vector.

Spatial vectors are vectors which store which space they were created in.

The advantage of this is that CEPL can detect if they leave that space and enter a different space. When that happens CEPL will automatically transform the vector to the new space.

We can see this in the example above. The value in ’x’ is a spatial vector that was created in world space, however as the value moves up the stack to be stored in ’z’ it leaves the scope of *world-space* and enters *clip-space*. At this point CEPL will multiply the vector with a ’world-space-to-clip-space matrix’.

This is awesome as it means that if you are working with spatial vectors in the same scope, you are guarenteed that they are in the same space.

Another advantage is that in most case CEPL can calculate these transform matrices on the CPU and upload them as uniforms, which makes this code very fast.

– Defining Spaces –

Currently vec-spaces can only be defined in cpu code. They must be passed to gpu functions as uniforms.

All spaces are defined relative to another space. A vec-space is either a hierarchical-space, relational-space or a model-space.

A hierarchical-space is a space which is a child of another space. When the parent space is transformed, the child space is also transformed. You can see this relationship as how your hand has a position and orientation but will be transformed by the parent, the lower-arm. The lower arm in turn is a child of the upper arm, and so on. Hierarchical spaces are WIP and not currently exposed in CEPL

A relational-space x is a space whose relationship to another space can be defined with a matrix, but which is not affected by changes to that other space.

A relational-space can have any number of spaces as neighbours, however
in the case where there is only one neighbour space, the space is known as a model-space.

Making a model space is very easy.

(make-space neighbour-space transform-to-neighbour-matrix4 transform-from-neighbour-matrix4)

the transform-from-neighbour-matrix4 transform is optional where the inverse can be calculated.

To make a relational space you use #’make-space* and pass in a list where the sublists are the same as the arguments to make-space

– Spaces & Implicit-Uniforms

If the vec-space is stored in a variable with global scope then CEPL’s implicit-uniforms feature means you can use the space without explicitly adding the uniform argument yourself.

See the docstring for defun-g for more details on implicit-uniforms.

– Immutable Relationships –

Whilst the transforms between neighbouring spaces are mutable.
It is not possible to add new neighbours to an existing vec-space x, except by making a new vec-space as specifying x as its neighbour.

– Predefined Spaces –

CEPL defines a few commonly used spaces for you. Other than *world-space* they are all spaces used in the GLSL pipeline:

*world-space*
*clip-space*
*ndc-space*
*screen-space*

Package

cepl.spaces

Source

space.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
  • infer-implicit-uniform-type (method)
  • free (method)
  • print-object (method)
Direct slots
Slot: uid
Type

fixnum

Initform

(incf cepl.spaces::*last-space-id*)

Readers

%space-uid (function)

Writers

(setf %space-uid) (function)

Slot: nht-id
Type

fixnum

Initform

(error "id must be provided")

Readers

%space-nht-id (function)

Writers

(setf %space-nht-id) (function)

Slot: kind
Type

(mod 3)

Initform

(error "space kind must be provided")

Readers

%space-kind (function)

Writers

(setf %space-kind) (function)

Slot: parent
Type

(or null cepl.spaces:vec-space)

Readers

%space-parent (function)

Writers

(setf %space-parent) (function)

Slot: children
Type

(or null (array cepl.spaces:vec-space (*)))

Readers

%space-children (function)

Writers

(setf %space-children) (function)

Slot: root
Type

(or null cepl.spaces:vec-space)

Readers

%space-root (function)

Writers

(setf %space-root) (function)

Slot: neighbours
Type

(array cepl.spaces::spatial-relationship (*))

Initform

(make-array 0 :element-type (quote cepl.spaces::spatial-relationship) :initial-element (cepl.spaces::%make-sr))

Readers

%space-neighbours (function)

Writers

(setf %space-neighbours) (function)

Slot: depth
Type

fixnum

Initform

(error "space depth must be provided")

Readers

%space-depth (function)

Writers

(setf %space-depth) (function)


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

5.2 Internal definitions


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

5.2.1 Constants

Constant: +default-subtable-count+
Package

cepl.spaces.routes

Source

constants.lisp (file)

Constant: +hierachical-space+
Package

cepl.spaces

Source

space.lisp (file)

Constant: +model-space+
Package

cepl.spaces

Source

space.lisp (file)

Constant: +relational-space+
Package

cepl.spaces

Source

space.lisp (file)

Constant: +subtable-length+
Package

cepl.spaces.routes

Source

constants.lisp (file)


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

5.2.2 Special variables

Special Variable: *default-pos-space*
Package

cepl.spaces

Source

pos.lisp (file)

Special Variable: *identity-eye-space*
Package

cepl.spaces

Source

predefined-spaces.lisp (file)

Special Variable: *last-space-id*
Package

cepl.spaces

Source

space.lisp (file)

Special Variable: *spaces-array-growth-rate*
Package

cepl.spaces

Source

space.lisp (file)

Special Variable: spaces
Package

cepl.spaces

Source

space.lisp (file)


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

5.2.3 Macros

Macro: kind-case (SPACE &key ERROR) &key M R H
Package

cepl.spaces

Source

space.lisp (file)

Macro: kind-case* (FROM TO &key ERROR) &key M->M M->R M->H R->M R->R R->H H->M H->R H->H
Package

cepl.spaces

Source

space.lisp (file)

Macro: with-sparse-elem (&key NEXT LEN CREATE-IF-MISSING) (ROUTE-TABLE INDEX) &body BODY
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)


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

5.2.4 Compiler macros

Compiler Macro: reduce-ancestors FUNCTION OF-SPACE &optional UNTIL-SPACE INITIAL-VALUE
Package

cepl.spaces

Source

space-walking.lisp (file)


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

5.2.5 Functions

Function: %%-svec3! &key (SPACE SPACE) (POINT POINT)
Package

cepl.spaces

Source

pos.lisp (file)

Function: %%-svec4! &key (SPACE SPACE) (POINT POINT)
Package

cepl.spaces

Source

pos.lisp (file)

Function: %add-space-to-array SPACE
Package

cepl.spaces

Source

space.lisp (file)

Function: %check-not-illegal-space SPACE-ID FROM?
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %get-hierarchical-transform FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %has-route FROM-ID TO-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: %hspace-inverse-transform SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %hspace-to-hspace-transform FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %hspace-to-mspace-transform FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %hspace-to-rspace-transform FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %hspace-transform HSPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %make-heirarchical-space PARENT &optional TRANSFORM
Package

cepl.spaces

Source

space.lisp (file)

Function: %make-model-space TARGET-SPACE TRANSFORM-TO &optional TRANSFORM-FROM
Package

cepl.spaces

Source

space.lisp (file)

Function: %make-relational-space RELATIONSHIPS
Package

cepl.spaces

Source

space.lisp (file)

Function: %make-route-table &key (SPARSE-PART SPARSE-PART)
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: %make-routes-array ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: %make-space &key (UID UID) (NHT-ID NHT-ID) (KIND KIND) (PARENT PARENT) (CHILDREN CHILDREN) (ROOT ROOT) (NEIGHBOURS NEIGHBOURS) (DEPTH DEPTH)
Package

cepl.spaces

Source

space.lisp (file)

Function: %make-sr &key (SOURCE-ID SOURCE-ID) (TARGET-ID TARGET-ID) (TO TO) (FROM FROM)
Package

cepl.spaces

Source

space.lisp (file)

Function: %mspace-only-sr MSPACE
Package

cepl.spaces

Source

space.lisp (file)

Function: %mspace-to-hspace-transform FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %mspace-to-mspace-transform MSPACE-A MSPACE-B
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %mspace-to-rspace-transform MSPACE RSPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %mspace-transform MSPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %next-step FROM-ID TO-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: %reduce-ancestors FUNCTION OF-SPACE INITIAL-VALUE
Package

cepl.spaces

Source

space-walking.lisp (file)

Function: %reduce-ancestors-until-space FUNCTION OF-SPACE UNTIL-SPACE INITIAL-VALUE
Package

cepl.spaces

Source

space-walking.lisp (file)

Function: %route-len FROM-ID TO-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: %rspace-to-hspace-transform FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %rspace-to-mspace-transform RSPACE MSPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %rspace-to-neighbour-relationship FROM-SPACE TO-SPACE
Package

cepl.spaces

Source

space.lisp (file)

Function: %rspace-to-neighbour-transform FROM-ID TO-ID
Package

cepl.spaces

Source

space.lisp (file)

Function: %rspace-to-rspace-ids-transform SPACE-A-ID SPACE-B-ID &optional INITIAL-M4
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %rspace-to-rspace-transform SPACE-A SPACE-B &optional INITIAL-M4
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %set-hspace-transform HSPACE TRANSFORM &optional TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %set-mspace-transform MSPACE TRANSFORM &optional TO-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %set-route FROM-ID TO-ID STEP LENGTH
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: %set-rspace-to-neighbour-transform FROM-SPACE TO-SPACE TRANSFORM
Package

cepl.spaces

Source

space.lisp (file)

Function: %set-rspace-transform FROM-SPACE TO-SPACE TRANSFORM
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: %space-children INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-depth INSTANCE
Function: (setf %space-depth) VALUE INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-kind INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-neighbours INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-nht-id INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-parent INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-ref ID
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-root INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %space-uid INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: %update-mspace-transform MSPACE TRANSFORM
Package

cepl.spaces

Source

space.lisp (file)

Function: %walk-leaving-trail MY-ID TO-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: collect-inverse-to START-SPACE ANCESTOR-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: collect-transform-to START-SPACE ANCESTOR-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: compile-implicit-mat4 FROM-NAME TO-NAME ENV
Package

cepl.spaces

Source

gpu.lisp (file)

Function: connect-to-0 ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: connect-to-1 MY-ID NEW-NEIGHBOUR-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: connect-to-many MY-ID NEW-NEIGHBOUR-IDS
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: convert-between-spaces FORM FROM-NAME TO-NAME FORM-TYPE ENV
Package

cepl.spaces

Source

gpu.lisp (file)

Function: copy-pos INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: copy-route-table INSTANCE
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: copy-spatial-relationship INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: copy-svec3 INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: copy-svec4 INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: copy-vec-space INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: disconnect-space SPACE
Package

cepl.spaces

Source

space.lisp (file)

Function: extend-routes ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: fart-route FROM-ID TO-ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: find-common-ancestor SPACE-A SPACE-B
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: free-space SPACE
Package

cepl.spaces

Source

space.lisp (file)

Function: get-current-id-count ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: get-current-space ENV
Package

cepl.spaces

Source

spatial-vector.lisp (file)

Function: get-current-subtable-count ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: get-route-cache ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: get-routes ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: id-neighbours ID
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: inject-clip-or-ndc-reverse-transform FORM FROM-NAME TO-NAME FORM-TYPE ENV
Package

cepl.spaces

Source

gpu.lisp (file)

Function: inject-regular-space-transform FORM FROM-NAME TO-NAME FORM-TYPE ENV
Package

cepl.spaces

Source

gpu.lisp (file)

Function: make-cache LEN
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: make-pos &key (SPACE SPACE)
Package

cepl.spaces

Source

pos.lisp (file)

Function: make-relational-space RELATIONSHIPS
Package

cepl.spaces

Source

space.lisp (file)

Function: make-route-subtable ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: make-route-table ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: make-space-array ()
Package

cepl.spaces

Source

space.lisp (file)

Function: make-spatial-relationship SOURCE-ID TARGET-ID TO-M4 FROM-M4
Package

cepl.spaces

Source

space.lisp (file)

Function: on-route-p FROM-ID TO-ID ID-THAT-MIGHT-BE-ON-ROUTE
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: parse-relationship R
Package

cepl.spaces

Source

space.lisp (file)

Function: parse-relationships RELATIONSHIPS
Package

cepl.spaces

Source

space.lisp (file)

Function: pos-p OBJECT
Package

cepl.spaces

Source

pos.lisp (file)

Function: pos-space INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: propagate-routes TODO SEEN
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: re-space NEW-SPACE POS

makes a new point in the same location as the first but relative to the provided new space

Package

cepl.spaces

Source

pos-funcs.lisp (file)

Function: reduce-ancestors FUNCTION OF-SPACE &optional UNTIL-SPACE INITIAL-VALUE
Package

cepl.spaces

Source

space-walking.lisp (file)

Function: reset-ids ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: restrict-route VIA-SPACE
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: route-restriction ()
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: route-table-p OBJECT
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: route-table-sparse-part INSTANCE
Function: (setf route-table-sparse-part) VALUE INSTANCE
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: rt-elem ROUTE-TABLE X
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: rt-elem-len ROUTE-TABLE X
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: rt-elem-step ROUTE-TABLE X
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: set-rt-elem ROUTE-TABLE X STEP LEN
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: spatial-relationship-p OBJECT
Package

cepl.spaces

Source

space.lisp (file)

Function: sr-from INSTANCE
Function: (setf sr-from) VALUE INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: sr-source-id INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: sr-target-id INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: sr-to INSTANCE
Function: (setf sr-to) VALUE INSTANCE
Package

cepl.spaces

Source

space.lisp (file)

Function: svec3-p OBJECT
Package

cepl.spaces

Source

pos.lisp (file)

Function: svec3-point INSTANCE
Function: (setf svec3-point) VALUE INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: svec3-space INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: svec4-p OBJECT
Package

cepl.spaces

Source

pos.lisp (file)

Function: svec4-point INSTANCE
Function: (setf svec4-point) VALUE INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: svec4-space INSTANCE
Package

cepl.spaces

Source

pos.lisp (file)

Function: to-space DESTINATION-SPACE POS
Package

cepl.spaces

Source

pos-funcs.lisp (file)

Function: un-restrict-routes ()
Package

cepl.spaces

Source

space-transforms.lisp (file)

Function: update-all-route-tables NEW-SUBTABLE-COUNT
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Function: upgrade-from-model-space MODEL-SPACE
Package

cepl.spaces

Source

space.lisp (file)

Function: vec-space-p OBJECT
Package

cepl.spaces

Source

space.lisp (file)


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

5.2.6 Generic functions

Generic Function: in-space METADATA
Package

cepl.spaces

Source

spatial-vector.lisp (file)

Methods
Method: in-space (METADATA spatial-meta)
Method: in-space (METADATA-COLLECTION list)

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

5.2.7 Conditions

Condition: not-ancestor ()
Package

cepl.spaces

Source

space-errors.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: start-space
Initargs

:start-space

Slot: ancestor-space
Initargs

:ancestor-space

Condition: position->no-space ()
Package

cepl.spaces

Source

space-errors.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: start-space
Initargs

:start-space


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

5.2.8 Structures

Structure: pos ()
Package

cepl.spaces

Source

pos.lisp (file)

Direct superclasses

structure-object (structure)

Direct subclasses
Direct slots
Slot: space
Type

cepl.spaces:vec-space

Initform

(error "positions can not be made without a space")

Readers

pos-space (function)

Writers

(setf pos-space) (function)

Structure: route-table ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: sparse-part
Type

(array cepl.spaces.routes::maybe-subtable (*))

Initform

(error "subtable array must be provided")

Readers

route-table-sparse-part (function)

Writers

(setf route-table-sparse-part) (function)

Structure: spatial-relationship ()
Package

cepl.spaces

Source

space.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods

print-object (method)

Direct slots
Slot: source-id
Type

fixnum

Initform

0

Readers

sr-source-id (function)

Writers

(setf sr-source-id) (function)

Slot: target-id
Type

fixnum

Initform

0

Readers

sr-target-id (function)

Writers

(setf sr-target-id) (function)

Slot: to
Type

(or null glsl-symbols.types:mat4)

Readers

sr-to (function)

Writers

(setf sr-to) (function)

Slot: from
Type

(or null glsl-symbols.types:mat4)

Readers

sr-from (function)

Writers

(setf sr-from) (function)

Structure: svec3 ()
Package

cepl.spaces

Source

pos.lisp (file)

Direct superclasses

pos (structure)

Direct slots
Slot: point
Type

(simple-array single-float (3))

Initform

(rtg-math.base-vectors:v! 0 0 0)

Readers

svec3-point (function)

Writers

(setf svec3-point) (function)


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

5.2.9 Classes

Class: spatial-meta ()
Package

cepl.spaces

Source

spatial-vector.lisp (file)

Direct superclasses

standard-value-metadata (class)

Direct methods
  • combine-metadata (method)
  • print-object (method)
  • initialize-instance (method)
  • in-space (method)
Direct slots
Slot: in-space
Initargs

:in-space

Class: svec3-g ()
Package

cepl.spaces

Source

spatial-vector.lisp (file)

Direct superclasses

v-shadow-type (class)

Direct methods
  • infer-meta-by-type (method)
  • meta-kinds-to-infer (method)
Direct slots
Slot: type-name
Initform

(quote cepl.spaces::svec3-g)

Slot: superclass
Initform

(quote vari.types:v-shadow-type)

Slot: shadowed-type
Initform

#<vari.types:v-vec3 {100c970693}>

Slot: glsl-string
Initform

"vec3"

Class: svec4-g ()
Package

cepl.spaces

Source

spatial-vector.lisp (file)

Direct superclasses

v-shadow-type (class)

Direct methods
  • infer-meta-by-type (method)
  • meta-kinds-to-infer (method)
Direct slots
Slot: type-name
Initform

(quote cepl.spaces::svec4-g)

Slot: superclass
Initform

(quote vari.types:v-shadow-type)

Slot: shadowed-type
Initform

#<vari.types:v-vec4 {100c970243}>

Slot: glsl-string
Initform

"vec4"

Class: vec-space-g ()
Package

cepl.spaces

Source

vector-space.lisp (file)

Direct superclasses

v-ephemeral-type (class)

Direct methods

meta-kinds-to-infer (method)

Direct slots
Slot: type-name
Initform

(quote cepl.spaces::vec-space-g)

Slot: superclass
Initform

(quote vari.types:v-ephemeral-type)


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

5.2.10 Types

Type: maybe-subtable ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)

Type: subtable ()
Package

cepl.spaces.routes

Source

nht-routes.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cepl.spaces.asd: The cepl․spaces․asd file
cepl.spaces/constants.lisp: The cepl․spaces/constants․lisp file
cepl.spaces/docs.lisp: The cepl․spaces/docs․lisp file
cepl.spaces/gpu.lisp: The cepl․spaces/gpu․lisp file
cepl.spaces/nht-routes.lisp: The cepl․spaces/nht-routes․lisp file
cepl.spaces/package.lisp: The cepl․spaces/package․lisp file
cepl.spaces/pos-funcs.lisp: The cepl․spaces/pos-funcs․lisp file
cepl.spaces/pos.lisp: The cepl․spaces/pos․lisp file
cepl.spaces/predefined-spaces.lisp: The cepl․spaces/predefined-spaces․lisp file
cepl.spaces/space-errors.lisp: The cepl․spaces/space-errors․lisp file
cepl.spaces/space-transforms.lisp: The cepl․spaces/space-transforms․lisp file
cepl.spaces/space-walking.lisp: The cepl․spaces/space-walking․lisp file
cepl.spaces/space.lisp: The cepl․spaces/space․lisp file
cepl.spaces/spatial-vector.lisp: The cepl․spaces/spatial-vector․lisp file
cepl.spaces/vector-space.lisp: The cepl․spaces/vector-space․lisp file

F
File, Lisp, cepl.spaces.asd: The cepl․spaces․asd file
File, Lisp, cepl.spaces/constants.lisp: The cepl․spaces/constants․lisp file
File, Lisp, cepl.spaces/docs.lisp: The cepl․spaces/docs․lisp file
File, Lisp, cepl.spaces/gpu.lisp: The cepl․spaces/gpu․lisp file
File, Lisp, cepl.spaces/nht-routes.lisp: The cepl․spaces/nht-routes․lisp file
File, Lisp, cepl.spaces/package.lisp: The cepl․spaces/package․lisp file
File, Lisp, cepl.spaces/pos-funcs.lisp: The cepl․spaces/pos-funcs․lisp file
File, Lisp, cepl.spaces/pos.lisp: The cepl․spaces/pos․lisp file
File, Lisp, cepl.spaces/predefined-spaces.lisp: The cepl․spaces/predefined-spaces․lisp file
File, Lisp, cepl.spaces/space-errors.lisp: The cepl․spaces/space-errors․lisp file
File, Lisp, cepl.spaces/space-transforms.lisp: The cepl․spaces/space-transforms․lisp file
File, Lisp, cepl.spaces/space-walking.lisp: The cepl․spaces/space-walking․lisp file
File, Lisp, cepl.spaces/space.lisp: The cepl․spaces/space․lisp file
File, Lisp, cepl.spaces/spatial-vector.lisp: The cepl․spaces/spatial-vector․lisp file
File, Lisp, cepl.spaces/vector-space.lisp: The cepl․spaces/vector-space․lisp file

L
Lisp File, cepl.spaces.asd: The cepl․spaces․asd file
Lisp File, cepl.spaces/constants.lisp: The cepl․spaces/constants․lisp file
Lisp File, cepl.spaces/docs.lisp: The cepl․spaces/docs․lisp file
Lisp File, cepl.spaces/gpu.lisp: The cepl․spaces/gpu․lisp file
Lisp File, cepl.spaces/nht-routes.lisp: The cepl․spaces/nht-routes․lisp file
Lisp File, cepl.spaces/package.lisp: The cepl․spaces/package․lisp file
Lisp File, cepl.spaces/pos-funcs.lisp: The cepl․spaces/pos-funcs․lisp file
Lisp File, cepl.spaces/pos.lisp: The cepl․spaces/pos․lisp file
Lisp File, cepl.spaces/predefined-spaces.lisp: The cepl․spaces/predefined-spaces․lisp file
Lisp File, cepl.spaces/space-errors.lisp: The cepl․spaces/space-errors․lisp file
Lisp File, cepl.spaces/space-transforms.lisp: The cepl․spaces/space-transforms․lisp file
Lisp File, cepl.spaces/space-walking.lisp: The cepl․spaces/space-walking․lisp file
Lisp File, cepl.spaces/space.lisp: The cepl․spaces/space․lisp file
Lisp File, cepl.spaces/spatial-vector.lisp: The cepl․spaces/spatial-vector․lisp file
Lisp File, cepl.spaces/vector-space.lisp: The cepl․spaces/vector-space․lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   I   K   M   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%%-svec3!: Internal functions
%%-svec4!: Internal functions
%add-space-to-array: Internal functions
%check-not-illegal-space: Internal functions
%get-hierarchical-transform: Internal functions
%has-route: Internal functions
%hspace-inverse-transform: Internal functions
%hspace-to-hspace-transform: Internal functions
%hspace-to-mspace-transform: Internal functions
%hspace-to-rspace-transform: Internal functions
%hspace-transform: Internal functions
%make-heirarchical-space: Internal functions
%make-model-space: Internal functions
%make-relational-space: Internal functions
%make-route-table: Internal functions
%make-routes-array: Internal functions
%make-space: Internal functions
%make-sr: Internal functions
%mspace-only-sr: Internal functions
%mspace-to-hspace-transform: Internal functions
%mspace-to-mspace-transform: Internal functions
%mspace-to-rspace-transform: Internal functions
%mspace-transform: Internal functions
%next-step: Internal functions
%reduce-ancestors: Internal functions
%reduce-ancestors-until-space: Internal functions
%route-len: Internal functions
%rspace-to-hspace-transform: Internal functions
%rspace-to-mspace-transform: Internal functions
%rspace-to-neighbour-relationship: Internal functions
%rspace-to-neighbour-transform: Internal functions
%rspace-to-rspace-ids-transform: Internal functions
%rspace-to-rspace-transform: Internal functions
%set-hspace-transform: Internal functions
%set-mspace-transform: Internal functions
%set-route: Internal functions
%set-rspace-to-neighbour-transform: Internal functions
%set-rspace-transform: Internal functions
%space-children: Internal functions
%space-depth: Internal functions
%space-kind: Internal functions
%space-neighbours: Internal functions
%space-nht-id: Internal functions
%space-parent: Internal functions
%space-ref: Internal functions
%space-root: Internal functions
%space-uid: Internal functions
%update-mspace-transform: Internal functions
%walk-leaving-trail: Internal functions

(
(setf %space-depth): Internal functions
(setf get-transform): Exported functions
(setf route-table-sparse-part): Internal functions
(setf sr-from): Internal functions
(setf sr-to): Internal functions
(setf svec3-point): Internal functions
(setf svec4-point): Internal functions

A
add-id: Exported functions

C
collect-inverse-to: Internal functions
collect-transform-to: Internal functions
compile-implicit-mat4: Internal functions
Compiler Macro, reduce-ancestors: Internal compiler macros
connect-to-0: Internal functions
connect-to-1: Internal functions
connect-to-many: Internal functions
convert-between-spaces: Internal functions
copy-pos: Internal functions
copy-route-table: Internal functions
copy-spatial-relationship: Internal functions
copy-svec3: Internal functions
copy-svec4: Internal functions
copy-vec-space: Internal functions

D
disconnect-space: Internal functions

E
extend-routes: Internal functions

F
fart-route: Internal functions
find-common-ancestor: Internal functions
free-id: Exported functions
free-space: Internal functions
Function, %%-svec3!: Internal functions
Function, %%-svec4!: Internal functions
Function, %add-space-to-array: Internal functions
Function, %check-not-illegal-space: Internal functions
Function, %get-hierarchical-transform: Internal functions
Function, %has-route: Internal functions
Function, %hspace-inverse-transform: Internal functions
Function, %hspace-to-hspace-transform: Internal functions
Function, %hspace-to-mspace-transform: Internal functions
Function, %hspace-to-rspace-transform: Internal functions
Function, %hspace-transform: Internal functions
Function, %make-heirarchical-space: Internal functions
Function, %make-model-space: Internal functions
Function, %make-relational-space: Internal functions
Function, %make-route-table: Internal functions
Function, %make-routes-array: Internal functions
Function, %make-space: Internal functions
Function, %make-sr: Internal functions
Function, %mspace-only-sr: Internal functions
Function, %mspace-to-hspace-transform: Internal functions
Function, %mspace-to-mspace-transform: Internal functions
Function, %mspace-to-rspace-transform: Internal functions
Function, %mspace-transform: Internal functions
Function, %next-step: Internal functions
Function, %reduce-ancestors: Internal functions
Function, %reduce-ancestors-until-space: Internal functions
Function, %route-len: Internal functions
Function, %rspace-to-hspace-transform: Internal functions
Function, %rspace-to-mspace-transform: Internal functions
Function, %rspace-to-neighbour-relationship: Internal functions
Function, %rspace-to-neighbour-transform: Internal functions
Function, %rspace-to-rspace-ids-transform: Internal functions
Function, %rspace-to-rspace-transform: Internal functions
Function, %set-hspace-transform: Internal functions
Function, %set-mspace-transform: Internal functions
Function, %set-route: Internal functions
Function, %set-rspace-to-neighbour-transform: Internal functions
Function, %set-rspace-transform: Internal functions
Function, %space-children: Internal functions
Function, %space-depth: Internal functions
Function, %space-kind: Internal functions
Function, %space-neighbours: Internal functions
Function, %space-nht-id: Internal functions
Function, %space-parent: Internal functions
Function, %space-ref: Internal functions
Function, %space-root: Internal functions
Function, %space-uid: Internal functions
Function, %update-mspace-transform: Internal functions
Function, %walk-leaving-trail: Internal functions
Function, (setf %space-depth): Internal functions
Function, (setf get-transform): Exported functions
Function, (setf route-table-sparse-part): Internal functions
Function, (setf sr-from): Internal functions
Function, (setf sr-to): Internal functions
Function, (setf svec3-point): Internal functions
Function, (setf svec4-point): Internal functions
Function, add-id: Exported functions
Function, collect-inverse-to: Internal functions
Function, collect-transform-to: Internal functions
Function, compile-implicit-mat4: Internal functions
Function, connect-to-0: Internal functions
Function, connect-to-1: Internal functions
Function, connect-to-many: Internal functions
Function, convert-between-spaces: Internal functions
Function, copy-pos: Internal functions
Function, copy-route-table: Internal functions
Function, copy-spatial-relationship: Internal functions
Function, copy-svec3: Internal functions
Function, copy-svec4: Internal functions
Function, copy-vec-space: Internal functions
Function, disconnect-space: Internal functions
Function, extend-routes: Internal functions
Function, fart-route: Internal functions
Function, find-common-ancestor: Internal functions
Function, free-id: Exported functions
Function, free-space: Internal functions
Function, get-current-id-count: Internal functions
Function, get-current-space: Internal functions
Function, get-current-subtable-count: Internal functions
Function, get-route: Exported functions
Function, get-route-cache: Internal functions
Function, get-routes: Internal functions
Function, get-transform: Exported functions
Function, get-transform-via: Exported functions
Function, id!: Exported functions
Function, id-neighbours: Internal functions
Function, inject-clip-or-ndc-reverse-transform: Internal functions
Function, inject-regular-space-transform: Internal functions
Function, make-cache: Internal functions
Function, make-pos: Internal functions
Function, make-relational-space: Internal functions
Function, make-route-subtable: Internal functions
Function, make-route-table: Internal functions
Function, make-space: Exported functions
Function, make-space*: Exported functions
Function, make-space-array: Internal functions
Function, make-spatial-relationship: Internal functions
Function, map-route: Exported functions
Function, model-space-p: Exported functions
Function, on-route-p: Internal functions
Function, parent-space: Exported functions
Function, parse-relationship: Internal functions
Function, parse-relationships: Internal functions
Function, pos-p: Internal functions
Function, pos-space: Internal functions
Function, propagate-routes: Internal functions
Function, re-space: Internal functions
Function, reduce-ancestors: Internal functions
Function, reduce-route: Exported functions
Function, relational-space-p: Exported functions
Function, reset: Exported functions
Function, reset-ids: Internal functions
Function, restrict-route: Internal functions
Function, route-restriction: Internal functions
Function, route-table-p: Internal functions
Function, route-table-sparse-part: Internal functions
Function, rt-elem: Internal functions
Function, rt-elem-len: Internal functions
Function, rt-elem-step: Internal functions
Function, set-rt-elem: Internal functions
Function, spatial-relationship-p: Internal functions
Function, sr-from: Internal functions
Function, sr-source-id: Internal functions
Function, sr-target-id: Internal functions
Function, sr-to: Internal functions
Function, sv!: Exported functions
Function, svec3-p: Internal functions
Function, svec3-point: Internal functions
Function, svec3-space: Internal functions
Function, svec4-p: Internal functions
Function, svec4-point: Internal functions
Function, svec4-space: Internal functions
Function, to-space: Internal functions
Function, un-restrict-routes: Internal functions
Function, update-all-route-tables: Internal functions
Function, upgrade-from-model-space: Internal functions
Function, vec-space-p: Internal functions

G
Generic Function, in-space: Internal generic functions
get-current-id-count: Internal functions
get-current-space: Internal functions
get-current-subtable-count: Internal functions
get-route: Exported functions
get-route-cache: Internal functions
get-routes: Internal functions
get-transform: Exported functions
get-transform-via: Exported functions

I
id!: Exported functions
id-neighbours: Internal functions
in: Exported macros
in-space: Internal generic functions
in-space: Internal generic functions
in-space: Internal generic functions
inject-clip-or-ndc-reverse-transform: Internal functions
inject-regular-space-transform: Internal functions

K
kind-case: Internal macros
kind-case*: Internal macros

M
Macro, in: Exported macros
Macro, kind-case: Internal macros
Macro, kind-case*: Internal macros
Macro, with-space-routing-via: Exported macros
Macro, with-sparse-elem: Internal macros
make-cache: Internal functions
make-pos: Internal functions
make-relational-space: Internal functions
make-route-subtable: Internal functions
make-route-table: Internal functions
make-space: Exported functions
make-space*: Exported functions
make-space-array: Internal functions
make-spatial-relationship: Internal functions
map-route: Exported functions
Method, in-space: Internal generic functions
Method, in-space: Internal generic functions
model-space-p: Exported functions

O
on-route-p: Internal functions

P
parent-space: Exported functions
parse-relationship: Internal functions
parse-relationships: Internal functions
pos-p: Internal functions
pos-space: Internal functions
propagate-routes: Internal functions

R
re-space: Internal functions
reduce-ancestors: Internal compiler macros
reduce-ancestors: Internal functions
reduce-route: Exported functions
relational-space-p: Exported functions
reset: Exported functions
reset-ids: Internal functions
restrict-route: Internal functions
route-restriction: Internal functions
route-table-p: Internal functions
route-table-sparse-part: Internal functions
rt-elem: Internal functions
rt-elem-len: Internal functions
rt-elem-step: Internal functions

S
set-rt-elem: Internal functions
spatial-relationship-p: Internal functions
sr-from: Internal functions
sr-source-id: Internal functions
sr-target-id: Internal functions
sr-to: Internal functions
sv!: Exported functions
svec3-p: Internal functions
svec3-point: Internal functions
svec3-space: Internal functions
svec4-p: Internal functions
svec4-point: Internal functions
svec4-space: Internal functions

T
to-space: Internal functions

U
un-restrict-routes: Internal functions
update-all-route-tables: Internal functions
upgrade-from-model-space: Internal functions

V
vec-space-p: Internal functions

W
with-space-routing-via: Exported macros
with-sparse-elem: Internal macros

Jump to:   %   (  
A   C   D   E   F   G   I   K   M   O   P   R   S   T   U   V   W  

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

A.3 Variables

Jump to:   *   +  
A   C   D   F   G   I   K   N   P   R   S   T   U  
Index Entry  Section

*
*clip-space*: Exported special variables
*default-pos-space*: Internal special variables
*identity-eye-space*: Internal special variables
*last-space-id*: Internal special variables
*ndc-space*: Exported special variables
*screen-space*: Exported special variables
*spaces-array-growth-rate*: Internal special variables
*world-space*: Exported special variables

+
+default-subtable-count+: Internal constants
+hierachical-space+: Internal constants
+model-space+: Internal constants
+relational-space+: Internal constants
+subtable-length+: Internal constants

A
ancestor-space: Internal conditions

C
children: Exported structures
Constant, +default-subtable-count+: Internal constants
Constant, +hierachical-space+: Internal constants
Constant, +model-space+: Internal constants
Constant, +relational-space+: Internal constants
Constant, +subtable-length+: Internal constants

D
depth: Exported structures

F
from: Internal structures

G
glsl-string: Internal classes
glsl-string: Internal classes

I
in-space: Internal classes

K
kind: Exported structures

N
neighbours: Exported structures
nht-id: Exported structures

P
parent: Exported structures
point: Exported structures
point: Internal structures

R
root: Exported structures

S
shadowed-type: Internal classes
shadowed-type: Internal classes
Slot, ancestor-space: Internal conditions
Slot, children: Exported structures
Slot, depth: Exported structures
Slot, from: Internal structures
Slot, glsl-string: Internal classes
Slot, glsl-string: Internal classes
Slot, in-space: Internal classes
Slot, kind: Exported structures
Slot, neighbours: Exported structures
Slot, nht-id: Exported structures
Slot, parent: Exported structures
Slot, point: Exported structures
Slot, point: Internal structures
Slot, root: Exported structures
Slot, shadowed-type: Internal classes
Slot, shadowed-type: Internal classes
Slot, source-id: Internal structures
Slot, space: Internal structures
Slot, sparse-part: Internal structures
Slot, start-space: Internal conditions
Slot, start-space: Internal conditions
Slot, superclass: Internal classes
Slot, superclass: Internal classes
Slot, superclass: Internal classes
Slot, target-id: Internal structures
Slot, to: Internal structures
Slot, type-name: Internal classes
Slot, type-name: Internal classes
Slot, type-name: Internal classes
Slot, uid: Exported structures
source-id: Internal structures
space: Internal structures
spaces: Internal special variables
sparse-part: Internal structures
Special Variable, *clip-space*: Exported special variables
Special Variable, *default-pos-space*: Internal special variables
Special Variable, *identity-eye-space*: Internal special variables
Special Variable, *last-space-id*: Internal special variables
Special Variable, *ndc-space*: Exported special variables
Special Variable, *screen-space*: Exported special variables
Special Variable, *spaces-array-growth-rate*: Internal special variables
Special Variable, *world-space*: Exported special variables
Special Variable, spaces: Internal special variables
start-space: Internal conditions
start-space: Internal conditions
superclass: Internal classes
superclass: Internal classes
superclass: Internal classes

T
target-id: Internal structures
to: Internal structures
type-name: Internal classes
type-name: Internal classes
type-name: Internal classes

U
uid: Exported structures

Jump to:   *   +  
A   C   D   F   G   I   K   N   P   R   S   T   U  

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

A.4 Data types

Jump to:   C   M   N   P   R   S   T   V  
Index Entry  Section

C
cepl.spaces: The cepl․spaces system
cepl.spaces: The cepl․spaces package
cepl.spaces.routes: The cepl․spaces․routes package
Class, spatial-meta: Internal classes
Class, svec3-g: Internal classes
Class, svec4-g: Internal classes
Class, vec-space-g: Internal classes
Condition, not-ancestor: Internal conditions
Condition, position->no-space: Internal conditions

M
maybe-subtable: Internal types

N
not-ancestor: Internal conditions

P
Package, cepl.spaces: The cepl․spaces package
Package, cepl.spaces.routes: The cepl․spaces․routes package
pos: Internal structures
position->no-space: Internal conditions

R
route-table: Internal structures

S
spatial-meta: Internal classes
spatial-relationship: Internal structures
Structure, pos: Internal structures
Structure, route-table: Internal structures
Structure, spatial-relationship: Internal structures
Structure, svec3: Internal structures
Structure, svec4: Exported structures
Structure, vec-space: Exported structures
subtable: Internal types
svec3: Internal structures
svec3-g: Internal classes
svec4: Exported structures
svec4-g: Internal classes
System, cepl.spaces: The cepl․spaces system

T
Type, maybe-subtable: Internal types
Type, subtable: Internal types

V
vec-space: Exported structures
vec-space-g: Internal classes

Jump to:   C   M   N   P   R   S   T   V