The verlet Reference Manual

This is the verlet Reference Manual, version 0.0.8, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 07:03:57 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 verlet

Verlet is a simple physics engine based on verlet
integration. It supports particles with position and direction, springs between particles, global gravity as well as gravity between particles, and spacial constraints.

Author

Thomas Bartscher <>

License

BSD-3

Version

0.0.8

Dependencies
  • chain (system).
  • metabang-bind (system).
  • rtg-math (system).
  • fset (system).
  • mgl-pax (system).
Source

verlet.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 verlet/utility

Dependency

package.lisp (file).

Source

verlet.asd.

Parent Component

verlet (system).

Child Components

3.2 verlet/source

Dependencies
Source

verlet.asd.

Parent Component

verlet (system).

Child Components

3.3 verlet/source/spring

Dependencies
Source

verlet.asd.

Parent Component

source (module).

Child Components

3.4 verlet/source/gravity

Dependencies
Source

verlet.asd.

Parent Component

source (module).

Child Components

3.5 verlet/source/constraint

Dependencies
Source

verlet.asd.

Parent Component

source (module).

Child Components

3.6 verlet/source/friction

Dependencies
Source

verlet.asd.

Parent Component

source (module).

Child Components

4 Files

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


4.1 Lisp


4.1.1 verlet/verlet.asd

Source

verlet.asd.

Parent Component

verlet (system).

ASDF Systems

verlet.


4.1.2 verlet/package.lisp

Source

verlet.asd.

Parent Component

verlet (system).

Packages

verlet.

Internals

4.1.3 verlet/utility/algebra.lisp

Source

verlet.asd.

Parent Component

utility (module).

Internals

4.1.4 verlet/utility/set.lisp

Source

verlet.asd.

Parent Component

utility (module).

Internals

union* (function).


4.1.5 verlet/source/force.lisp

Source

verlet.asd.

Parent Component

source (module).

Public Interface

deforce (macro).

Internals

4.1.6 verlet/source/particle.lisp

Source

verlet.asd.

Parent Component

source (module).

Public Interface
Internals

4.1.7 verlet/source/physics-loop.lisp

Dependency

force.lisp (file).

Source

verlet.asd.

Parent Component

source (module).

Public Interface
Internals

@physics-system (special variable).


4.1.8 verlet/source/spring/linear.lisp

Source

verlet.asd.

Parent Component

spring (module).

Public Interface
Internals

4.1.9 verlet/source/spring/area.lisp

Source

verlet.asd.

Parent Component

spring (module).

Public Interface
Internals

4.1.10 verlet/source/spring/volume.lisp

Source

verlet.asd.

Parent Component

spring (module).

Public Interface
Internals

4.1.11 verlet/source/spring/force.lisp

Dependencies
Source

verlet.asd.

Parent Component

spring (module).


4.1.12 verlet/source/modificator.lisp

Dependency

particle.lisp (file).

Source

verlet.asd.

Parent Component

source (module).

Public Interface
Internals

4.1.13 verlet/source/damper.lisp

Dependencies
Source

verlet.asd.

Parent Component

source (module).

Public Interface
Internals

@damper (special variable).


4.1.14 verlet/source/gravity/gravity.lisp

Source

verlet.asd.

Parent Component

gravity (module).

Internals

@gravity (special variable).


4.1.15 verlet/source/gravity/global.lisp

Source

verlet.asd.

Parent Component

gravity (module).

Public Interface
Internals

4.1.16 verlet/source/gravity/mutual.lisp

Source

verlet.asd.

Parent Component

gravity (module).

Public Interface
Internals

@mutual-gravity (special variable).


4.1.17 verlet/source/gravity/field.lisp

Source

verlet.asd.

Parent Component

gravity (module).

Public Interface
Internals

@field-gravity (special variable).


4.1.18 verlet/source/constraint/constraint.lisp

Source

verlet.asd.

Parent Component

constraint (module).

Public Interface
Internals

@constraint (special variable).


4.1.19 verlet/source/constraint/plane.lisp

Dependency

constraint.lisp (file).

Source

verlet.asd.

Parent Component

constraint (module).

Public Interface
Internals

4.1.20 verlet/source/constraint/sphere.lisp

Dependency

constraint.lisp (file).

Source

verlet.asd.

Parent Component

constraint (module).

Public Interface
Internals

4.1.21 verlet/source/constraint/triangle.lisp

Dependency

constraint.lisp (file).

Source

verlet.asd.

Parent Component

constraint (module).

Public Interface
Internals

4.1.22 verlet/source/friction/friction.lisp

Source

verlet.asd.

Parent Component

friction (module).

Public Interface

friction! (function).

Internals

@friction (special variable).


4.1.23 verlet/source/friction/global.lisp

Dependency

friction.lisp (file).

Source

verlet.asd.

Parent Component

friction (module).

Public Interface
Internals

@global-friction (special variable).


4.1.24 verlet/source/friction/field.lisp

Dependency

friction.lisp (file).

Source

verlet.asd.

Parent Component

friction (module).

Public Interface
Internals

@field-friction (special variable).


4.1.25 verlet/source/friction/constraint.lisp

Dependency

friction.lisp (file).

Source

verlet.asd.

Parent Component

friction (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 verlet

Source

package.lisp.

Use List
  • chain.
  • common-lisp.
  • metabang.bind.
  • mgl-pax.
  • rtg-math.
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Macros

Macro: build-system ((&rest particles) &body forces)

Build up a standard physics SYSTEM using defined forces.

PARTICLES is a list with items of the form
‘((X Y Z) &KEY (MASS 1.0) PREVIOUS-POSITION VELOCITY)‘.
The list at the beginning describes the position of the particle, for the meaning of the keyword arguments reference the ‘[PARTICLE]‘ function.

FORCES is a list of force descriptors, as defined by the DEFORCE macro. The respective forces are going to be added to the final system.

Package

verlet.

Source

physics-loop.lisp.

Macro: deforce (name mode (&rest lambda-list) &body body)

Define a force so it is usable in the BUILD-SYSTEM macro.

MODE is required to be one of :FORCE, :VELOCITY-DEPENDENT-FORCE, :CONSTRAINT, and :COLLISION. Reference the STEP! function for more information on what these mean.

The LAMBDA-LIST is tha lambda list used by the local macro in the BUILD-SYSTEM macro call, BODY is it’s body. The resulting code should return the object to add to the system under construction. PARTICLES is an anaphoric variable in the BODY, containing a list of the particles defined by PARTICLES in the BUILD-SYSTEM macro, in the order they are defined in.

Package

verlet.

Source

force.lisp.


6.1.2 Ordinary functions

Function: [area-spring] (p1 p2 p3 k &key area)

Creates an AREA-SPRING with corners P1, P2 and P3, ideal area AREA, and spring constant K. AREA defaults to the area enclosed by the supplied particles.

Package

verlet.

Source

area.lisp.

Function: [constraint-friction] (constraint friction)

Creates CONSTRAINT-FRICTION which applies friction FRICTION to subjects on collision with CONSTRAINT. Note that the subject of the CONSTRAINT-FRICTION instance and of the constraint need not necessarily be the same.

Package

verlet.

Source

constraint.lisp.

Function: [damper] (d &rest particles)
Package

verlet.

Source

damper.lisp.

Function: [field-friction] (field)

Creates [FIELD-FRICTION][class] with friction field FIELD. FIELD must map 3D positions to friction values.

Package

verlet.

Source

field.lisp.

Function: [field-gravity] (field)

Creates [FIELD-GRAVITY][class] with gravity field FIELD. FIELD must map positions ‘(SIMPLE-ARRAY SINGLE-FLOAT (3))‘s to gravity vectors ‘(SIMPLE-ARRAY SINGLE-FLOAT (3))‘.

Package

verlet.

Source

field.lisp.

Function: [global-friction] (friction)
Package

verlet.

Source

global.lisp.

Function: [global-gravity] (gravity)

Creates an instance of [GLOBAL-GRAVITY][class] which accelerates all its subjects by GRAVITY on each frame.

Package

verlet.

Source

global.lisp.

Function: [mutual-gravity] ()
Package

verlet.

Source

mutual.lisp.

Function: [particle] (position &key mass previous-position velocity)

Returns an instance of class PARTICLE at POSITION. Provide only one keyword argument among PREVIOUS-POSITION and VELOCITY, since the respective other is calculated from the provided. If none are provided, assume a velocity of 0.

Package

verlet.

Source

particle.lisp.

Function: [plane-constraint] (point normal)

Creates a [PLANE-CONSTRAINT][class] restricting all subjects to a half-space defined by the plane containing POINT with normal NORMAL. The usable half-space is the closed half-space that NORMAL is pointing into.

Package

verlet.

Source

plane.lisp.

Function: [sphere-constraint] (center radius &optional outer-wall?)

Creates a [SPHERE-CONSTRAINT][class] with center CENTER and radius
RADIUS. CENTER is a ‘(SIMPLE-ARRAY SINGLE-FLOAT (3))‘, RADIUS a SINGLE-FLOAT. When OUTER-WALL? is truthy, movement is restricted to the closed ball described by the sphere, otherwise movement is constricted to the outside of the open ball described by the sphere.

Package

verlet.

Source

sphere.lisp.

Function: [spring] (p1 p2 k &key length)

Create a [SPRING][class] connecting the ‘PARTICLE‘s P1 and P2, with ideal length LENGTH and spring constant K. LENGTH defaults to the distance between P1 and P2.

Package

verlet.

Source

linear.lisp.

Function: [system] ()
Package

verlet.

Source

physics-loop.lisp.

Function: [triangle-constraint] (p1 p2 p3)

Create a [TRIANGLE-CONSTRAINT][class] preventing particles moving through the triangle enclosed by P1, P2, and P3

Package

verlet.

Source

triangle.lisp.

Function: [volume-spring] (p1 p2 p3 p4 k &key volume)

Create a VOLUME-SPRING with corners P1, P2, P3 and P4, ideal volume VOLUME, and spring constant K. VOLUME defaults to the volume enclosed by the given particles.

Package

verlet.

Source

volume.lisp.

Function: accelerate! (particle dv)
Package

verlet.

Source

particle.lisp.

Function: deflect! (particle direction)

Moves PARTICLE to TARGET and mirrors the PARTICLE’s velocity on the plane containing TARGET with the change in position as normal.

Package

verlet.

Source

particle.lisp.

Function: friction! (particle friction delta)

Reduce the speed of PARTICLE by FRICTION·DELTA to a minimum of speed 0. This means that the PARTICLE’s velocity’s direction is never reversed by this function. Modifies PARTICLE.

Package

verlet.

Source

friction.lisp.

Function: speed<- (particle)

Return the speed of PARTICLE as a SINGLE-FLOAT.

Please note that this is a best guess at the current speed, based on the forces applied so far in the current frame.

Package

verlet.

Source

particle.lisp.

Function: step! (system delta &key resolve-steps)

Updates a physical SYSTEM by timestep DELTA.

1. Apply all forces not dependent on the velocity of particles (:FORCE in the DEFORCE macro)
2. Calculate forces depending on velocities of particles, using the memoized velocities so far (:VELOCITY-DEPENDENT-FORCE in the DEFORCE macro)
3. Repeat RESOLVE-STEPS times:
1. Resolve all static constraints (:CONSTRAINT in the DEFORCE macro)
2. Resolve collisions (:COLLISION in the DEFORCE macro)

Please note after STEP! returns, no collisions should be happening, but static constraints might be violated.

Package

verlet.

Source

physics-loop.lisp.

Function: velocity<- (particle)

Return the velocity of PARTICLE as a ‘(SIMPLE-ARRAY SINGLE-FLOAT (3))‘.

Please note that this is a best guess at the current velocity, based on the forces applied so far in the current frame.

Package

verlet.

Source

particle.lisp.


6.1.3 Generic functions

Generic Function: add-subject (modificator subject)

Adds a SUBJECT to the MODIFICATOR for tracking.

Package

verlet.

Source

modificator.lisp.

Methods
Method: add-subject ((modificator modificator) (subject particle))
Generic Reader: area<- (object)
Package

verlet.

Methods
Reader Method: area<- ((area-spring area-spring))

automatically generated reader method

Source

area.lisp.

Target Slot

%area.

Generic Writer: (setf area<-) (object)
Package

verlet.

Methods
Writer Method: (setf area<-) ((area-spring area-spring))

automatically generated writer method

Source

area.lisp.

Target Slot

%area.

Generic Reader: collisions<- (object)
Package

verlet.

Methods
Reader Method: collisions<- ((system system))

automatically generated reader method

Source

physics-loop.lisp.

Target Slot

%collisions.

Generic Writer: (setf collisions<-) (object)
Package

verlet.

Methods
Writer Method: (setf collisions<-) ((system system))

automatically generated writer method

Source

physics-loop.lisp.

Target Slot

%collisions.

Generic Reader: constraints<- (object)
Package

verlet.

Methods
Reader Method: constraints<- ((system system))

automatically generated reader method

Source

physics-loop.lisp.

Target Slot

%constraints.

Generic Writer: (setf constraints<-) (object)
Package

verlet.

Methods
Writer Method: (setf constraints<-) ((system system))

automatically generated writer method

Source

physics-loop.lisp.

Target Slot

%constraints.

Generic Reader: d<- (object)
Package

verlet.

Methods
Reader Method: d<- ((damper damper))

automatically generated reader method

Source

damper.lisp.

Target Slot

%d.

Generic Writer: (setf d<-) (object)
Package

verlet.

Methods
Writer Method: (setf d<-) ((damper damper))

automatically generated writer method

Source

damper.lisp.

Target Slot

%d.

Generic Function: deflection-vector (constraint particle)

Returns the cange in position for PARTICLE to obey CONSTRAINT again.

Package

verlet.

Source

constraint.lisp.

Methods
Method: deflection-vector ((constraint triangle-constraint) (particle particle))
Source

triangle.lisp.

Method: deflection-vector ((constraint sphere-constraint) (particle particle))
Source

sphere.lisp.

Method: deflection-vector ((constraint plane-constraint) (particle particle))
Source

plane.lisp.

Generic Reader: field<- (object)
Package

verlet.

Methods
Reader Method: field<- ((field-friction field-friction))

automatically generated reader method

Source

field.lisp.

Target Slot

%field.

Reader Method: field<- ((field-gravity field-gravity))

automatically generated reader method

Source

field.lisp.

Target Slot

%field.

Generic Writer: (setf field<-) (object)
Package

verlet.

Methods
Writer Method: (setf field<-) ((field-friction field-friction))

automatically generated writer method

Source

field.lisp.

Target Slot

%field.

Writer Method: (setf field<-) ((field-gravity field-gravity))

automatically generated writer method

Source

field.lisp.

Target Slot

%field.

Generic Reader: forces<- (object)
Package

verlet.

Methods
Reader Method: forces<- ((system system))

automatically generated reader method

Source

physics-loop.lisp.

Target Slot

%forces.

Generic Writer: (setf forces<-) (object)
Package

verlet.

Methods
Writer Method: (setf forces<-) ((system system))

automatically generated writer method

Source

physics-loop.lisp.

Target Slot

%forces.

Generic Reader: friction<- (object)
Package

verlet.

Methods
Reader Method: friction<- ((constraint-friction constraint-friction))

automatically generated reader method

Source

constraint.lisp.

Target Slot

%friction.

Reader Method: friction<- ((global-friction global-friction))

automatically generated reader method

Source

global.lisp.

Target Slot

%friction.

Generic Writer: (setf friction<-) (object)
Package

verlet.

Methods
Writer Method: (setf friction<-) ((constraint-friction constraint-friction))

automatically generated writer method

Source

constraint.lisp.

Target Slot

%friction.

Writer Method: (setf friction<-) ((global-friction global-friction))

automatically generated writer method

Source

global.lisp.

Target Slot

%friction.

Generic Reader: k<- (object)
Package

verlet.

Methods
Reader Method: k<- ((volume-spring volume-spring))

automatically generated reader method

Source

volume.lisp.

Target Slot

%k.

Reader Method: k<- ((area-spring area-spring))

automatically generated reader method

Source

area.lisp.

Target Slot

%k.

Reader Method: k<- ((spring spring))

automatically generated reader method

Source

linear.lisp.

Target Slot

%k.

Generic Writer: (setf k<-) (object)
Package

verlet.

Methods
Writer Method: (setf k<-) ((volume-spring volume-spring))

automatically generated writer method

Source

volume.lisp.

Target Slot

%k.

Writer Method: (setf k<-) ((area-spring area-spring))

automatically generated writer method

Source

area.lisp.

Target Slot

%k.

Writer Method: (setf k<-) ((spring spring))

automatically generated writer method

Source

linear.lisp.

Target Slot

%k.

Generic Reader: length<- (object)
Package

verlet.

Methods
Reader Method: length<- ((spring spring))

automatically generated reader method

Source

linear.lisp.

Target Slot

%length.

Generic Writer: (setf length<-) (object)
Package

verlet.

Methods
Writer Method: (setf length<-) ((spring spring))

automatically generated writer method

Source

linear.lisp.

Target Slot

%length.

Generic Reader: mass<- (object)
Package

verlet.

Methods
Reader Method: mass<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%mass.

Generic Writer: (setf mass<-) (object)
Package

verlet.

Methods
Writer Method: (setf mass<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%mass.

Generic Reader: particles<- (object)
Package

verlet.

Methods
Reader Method: particles<- ((system system))

automatically generated reader method

Source

physics-loop.lisp.

Target Slot

%particles.

Generic Writer: (setf particles<-) (object)
Package

verlet.

Methods
Writer Method: (setf particles<-) ((system system))

automatically generated writer method

Source

physics-loop.lisp.

Target Slot

%particles.

Generic Function: position<- (object)
Package

verlet.

Methods
Method: position<- ((object simple-array))
Source

particle.lisp.

Reader Method: position<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%position.

Generic Writer: (setf position<-) (object)
Package

verlet.

Methods
Writer Method: (setf position<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%position.

Generic Function: remove-subject (modificator subject)

Remove a SUBJECT to the MODIFICATOR so it won’t be tracked anymore.

Package

verlet.

Source

modificator.lisp.

Methods
Method: remove-subject ((modificator modificator) (subject particle))
Generic Function: update! (object &optional delta)
Package

verlet.

Source

particle.lisp.

Methods
Method: update! ((object constraint-friction) &optional delta)
Source

constraint.lisp.

Method: update! ((object field-friction) &optional delta)
Source

field.lisp.

Method: update! ((object global-friction) &optional delta)

Apply the global friction to all subjects.

Source

global.lisp.

Method: update! ((constraint constraint) &optional delta)

Deflects all subjects violating the constraint as per VIOLATED? by the vector defined by DEFLECTION-VECTOR.

Source

constraint.lisp.

Method: update! ((object field-gravity) &optional delta)
Source

field.lisp.

Method: update! ((gravity mutual-gravity) &optional delta)
Source

mutual.lisp.

Method: update! ((gravity global-gravity) &optional delta)

Accelerate the subjects of GRAVITY by the gravity vector.

Source

global.lisp.

Method: update! ((damper damper) &optional delta)
Source

damper.lisp.

Method: update! ((object volume-spring) &optional delta)

Exert a volume-restoring force on the corners of the volume spring.

Source

volume.lisp.

Method: update! ((object area-spring) &optional delta)

Exert an area-restoring force on the corners of the area spring

Source

area.lisp.

Method: update! ((object spring) &optional delta)

Exert a length-restoring force on the endpoints of the linear spring.

Source

linear.lisp.

Method: update! ((particle particle) &optional delta)

Move PARTICLE by DELTA times the ‘PARTICLE‘s velocity.

Generic Reader: velocity-dependent-forces<- (object)
Package

verlet.

Methods
Reader Method: velocity-dependent-forces<- ((system system))

automatically generated reader method

Source

physics-loop.lisp.

Target Slot

%velocity-dependent-forces.

Generic Writer: (setf velocity-dependent-forces<-) (object)
Package

verlet.

Methods
Writer Method: (setf velocity-dependent-forces<-) ((system system))

automatically generated writer method

Source

physics-loop.lisp.

Target Slot

%velocity-dependent-forces.

Generic Function: violated? (constraint particle)

Returns NIL when the constraint is fulfilled and a truthy value otherwise.

Package

verlet.

Source

constraint.lisp.

Methods
Method: violated? ((constraint triangle-constraint) (particle particle))
Source

triangle.lisp.

Method: violated? ((constraint sphere-constraint) (particle particle))
Source

sphere.lisp.

Method: violated? ((constraint plane-constraint) (particle particle))
Source

plane.lisp.

Generic Reader: volume<- (object)
Package

verlet.

Methods
Reader Method: volume<- ((volume-spring volume-spring))

automatically generated reader method

Source

volume.lisp.

Target Slot

%volume.

Generic Writer: (setf volume<-) (object)
Package

verlet.

Methods
Writer Method: (setf volume<-) ((volume-spring volume-spring))

automatically generated writer method

Source

volume.lisp.

Target Slot

%volume.


6.1.4 Standalone methods

Method: print-object ((object particle) stream)
Source

particle.lisp.


6.1.5 Classes

Class: area-spring
Package

verlet.

Source

area.lisp.

Direct methods
Direct slots
Slot: %p1
Type

verlet:particle

Initargs

:p1

Readers

p1<-.

Writers

This slot is read-only.

Slot: %p2
Type

verlet:particle

Initargs

:p2

Readers

p2<-.

Writers

This slot is read-only.

Slot: %p3
Type

verlet:particle

Initargs

:p3

Readers

p3<-.

Writers

This slot is read-only.

Slot: %k
Type

(single-float (0.0))

Initargs

:k

Readers

k<-.

Writers

(setf k<-).

Slot: %area
Type

(single-float 0.0)

Initargs

:area

Readers

area<-.

Writers

(setf area<-).

Class: constraint
Package

verlet.

Source

constraint.lisp.

Direct superclasses

modificator.

Direct subclasses
Direct methods

update!.

Class: constraint-friction
Package

verlet.

Source

constraint.lisp.

Direct superclasses

modificator.

Direct methods
Direct slots
Slot: %constraint
Type

verlet:constraint

Initargs

:constraint

Readers

constraint<-.

Writers

This slot is read-only.

Slot: %friction
Type

(single-float (0.0))

Initargs

:friction

Readers

friction<-.

Writers

(setf friction<-).

Class: damper
Package

verlet.

Source

damper.lisp.

Direct superclasses

modificator.

Direct methods
Direct slots
Slot: %d
Type

(single-float (0.0))

Initargs

:d

Readers

d<-.

Writers

(setf d<-).

Class: field-friction
Package

verlet.

Source

field.lisp.

Direct superclasses

modificator.

Direct methods
Direct slots
Slot: %field
Type

(function ((simple-array single-float (3))) (single-float 0.0))

Initargs

:field

Readers

field<-.

Writers

(setf field<-).

Class: field-gravity
Package

verlet.

Source

field.lisp.

Direct superclasses

modificator.

Direct methods
Direct slots
Slot: %field
Type

(function ((simple-array single-float (3))) (simple-array single-float (3)))

Initargs

:field

Readers

field<-.

Writers

(setf field<-).

Class: global-friction
Package

verlet.

Source

global.lisp.

Direct superclasses

modificator.

Direct methods
Direct slots
Slot: %friction
Type

(single-float (0.0))

Initargs

:friction

Readers

friction<-.

Writers

(setf friction<-).

Class: global-gravity
Package

verlet.

Source

global.lisp.

Direct superclasses

modificator.

Direct methods
Direct slots
Slot: %gravity
Type

(simple-array single-float (3))

Initargs

:gravity

Readers

gravity<-.

Writers

(setf gravity<-).

Class: modificator

MODIFICATOR objects keep track of other objects to modify in a uniform fashion. The MODIFICATOR class itself is not meant to be instanciated. An inheriting class should implement a method for UPDATE! to make use of its subjects.

Package

verlet.

Source

modificator.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: %subjects
Type

fset:set

Initform

(fset:set)

Readers

subjects<-.

Writers

(setf subjects<-).

Class: mutual-gravity

Applies gravitational force to the tracked particles according to the mass of the other tracked particles.

Package

verlet.

Source

mutual.lisp.

Direct superclasses

modificator.

Direct methods

update!.

Class: particle
Package

verlet.

Source

particle.lisp.

Direct methods
Direct slots
Slot: %position
Type

(simple-array single-float (3))

Initargs

:position

Readers

position<-.

Writers

(setf position<-).

Slot: %acceleration
Type

(simple-array single-float (3))

Initform

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

Readers

acceleration<-.

Writers

(setf acceleration<-).

Slot: %temp-velocity
Type

(simple-array single-float (3))

Initform

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

Readers

temp-velocity<-.

Writers

(setf temp-velocity<-).

Slot: %previous-position
Type

(simple-array single-float (3))

Initargs

:previous-position

Readers

previous-position<-.

Writers

(setf previous-position<-).

Slot: %previous-delta
Type

(real (0))

Initform

1.0

Readers

previous-delta<-.

Writers

(setf previous-delta<-).

Slot: %actual-previous-position
Type

(simple-array single-float (3))

Initargs

:actual-previous-position

Readers

actual-previous-position<-.

Writers

(setf actual-previous-position<-).

Slot: %mass
Type

(single-float (0.0))

Initargs

:mass

Readers

mass<-.

Writers

(setf mass<-).

Class: plane-constraint
Package

verlet.

Source

plane.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: %point
Type

(simple-array single-float (3))

Initargs

:point

Readers

point<-.

Writers

This slot is read-only.

Slot: %normal
Type

(simple-array single-float (3))

Initargs

:normal

Readers

normal<-.

Writers

This slot is read-only.

Class: sphere-constraint
Package

verlet.

Source

sphere.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: %center
Type

(simple-array single-float (3))

Initargs

:center

Readers

center<-.

Writers

This slot is read-only.

Slot: %radius
Type

(single-float (0.0))

Initargs

:radius

Readers

radius<-.

Writers

This slot is read-only.

Slot: %outer-wall?
Type

boolean

Initargs

:outer-wall?

Readers

outer-wall?.

Writers

This slot is read-only.

Class: spring
Package

verlet.

Source

linear.lisp.

Direct methods
Direct slots
Slot: %p1
Type

verlet:particle

Initargs

:p1

Readers

p1<-.

Writers

This slot is read-only.

Slot: %p2
Type

verlet:particle

Initargs

:p2

Readers

p2<-.

Writers

This slot is read-only.

Slot: %k
Type

(single-float (0.0))

Initargs

:k

Readers

k<-.

Writers

(setf k<-).

Slot: %length
Type

(single-float 0.0)

Initargs

:length

Readers

length<-.

Writers

(setf length<-).

Class: system
Package

verlet.

Source

physics-loop.lisp.

Direct methods
Direct slots
Slot: %particles
Type

fset:set

Initform

(fset:set)

Readers

particles<-.

Writers

(setf particles<-).

Slot: %forces
Type

fset:set

Initform

(fset:set)

Readers

forces<-.

Writers

(setf forces<-).

Slot: %velocity-dependent-forces
Type

fset:set

Initform

(fset:set)

Readers

velocity-dependent-forces<-.

Writers

(setf velocity-dependent-forces<-).

Slot: %collisions
Type

fset:set

Initform

(fset:set)

Readers

collisions<-.

Writers

(setf collisions<-).

Slot: %constraints
Type

fset:set

Initform

(fset:set)

Readers

constraints<-.

Writers

(setf constraints<-).

Class: triangle-constraint
Package

verlet.

Source

triangle.lisp.

Direct superclasses

constraint.

Direct methods
Direct slots
Slot: %p1
Type

(simple-array single-float (3))

Initargs

:p1

Readers

p1<-.

Writers

This slot is read-only.

Slot: %p2
Type

(simple-array single-float (3))

Initargs

:p2

Readers

p2<-.

Writers

This slot is read-only.

Slot: %p3
Type

(simple-array single-float (3))

Initargs

:p3

Readers

p3<-.

Writers

This slot is read-only.

Class: volume-spring
Package

verlet.

Source

volume.lisp.

Direct methods
Direct slots
Slot: %p1
Type

verlet:particle

Initargs

:p1

Readers

p1<-.

Writers

This slot is read-only.

Slot: %p2
Type

verlet:particle

Initargs

:p2

Readers

p2<-.

Writers

This slot is read-only.

Slot: %p3
Type

verlet:particle

Initargs

:p3

Readers

p3<-.

Writers

This slot is read-only.

Slot: %p4
Type

verlet:particle

Initargs

:p4

Readers

p4<-.

Writers

This slot is read-only.

Slot: %volume
Type

(single-float 0.0)

Initargs

:volume

Readers

volume<-.

Writers

(setf volume<-).

Slot: %k
Type

(single-float (0.0))

Initargs

:k

Readers

k<-.

Writers

(setf k<-).


6.2 Internals


6.2.1 Special variables

Special Variable: @area-spring
Package

verlet.

Source

area.lisp.

Special Variable: @constraint
Package

verlet.

Source

constraint.lisp.

Special Variable: @constraint-friction
Package

verlet.

Source

constraint.lisp.

Special Variable: @damper
Package

verlet.

Source

damper.lisp.

Special Variable: @field-friction
Package

verlet.

Source

field.lisp.

Special Variable: @field-gravity
Package

verlet.

Source

field.lisp.

Special Variable: @force
Package

verlet.

Source

force.lisp.

Special Variable: @friction
Package

verlet.

Source

friction.lisp.

Special Variable: @global-friction
Package

verlet.

Source

global.lisp.

Special Variable: @global-gravity
Package

verlet.

Source

global.lisp.

Special Variable: @gravity
Package

verlet.

Source

gravity.lisp.

Special Variable: @interface
Package

verlet.

Source

package.lisp.

Special Variable: @linear-spring
Package

verlet.

Source

linear.lisp.

Special Variable: @modificator
Package

verlet.

Source

modificator.lisp.

Special Variable: @mutual-gravity
Package

verlet.

Source

mutual.lisp.

Special Variable: @particle
Package

verlet.

Source

particle.lisp.

Special Variable: @physics-system
Package

verlet.

Source

physics-loop.lisp.

Special Variable: @plane-constraint
Package

verlet.

Source

plane.lisp.

Special Variable: @sphere-constraint
Package

verlet.

Source

sphere.lisp.

Special Variable: @spring
Package

verlet.

Source

linear.lisp.

Special Variable: @triangle-constraint
Package

verlet.

Source

triangle.lisp.

Special Variable: @verlet
Package

verlet.

Source

package.lisp.

Special Variable: @volume-spring
Package

verlet.

Source

volume.lisp.


6.2.2 Ordinary functions

Function: apply-force! (particle force)
Package

verlet.

Source

particle.lisp.

Function: center-of-mass (particles)
Package

verlet.

Source

particle.lisp.

Function: find-force (name)
Package

verlet.

Source

force.lisp.

Function: mirror (v p n)
Package

verlet.

Source

algebra.lisp.

Function: next-position (particle delta)
Package

verlet.

Source

particle.lisp.

Function: orthogonalize (v p n)
Package

verlet.

Source

algebra.lisp.

Function: project (v p n)
Package

verlet.

Source

algebra.lisp.

Function: register-force (name mode lambda-list body &optional docstring)
Package

verlet.

Source

force.lisp.

Function: towards (v target length)
Package

verlet.

Source

algebra.lisp.

Function: union* (&rest sets)
Package

verlet.

Source

set.lisp.


6.2.3 Generic functions

Generic Reader: acceleration<- (object)
Package

verlet.

Methods
Reader Method: acceleration<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%acceleration.

Generic Writer: (setf acceleration<-) (object)
Package

verlet.

Methods
Writer Method: (setf acceleration<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%acceleration.

Generic Reader: actual-previous-position<- (object)
Package

verlet.

Methods
Reader Method: actual-previous-position<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%actual-previous-position.

Generic Writer: (setf actual-previous-position<-) (object)
Package

verlet.

Methods
Writer Method: (setf actual-previous-position<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%actual-previous-position.

Generic Reader: center<- (object)
Package

verlet.

Methods
Reader Method: center<- ((sphere-constraint sphere-constraint))

automatically generated reader method

Source

sphere.lisp.

Target Slot

%center.

Generic Reader: constraint<- (object)
Package

verlet.

Methods
Reader Method: constraint<- ((constraint-friction constraint-friction))

automatically generated reader method

Source

constraint.lisp.

Target Slot

%constraint.

Generic Reader: gravity<- (object)
Package

verlet.

Methods
Reader Method: gravity<- ((global-gravity global-gravity))

automatically generated reader method

Source

global.lisp.

Target Slot

%gravity.

Generic Writer: (setf gravity<-) (object)
Package

verlet.

Methods
Writer Method: (setf gravity<-) ((global-gravity global-gravity))

automatically generated writer method

Source

global.lisp.

Target Slot

%gravity.

Generic Reader: normal<- (object)
Package

verlet.

Methods
Reader Method: normal<- ((plane-constraint plane-constraint))

automatically generated reader method

Source

plane.lisp.

Target Slot

%normal.

Generic Reader: outer-wall? (object)
Package

verlet.

Methods
Reader Method: outer-wall? ((sphere-constraint sphere-constraint))

automatically generated reader method

Source

sphere.lisp.

Target Slot

%outer-wall?.

Generic Reader: p1<- (object)
Package

verlet.

Methods
Reader Method: p1<- ((triangle-constraint triangle-constraint))

automatically generated reader method

Source

triangle.lisp.

Target Slot

%p1.

Reader Method: p1<- ((volume-spring volume-spring))

automatically generated reader method

Source

volume.lisp.

Target Slot

%p1.

Reader Method: p1<- ((area-spring area-spring))

automatically generated reader method

Source

area.lisp.

Target Slot

%p1.

Reader Method: p1<- ((spring spring))

automatically generated reader method

Source

linear.lisp.

Target Slot

%p1.

Generic Reader: p2<- (object)
Package

verlet.

Methods
Reader Method: p2<- ((triangle-constraint triangle-constraint))

automatically generated reader method

Source

triangle.lisp.

Target Slot

%p2.

Reader Method: p2<- ((volume-spring volume-spring))

automatically generated reader method

Source

volume.lisp.

Target Slot

%p2.

Reader Method: p2<- ((area-spring area-spring))

automatically generated reader method

Source

area.lisp.

Target Slot

%p2.

Reader Method: p2<- ((spring spring))

automatically generated reader method

Source

linear.lisp.

Target Slot

%p2.

Generic Reader: p3<- (object)
Package

verlet.

Methods
Reader Method: p3<- ((triangle-constraint triangle-constraint))

automatically generated reader method

Source

triangle.lisp.

Target Slot

%p3.

Reader Method: p3<- ((volume-spring volume-spring))

automatically generated reader method

Source

volume.lisp.

Target Slot

%p3.

Reader Method: p3<- ((area-spring area-spring))

automatically generated reader method

Source

area.lisp.

Target Slot

%p3.

Generic Reader: p4<- (object)
Package

verlet.

Methods
Reader Method: p4<- ((volume-spring volume-spring))

automatically generated reader method

Source

volume.lisp.

Target Slot

%p4.

Generic Reader: point<- (object)
Package

verlet.

Methods
Reader Method: point<- ((plane-constraint plane-constraint))

automatically generated reader method

Source

plane.lisp.

Target Slot

%point.

Generic Reader: previous-delta<- (object)
Package

verlet.

Methods
Reader Method: previous-delta<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%previous-delta.

Generic Writer: (setf previous-delta<-) (object)
Package

verlet.

Methods
Writer Method: (setf previous-delta<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%previous-delta.

Generic Reader: previous-position<- (object)
Package

verlet.

Methods
Reader Method: previous-position<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%previous-position.

Generic Writer: (setf previous-position<-) (object)
Package

verlet.

Methods
Writer Method: (setf previous-position<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%previous-position.

Generic Reader: radius<- (object)
Package

verlet.

Methods
Reader Method: radius<- ((sphere-constraint sphere-constraint))

automatically generated reader method

Source

sphere.lisp.

Target Slot

%radius.

Generic Reader: subjects<- (object)
Package

verlet.

Methods
Reader Method: subjects<- ((modificator modificator))

automatically generated reader method

Source

modificator.lisp.

Target Slot

%subjects.

Generic Writer: (setf subjects<-) (object)
Package

verlet.

Methods
Writer Method: (setf subjects<-) ((modificator modificator))

automatically generated writer method

Source

modificator.lisp.

Target Slot

%subjects.

Generic Reader: temp-velocity<- (object)
Package

verlet.

Methods
Reader Method: temp-velocity<- ((particle particle))

automatically generated reader method

Source

particle.lisp.

Target Slot

%temp-velocity.

Generic Writer: (setf temp-velocity<-) (object)
Package

verlet.

Methods
Writer Method: (setf temp-velocity<-) ((particle particle))

automatically generated writer method

Source

particle.lisp.

Target Slot

%temp-velocity.


6.2.4 Classes

Class: force-dref
Package

verlet.

Source

force.lisp.

Direct superclasses

symbol-locative-dref.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (   [  
A   B   C   D   F   G   K   L   M   N   O   P   R   S   T   U   V  
Index Entry  Section

(
(setf acceleration<-): Private generic functions
(setf acceleration<-): Private generic functions
(setf actual-previous-position<-): Private generic functions
(setf actual-previous-position<-): Private generic functions
(setf area<-): Public generic functions
(setf area<-): Public generic functions
(setf collisions<-): Public generic functions
(setf collisions<-): Public generic functions
(setf constraints<-): Public generic functions
(setf constraints<-): Public generic functions
(setf d<-): Public generic functions
(setf d<-): Public generic functions
(setf field<-): Public generic functions
(setf field<-): Public generic functions
(setf field<-): Public generic functions
(setf forces<-): Public generic functions
(setf forces<-): Public generic functions
(setf friction<-): Public generic functions
(setf friction<-): Public generic functions
(setf friction<-): Public generic functions
(setf gravity<-): Private generic functions
(setf gravity<-): Private generic functions
(setf k<-): Public generic functions
(setf k<-): Public generic functions
(setf k<-): Public generic functions
(setf k<-): Public generic functions
(setf length<-): Public generic functions
(setf length<-): Public generic functions
(setf mass<-): Public generic functions
(setf mass<-): Public generic functions
(setf particles<-): Public generic functions
(setf particles<-): Public generic functions
(setf position<-): Public generic functions
(setf position<-): Public generic functions
(setf previous-delta<-): Private generic functions
(setf previous-delta<-): Private generic functions
(setf previous-position<-): Private generic functions
(setf previous-position<-): Private generic functions
(setf subjects<-): Private generic functions
(setf subjects<-): Private generic functions
(setf temp-velocity<-): Private generic functions
(setf temp-velocity<-): Private generic functions
(setf velocity-dependent-forces<-): Public generic functions
(setf velocity-dependent-forces<-): Public generic functions
(setf volume<-): Public generic functions
(setf volume<-): Public generic functions

[
[area-spring]: Public ordinary functions
[constraint-friction]: Public ordinary functions
[damper]: Public ordinary functions
[field-friction]: Public ordinary functions
[field-gravity]: Public ordinary functions
[global-friction]: Public ordinary functions
[global-gravity]: Public ordinary functions
[mutual-gravity]: Public ordinary functions
[particle]: Public ordinary functions
[plane-constraint]: Public ordinary functions
[sphere-constraint]: Public ordinary functions
[spring]: Public ordinary functions
[system]: Public ordinary functions
[triangle-constraint]: Public ordinary functions
[volume-spring]: Public ordinary functions

A
accelerate!: Public ordinary functions
acceleration<-: Private generic functions
acceleration<-: Private generic functions
actual-previous-position<-: Private generic functions
actual-previous-position<-: Private generic functions
add-subject: Public generic functions
add-subject: Public generic functions
apply-force!: Private ordinary functions
area<-: Public generic functions
area<-: Public generic functions

B
build-system: Public macros

C
center-of-mass: Private ordinary functions
center<-: Private generic functions
center<-: Private generic functions
collisions<-: Public generic functions
collisions<-: Public generic functions
constraint<-: Private generic functions
constraint<-: Private generic functions
constraints<-: Public generic functions
constraints<-: Public generic functions

D
d<-: Public generic functions
d<-: Public generic functions
deflect!: Public ordinary functions
deflection-vector: Public generic functions
deflection-vector: Public generic functions
deflection-vector: Public generic functions
deflection-vector: Public generic functions
deforce: Public macros

F
field<-: Public generic functions
field<-: Public generic functions
field<-: Public generic functions
find-force: Private ordinary functions
forces<-: Public generic functions
forces<-: Public generic functions
friction!: Public ordinary functions
friction<-: Public generic functions
friction<-: Public generic functions
friction<-: Public generic functions
Function, accelerate!: Public ordinary functions
Function, apply-force!: Private ordinary functions
Function, center-of-mass: Private ordinary functions
Function, deflect!: Public ordinary functions
Function, find-force: Private ordinary functions
Function, friction!: Public ordinary functions
Function, mirror: Private ordinary functions
Function, next-position: Private ordinary functions
Function, orthogonalize: Private ordinary functions
Function, project: Private ordinary functions
Function, register-force: Private ordinary functions
Function, speed<-: Public ordinary functions
Function, step!: Public ordinary functions
Function, towards: Private ordinary functions
Function, union*: Private ordinary functions
Function, velocity<-: Public ordinary functions
Function, [area-spring]: Public ordinary functions
Function, [constraint-friction]: Public ordinary functions
Function, [damper]: Public ordinary functions
Function, [field-friction]: Public ordinary functions
Function, [field-gravity]: Public ordinary functions
Function, [global-friction]: Public ordinary functions
Function, [global-gravity]: Public ordinary functions
Function, [mutual-gravity]: Public ordinary functions
Function, [particle]: Public ordinary functions
Function, [plane-constraint]: Public ordinary functions
Function, [sphere-constraint]: Public ordinary functions
Function, [spring]: Public ordinary functions
Function, [system]: Public ordinary functions
Function, [triangle-constraint]: Public ordinary functions
Function, [volume-spring]: Public ordinary functions

G
Generic Function, (setf acceleration<-): Private generic functions
Generic Function, (setf actual-previous-position<-): Private generic functions
Generic Function, (setf area<-): Public generic functions
Generic Function, (setf collisions<-): Public generic functions
Generic Function, (setf constraints<-): Public generic functions
Generic Function, (setf d<-): Public generic functions
Generic Function, (setf field<-): Public generic functions
Generic Function, (setf forces<-): Public generic functions
Generic Function, (setf friction<-): Public generic functions
Generic Function, (setf gravity<-): Private generic functions
Generic Function, (setf k<-): Public generic functions
Generic Function, (setf length<-): Public generic functions
Generic Function, (setf mass<-): Public generic functions
Generic Function, (setf particles<-): Public generic functions
Generic Function, (setf position<-): Public generic functions
Generic Function, (setf previous-delta<-): Private generic functions
Generic Function, (setf previous-position<-): Private generic functions
Generic Function, (setf subjects<-): Private generic functions
Generic Function, (setf temp-velocity<-): Private generic functions
Generic Function, (setf velocity-dependent-forces<-): Public generic functions
Generic Function, (setf volume<-): Public generic functions
Generic Function, acceleration<-: Private generic functions
Generic Function, actual-previous-position<-: Private generic functions
Generic Function, add-subject: Public generic functions
Generic Function, area<-: Public generic functions
Generic Function, center<-: Private generic functions
Generic Function, collisions<-: Public generic functions
Generic Function, constraint<-: Private generic functions
Generic Function, constraints<-: Public generic functions
Generic Function, d<-: Public generic functions
Generic Function, deflection-vector: Public generic functions
Generic Function, field<-: Public generic functions
Generic Function, forces<-: Public generic functions
Generic Function, friction<-: Public generic functions
Generic Function, gravity<-: Private generic functions
Generic Function, k<-: Public generic functions
Generic Function, length<-: Public generic functions
Generic Function, mass<-: Public generic functions
Generic Function, normal<-: Private generic functions
Generic Function, outer-wall?: Private generic functions
Generic Function, p1<-: Private generic functions
Generic Function, p2<-: Private generic functions
Generic Function, p3<-: Private generic functions
Generic Function, p4<-: Private generic functions
Generic Function, particles<-: Public generic functions
Generic Function, point<-: Private generic functions
Generic Function, position<-: Public generic functions
Generic Function, previous-delta<-: Private generic functions
Generic Function, previous-position<-: Private generic functions
Generic Function, radius<-: Private generic functions
Generic Function, remove-subject: Public generic functions
Generic Function, subjects<-: Private generic functions
Generic Function, temp-velocity<-: Private generic functions
Generic Function, update!: Public generic functions
Generic Function, velocity-dependent-forces<-: Public generic functions
Generic Function, violated?: Public generic functions
Generic Function, volume<-: Public generic functions
gravity<-: Private generic functions
gravity<-: Private generic functions

K
k<-: Public generic functions
k<-: Public generic functions
k<-: Public generic functions
k<-: Public generic functions

L
length<-: Public generic functions
length<-: Public generic functions

M
Macro, build-system: Public macros
Macro, deforce: Public macros
mass<-: Public generic functions
mass<-: Public generic functions
Method, (setf acceleration<-): Private generic functions
Method, (setf actual-previous-position<-): Private generic functions
Method, (setf area<-): Public generic functions
Method, (setf collisions<-): Public generic functions
Method, (setf constraints<-): Public generic functions
Method, (setf d<-): Public generic functions
Method, (setf field<-): Public generic functions
Method, (setf field<-): Public generic functions
Method, (setf forces<-): Public generic functions
Method, (setf friction<-): Public generic functions
Method, (setf friction<-): Public generic functions
Method, (setf gravity<-): Private generic functions
Method, (setf k<-): Public generic functions
Method, (setf k<-): Public generic functions
Method, (setf k<-): Public generic functions
Method, (setf length<-): Public generic functions
Method, (setf mass<-): Public generic functions
Method, (setf particles<-): Public generic functions
Method, (setf position<-): Public generic functions
Method, (setf previous-delta<-): Private generic functions
Method, (setf previous-position<-): Private generic functions
Method, (setf subjects<-): Private generic functions
Method, (setf temp-velocity<-): Private generic functions
Method, (setf velocity-dependent-forces<-): Public generic functions
Method, (setf volume<-): Public generic functions
Method, acceleration<-: Private generic functions
Method, actual-previous-position<-: Private generic functions
Method, add-subject: Public generic functions
Method, area<-: Public generic functions
Method, center<-: Private generic functions
Method, collisions<-: Public generic functions
Method, constraint<-: Private generic functions
Method, constraints<-: Public generic functions
Method, d<-: Public generic functions
Method, deflection-vector: Public generic functions
Method, deflection-vector: Public generic functions
Method, deflection-vector: Public generic functions
Method, field<-: Public generic functions
Method, field<-: Public generic functions
Method, forces<-: Public generic functions
Method, friction<-: Public generic functions
Method, friction<-: Public generic functions
Method, gravity<-: Private generic functions
Method, k<-: Public generic functions
Method, k<-: Public generic functions
Method, k<-: Public generic functions
Method, length<-: Public generic functions
Method, mass<-: Public generic functions
Method, normal<-: Private generic functions
Method, outer-wall?: Private generic functions
Method, p1<-: Private generic functions
Method, p1<-: Private generic functions
Method, p1<-: Private generic functions
Method, p1<-: Private generic functions
Method, p2<-: Private generic functions
Method, p2<-: Private generic functions
Method, p2<-: Private generic functions
Method, p2<-: Private generic functions
Method, p3<-: Private generic functions
Method, p3<-: Private generic functions
Method, p3<-: Private generic functions
Method, p4<-: Private generic functions
Method, particles<-: Public generic functions
Method, point<-: Private generic functions
Method, position<-: Public generic functions
Method, position<-: Public generic functions
Method, previous-delta<-: Private generic functions
Method, previous-position<-: Private generic functions
Method, print-object: Public standalone methods
Method, radius<-: Private generic functions
Method, remove-subject: Public generic functions
Method, subjects<-: Private generic functions
Method, temp-velocity<-: Private generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, update!: Public generic functions
Method, velocity-dependent-forces<-: Public generic functions
Method, violated?: Public generic functions
Method, violated?: Public generic functions
Method, violated?: Public generic functions
Method, volume<-: Public generic functions
mirror: Private ordinary functions

N
next-position: Private ordinary functions
normal<-: Private generic functions
normal<-: Private generic functions

O
orthogonalize: Private ordinary functions
outer-wall?: Private generic functions
outer-wall?: Private generic functions

P
p1<-: Private generic functions
p1<-: Private generic functions
p1<-: Private generic functions
p1<-: Private generic functions
p1<-: Private generic functions
p2<-: Private generic functions
p2<-: Private generic functions
p2<-: Private generic functions
p2<-: Private generic functions
p2<-: Private generic functions
p3<-: Private generic functions
p3<-: Private generic functions
p3<-: Private generic functions
p3<-: Private generic functions
p4<-: Private generic functions
p4<-: Private generic functions
particles<-: Public generic functions
particles<-: Public generic functions
point<-: Private generic functions
point<-: Private generic functions
position<-: Public generic functions
position<-: Public generic functions
position<-: Public generic functions
previous-delta<-: Private generic functions
previous-delta<-: Private generic functions
previous-position<-: Private generic functions
previous-position<-: Private generic functions
print-object: Public standalone methods
project: Private ordinary functions

R
radius<-: Private generic functions
radius<-: Private generic functions
register-force: Private ordinary functions
remove-subject: Public generic functions
remove-subject: Public generic functions

S
speed<-: Public ordinary functions
step!: Public ordinary functions
subjects<-: Private generic functions
subjects<-: Private generic functions

T
temp-velocity<-: Private generic functions
temp-velocity<-: Private generic functions
towards: Private ordinary functions

U
union*: Private ordinary functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions
update!: Public generic functions

V
velocity-dependent-forces<-: Public generic functions
velocity-dependent-forces<-: Public generic functions
velocity<-: Public ordinary functions
violated?: Public generic functions
violated?: Public generic functions
violated?: Public generic functions
violated?: Public generic functions
volume<-: Public generic functions
volume<-: Public generic functions


A.3 Variables

Jump to:   %   @  
S  
Index Entry  Section

%
%acceleration: Public classes
%actual-previous-position: Public classes
%area: Public classes
%center: Public classes
%collisions: Public classes
%constraint: Public classes
%constraints: Public classes
%d: Public classes
%field: Public classes
%field: Public classes
%forces: Public classes
%friction: Public classes
%friction: Public classes
%gravity: Public classes
%k: Public classes
%k: Public classes
%k: Public classes
%length: Public classes
%mass: Public classes
%normal: Public classes
%outer-wall?: Public classes
%p1: Public classes
%p1: Public classes
%p1: Public classes
%p1: Public classes
%p2: Public classes
%p2: Public classes
%p2: Public classes
%p2: Public classes
%p3: Public classes
%p3: Public classes
%p3: Public classes
%p4: Public classes
%particles: Public classes
%point: Public classes
%position: Public classes
%previous-delta: Public classes
%previous-position: Public classes
%radius: Public classes
%subjects: Public classes
%temp-velocity: Public classes
%velocity-dependent-forces: Public classes
%volume: Public classes

@
@area-spring: Private special variables
@constraint: Private special variables
@constraint-friction: Private special variables
@damper: Private special variables
@field-friction: Private special variables
@field-gravity: Private special variables
@force: Private special variables
@friction: Private special variables
@global-friction: Private special variables
@global-gravity: Private special variables
@gravity: Private special variables
@interface: Private special variables
@linear-spring: Private special variables
@modificator: Private special variables
@mutual-gravity: Private special variables
@particle: Private special variables
@physics-system: Private special variables
@plane-constraint: Private special variables
@sphere-constraint: Private special variables
@spring: Private special variables
@triangle-constraint: Private special variables
@verlet: Private special variables
@volume-spring: Private special variables

S
Slot, %acceleration: Public classes
Slot, %actual-previous-position: Public classes
Slot, %area: Public classes
Slot, %center: Public classes
Slot, %collisions: Public classes
Slot, %constraint: Public classes
Slot, %constraints: Public classes
Slot, %d: Public classes
Slot, %field: Public classes
Slot, %field: Public classes
Slot, %forces: Public classes
Slot, %friction: Public classes
Slot, %friction: Public classes
Slot, %gravity: Public classes
Slot, %k: Public classes
Slot, %k: Public classes
Slot, %k: Public classes
Slot, %length: Public classes
Slot, %mass: Public classes
Slot, %normal: Public classes
Slot, %outer-wall?: Public classes
Slot, %p1: Public classes
Slot, %p1: Public classes
Slot, %p1: Public classes
Slot, %p1: Public classes
Slot, %p2: Public classes
Slot, %p2: Public classes
Slot, %p2: Public classes
Slot, %p2: Public classes
Slot, %p3: Public classes
Slot, %p3: Public classes
Slot, %p3: Public classes
Slot, %p4: Public classes
Slot, %particles: Public classes
Slot, %point: Public classes
Slot, %position: Public classes
Slot, %previous-delta: Public classes
Slot, %previous-position: Public classes
Slot, %radius: Public classes
Slot, %subjects: Public classes
Slot, %temp-velocity: Public classes
Slot, %velocity-dependent-forces: Public classes
Slot, %volume: Public classes
Special Variable, @area-spring: Private special variables
Special Variable, @constraint: Private special variables
Special Variable, @constraint-friction: Private special variables
Special Variable, @damper: Private special variables
Special Variable, @field-friction: Private special variables
Special Variable, @field-gravity: Private special variables
Special Variable, @force: Private special variables
Special Variable, @friction: Private special variables
Special Variable, @global-friction: Private special variables
Special Variable, @global-gravity: Private special variables
Special Variable, @gravity: Private special variables
Special Variable, @interface: Private special variables
Special Variable, @linear-spring: Private special variables
Special Variable, @modificator: Private special variables
Special Variable, @mutual-gravity: Private special variables
Special Variable, @particle: Private special variables
Special Variable, @physics-system: Private special variables
Special Variable, @plane-constraint: Private special variables
Special Variable, @sphere-constraint: Private special variables
Special Variable, @spring: Private special variables
Special Variable, @triangle-constraint: Private special variables
Special Variable, @verlet: Private special variables
Special Variable, @volume-spring: Private special variables


A.4 Data types

Jump to:   A   C   D   F   G   L   M   P   S   T   U   V  
Index Entry  Section

A
algebra.lisp: The verlet/utility/algebra․lisp file
area-spring: Public classes
area.lisp: The verlet/source/spring/area․lisp file

C
Class, area-spring: Public classes
Class, constraint: Public classes
Class, constraint-friction: Public classes
Class, damper: Public classes
Class, field-friction: Public classes
Class, field-gravity: Public classes
Class, force-dref: Private classes
Class, global-friction: Public classes
Class, global-gravity: Public classes
Class, modificator: Public classes
Class, mutual-gravity: Public classes
Class, particle: Public classes
Class, plane-constraint: Public classes
Class, sphere-constraint: Public classes
Class, spring: Public classes
Class, system: Public classes
Class, triangle-constraint: Public classes
Class, volume-spring: Public classes
constraint: The verlet/source/constraint module
constraint: Public classes
constraint-friction: Public classes
constraint.lisp: The verlet/source/constraint/constraint․lisp file
constraint.lisp: The verlet/source/friction/constraint․lisp file

D
damper: Public classes
damper.lisp: The verlet/source/damper․lisp file

F
field-friction: Public classes
field-gravity: Public classes
field.lisp: The verlet/source/gravity/field․lisp file
field.lisp: The verlet/source/friction/field․lisp file
File, algebra.lisp: The verlet/utility/algebra․lisp file
File, area.lisp: The verlet/source/spring/area․lisp file
File, constraint.lisp: The verlet/source/constraint/constraint․lisp file
File, constraint.lisp: The verlet/source/friction/constraint․lisp file
File, damper.lisp: The verlet/source/damper․lisp file
File, field.lisp: The verlet/source/gravity/field․lisp file
File, field.lisp: The verlet/source/friction/field․lisp file
File, force.lisp: The verlet/source/force․lisp file
File, force.lisp: The verlet/source/spring/force․lisp file
File, friction.lisp: The verlet/source/friction/friction․lisp file
File, global.lisp: The verlet/source/gravity/global․lisp file
File, global.lisp: The verlet/source/friction/global․lisp file
File, gravity.lisp: The verlet/source/gravity/gravity․lisp file
File, linear.lisp: The verlet/source/spring/linear․lisp file
File, modificator.lisp: The verlet/source/modificator․lisp file
File, mutual.lisp: The verlet/source/gravity/mutual․lisp file
File, package.lisp: The verlet/package․lisp file
File, particle.lisp: The verlet/source/particle․lisp file
File, physics-loop.lisp: The verlet/source/physics-loop․lisp file
File, plane.lisp: The verlet/source/constraint/plane․lisp file
File, set.lisp: The verlet/utility/set․lisp file
File, sphere.lisp: The verlet/source/constraint/sphere․lisp file
File, triangle.lisp: The verlet/source/constraint/triangle․lisp file
File, verlet.asd: The verlet/verlet․asd file
File, volume.lisp: The verlet/source/spring/volume․lisp file
force-dref: Private classes
force.lisp: The verlet/source/force․lisp file
force.lisp: The verlet/source/spring/force․lisp file
friction: The verlet/source/friction module
friction.lisp: The verlet/source/friction/friction․lisp file

G
global-friction: Public classes
global-gravity: Public classes
global.lisp: The verlet/source/gravity/global․lisp file
global.lisp: The verlet/source/friction/global․lisp file
gravity: The verlet/source/gravity module
gravity.lisp: The verlet/source/gravity/gravity․lisp file

L
linear.lisp: The verlet/source/spring/linear․lisp file

M
modificator: Public classes
modificator.lisp: The verlet/source/modificator․lisp file
Module, constraint: The verlet/source/constraint module
Module, friction: The verlet/source/friction module
Module, gravity: The verlet/source/gravity module
Module, source: The verlet/source module
Module, spring: The verlet/source/spring module
Module, utility: The verlet/utility module
mutual-gravity: Public classes
mutual.lisp: The verlet/source/gravity/mutual․lisp file

P
Package, verlet: The verlet package
package.lisp: The verlet/package․lisp file
particle: Public classes
particle.lisp: The verlet/source/particle․lisp file
physics-loop.lisp: The verlet/source/physics-loop․lisp file
plane-constraint: Public classes
plane.lisp: The verlet/source/constraint/plane․lisp file

S
set.lisp: The verlet/utility/set․lisp file
source: The verlet/source module
sphere-constraint: Public classes
sphere.lisp: The verlet/source/constraint/sphere․lisp file
spring: The verlet/source/spring module
spring: Public classes
system: Public classes
System, verlet: The verlet system

T
triangle-constraint: Public classes
triangle.lisp: The verlet/source/constraint/triangle․lisp file

U
utility: The verlet/utility module

V
verlet: The verlet system
verlet: The verlet package
verlet.asd: The verlet/verlet․asd file
volume-spring: Public classes
volume.lisp: The verlet/source/spring/volume․lisp file