Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the verlet Reference Manual, version 0.0.8, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 06:25:56 2022 GMT+0.
• Introduction | What verlet is all about | |
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
[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.
[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.
[function] STEP! SYSTEM DELTA &KEY (RESOLVE-STEPS 1)
Updates a physical SYSTEM
by timestep DELTA
.
Apply all forces not dependent on the velocity of particles (:FORCE
in the
DEFORCE
macro)
Calculate forces depending on velocities of particles, using the memoized
velocities so far (:VELOCITY-DEPENDENT-FORCE
in the DEFORCE
macro)
Repeat RESOLVE-STEPS
times:
Resolve all static constraints (:CONSTRAINT
in the DEFORCE
macro)
Resolve collisions (:COLLISION
in the DEFORCE
macro)
Please note after STEP!
returns, no collisions should be happening, but static
constraints might be violated.
[function] [PARTICLE] POSITION &KEY (MASS 1.0) 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.
[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.
[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.
[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.
[method] UPDATE! (PARTICLE PARTICLE)
Move PARTICLE
by DELTA
times the PARTICLE
s velocity.
[function] [SPRING] P1 P2 K &KEY (LENGTH (RTG-MATH.VECTOR3:DISTANCE (POSITION<- P1) (POSITION<- P2)))
Create a SPRING
connecting the PARTICLE
s P1
and P2
, with ideal
length LENGTH
and spring constant K
. LENGTH
defaults to the distance between P1
and P2
.
[method] UPDATE! (OBJECT SPRING)
Exert a length-restoring force on the endpoints of the linear spring.
Area springs are hard to predict and may be buggy in unknown ways. Combining them with standard or volume springs seems to violato conservation of momentum.
[function] [AREA-SPRING] P1 P2 P3 K &KEY (AREA (/ (RTG-MATH.VECTOR3:LENGTH (RTG-MATH.VECTOR3:CROSS (RTG-MATH.VECTOR3:- (POSITION<- P1) (POSITION<- P2)) (RTG-MATH.VECTOR3:- (POSITION<- P1) (POSITION<- P3)))) 2.0))
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.
[method] UPDATE! (OBJECT AREA-SPRING)
Exert an area-restoring force on the corners of the area spring
Volume springs are hard to predict and may be buggy in unknown ways. Combining them with standard or area springs seems to violate conservation of momentum.
[function] [VOLUME-SPRING] P1 P2 P3 P4 K &KEY (VOLUME (ABS (/ (RTG-MATH.VECTOR3:DOT (RTG-MATH.VECTOR3:- (POSITION<- P4) (POSITION<- P1)) (RTG-MATH.VECTOR3:CROSS (RTG-MATH.VECTOR3:- (POSITION<- P3) (POSITION<- P1)) (RTG-MATH.VECTOR3:- (POSITION<- P2) (POSITION<- P1)))) 6)))
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.
[method] UPDATE! (OBJECT VOLUME-SPRING)
Exert a volume-restoring force on the corners of the volume spring.
[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.
[generic-function] ADD-SUBJECT MODIFICATOR SUBJECT
Adds a SUBJECT
to the MODIFICATOR
for tracking.
[generic-function] REMOVE-SUBJECT MODIFICATOR SUBJECT
Remove a SUBJECT
to the MODIFICATOR
so it won't be tracked anymore.
[function] [GLOBAL-GRAVITY] GRAVITY
Creates an instance of GLOBAL-GRAVITY
which accelerates all its
subjects by GRAVITY
on each frame.
[method] UPDATE! (GRAVITY GLOBAL-GRAVITY)
Accelerate the subjects of GRAVITY
by the gravity vector.
[class] MUTUAL-GRAVITY MODIFICATOR
Applies gravitational force to the tracked particles according to the mass of the other tracked particles.
[function] [FIELD-GRAVITY] FIELD
Creates FIELD-GRAVITY
with gravity field FIELD
. FIELD
must map
positions (SIMPLE-ARRAY SINGLE-FLOAT (3))
s to gravity vectors
(SIMPLE-ARRAY SINGLE-FLOAT (3))
.
[generic-function] VIOLATED? CONSTRAINT PARTICLE
Returns NIL
when the constraint is fulfilled and a truthy value
otherwise.
[generic-function] DEFLECTION-VECTOR CONSTRAINT PARTICLE
Returns the cange in position for PARTICLE
to obey CONSTRAINT
again.
[method] UPDATE! (CONSTRAINT CONSTRAINT)
Deflects all subjects violating the constraint as per VIOLATED?
by the vector
defined by DEFLECTION-VECTOR
.
[function] [PLANE-CONSTRAINT] POINT NORMAL
Creates a PLANE-CONSTRAINT
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.
[function] [SPHERE-CONSTRAINT] CENTER RADIUS &OPTIONAL OUTER-WALL?
Creates a SPHERE-CONSTRAINT
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.
[function] [TRIANGLE-CONSTRAINT] P1 P2 P3
Create a TRIANGLE-CONSTRAINT
preventing particles moving through the
triangle enclosed by P1
, P2
, and P3
[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
.
[method] UPDATE! (OBJECT GLOBAL-FRICTION)
Apply the global friction to all subjects.
[function] [FIELD-FRICTION] FIELD
Creates FIELD-FRICTION
with friction field FIELD
. FIELD
must map 3D
positions to friction values.
[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.
Next: Modules, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The verlet system |
Thomas Bartscher <thomas-bartscher@weltraumschlangen.de>
BSD-3
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.
0.0.8
verlet.asd (file)
Modules are listed depth-first from the system components tree.
• The verlet/utility module | ||
• The verlet/source module | ||
• The verlet/source/spring module | ||
• The verlet/source/gravity module | ||
• The verlet/source/constraint module | ||
• The verlet/source/friction module |
Next: The verlet/source module, Previous: Modules, Up: Modules [Contents][Index]
package.lisp (file)
verlet (system)
utility/
Next: The verlet/source/spring module, Previous: The verlet/utility module, Up: Modules [Contents][Index]
verlet (system)
source/
Next: The verlet/source/gravity module, Previous: The verlet/source module, Up: Modules [Contents][Index]
source (module)
source/spring/
Next: The verlet/source/constraint module, Previous: The verlet/source/spring module, Up: Modules [Contents][Index]
source (module)
source/gravity/
Next: The verlet/source/friction module, Previous: The verlet/source/gravity module, Up: Modules [Contents][Index]
source (module)
source/constraint/
Previous: The verlet/source/constraint module, Up: Modules [Contents][Index]
source (module)
source/friction/
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The verlet/package․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
verlet.asd
verlet (system)
Next: The verlet/utility/algebra․lisp file, Previous: The verlet․asd file, Up: Lisp files [Contents][Index]
verlet (system)
package.lisp
Next: The verlet/utility/set․lisp file, Previous: The verlet/package․lisp file, Up: Lisp files [Contents][Index]
utility (module)
utility/algebra.lisp
Next: The verlet/source/force․lisp file, Previous: The verlet/utility/algebra․lisp file, Up: Lisp files [Contents][Index]
Next: The verlet/source/particle․lisp file, Previous: The verlet/utility/set․lisp file, Up: Lisp files [Contents][Index]
source (module)
source/force.lisp
Next: The verlet/source/physics-loop․lisp file, Previous: The verlet/source/force․lisp file, Up: Lisp files [Contents][Index]
source (module)
source/particle.lisp
Next: The verlet/source/spring/linear․lisp file, Previous: The verlet/source/particle․lisp file, Up: Lisp files [Contents][Index]
force.lisp (file)
source (module)
source/physics-loop.lisp
Next: The verlet/source/spring/area․lisp file, Previous: The verlet/source/physics-loop․lisp file, Up: Lisp files [Contents][Index]
spring (module)
source/spring/linear.lisp
Next: The verlet/source/spring/volume․lisp file, Previous: The verlet/source/spring/linear․lisp file, Up: Lisp files [Contents][Index]
spring (module)
source/spring/area.lisp
Next: The verlet/source/spring/force․lisp file, Previous: The verlet/source/spring/area․lisp file, Up: Lisp files [Contents][Index]
spring (module)
source/spring/volume.lisp
Next: The verlet/source/modificator․lisp file, Previous: The verlet/source/spring/volume․lisp file, Up: Lisp files [Contents][Index]
spring (module)
source/spring/force.lisp
Next: The verlet/source/damper․lisp file, Previous: The verlet/source/spring/force․lisp file, Up: Lisp files [Contents][Index]
particle.lisp (file)
source (module)
source/modificator.lisp
Next: The verlet/source/gravity/gravity․lisp file, Previous: The verlet/source/modificator․lisp file, Up: Lisp files [Contents][Index]
source (module)
source/damper.lisp
Next: The verlet/source/gravity/global․lisp file, Previous: The verlet/source/damper․lisp file, Up: Lisp files [Contents][Index]
gravity (module)
source/gravity/gravity.lisp
@gravity (special variable)
Next: The verlet/source/gravity/mutual․lisp file, Previous: The verlet/source/gravity/gravity․lisp file, Up: Lisp files [Contents][Index]
gravity (module)
source/gravity/global.lisp
Next: The verlet/source/gravity/field․lisp file, Previous: The verlet/source/gravity/global․lisp file, Up: Lisp files [Contents][Index]
gravity (module)
source/gravity/mutual.lisp
Next: The verlet/source/constraint/constraint․lisp file, Previous: The verlet/source/gravity/mutual․lisp file, Up: Lisp files [Contents][Index]
gravity (module)
source/gravity/field.lisp
Next: The verlet/source/constraint/plane․lisp file, Previous: The verlet/source/gravity/field․lisp file, Up: Lisp files [Contents][Index]
constraint (module)
source/constraint/constraint.lisp
Next: The verlet/source/constraint/sphere․lisp file, Previous: The verlet/source/constraint/constraint․lisp file, Up: Lisp files [Contents][Index]
constraint.lisp (file)
constraint (module)
source/constraint/plane.lisp
Next: The verlet/source/constraint/triangle․lisp file, Previous: The verlet/source/constraint/plane․lisp file, Up: Lisp files [Contents][Index]
constraint.lisp (file)
constraint (module)
source/constraint/sphere.lisp
Next: The verlet/source/friction/friction․lisp file, Previous: The verlet/source/constraint/sphere․lisp file, Up: Lisp files [Contents][Index]
constraint.lisp (file)
constraint (module)
source/constraint/triangle.lisp
Next: The verlet/source/friction/global․lisp file, Previous: The verlet/source/constraint/triangle․lisp file, Up: Lisp files [Contents][Index]
friction (module)
source/friction/friction.lisp
Next: The verlet/source/friction/field․lisp file, Previous: The verlet/source/friction/friction․lisp file, Up: Lisp files [Contents][Index]
friction.lisp (file)
friction (module)
source/friction/global.lisp
Next: The verlet/source/friction/constraint․lisp file, Previous: The verlet/source/friction/global․lisp file, Up: Lisp files [Contents][Index]
friction.lisp (file)
friction (module)
source/friction/field.lisp
Previous: The verlet/source/friction/field․lisp file, Up: Lisp files [Contents][Index]
friction.lisp (file)
friction (module)
source/friction/constraint.lisp
constraint<- (method)
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The verlet package |
package.lisp (file)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported macros | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported classes |
Next: Exported macros, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
constraint.lisp (file)
constraint.lisp (file)
damper.lisp (file)
field.lisp (file)
field.lisp (file)
force.lisp (file)
friction.lisp (file)
global.lisp (file)
global.lisp (file)
gravity.lisp (file)
package.lisp (file)
linear.lisp (file)
modificator.lisp (file)
mutual.lisp (file)
particle.lisp (file)
physics-loop.lisp (file)
plane.lisp (file)
sphere.lisp (file)
linear.lisp (file)
triangle.lisp (file)
package.lisp (file)
volume.lisp (file)
Next: Exported functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
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.
physics-loop.lisp (file)
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.
force.lisp (file)
Next: Exported generic functions, Previous: Exported macros, Up: Exported definitions [Contents][Index]
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.
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.
constraint.lisp (file)
damper.lisp (file)
Creates [FIELD-FRICTION][class] with friction field FIELD. FIELD must map 3D positions to friction values.
field.lisp (file)
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))‘.
field.lisp (file)
global.lisp (file)
Creates an instance of [GLOBAL-GRAVITY][class] which accelerates all its subjects by GRAVITY on each frame.
global.lisp (file)
mutual.lisp (file)
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.
particle.lisp (file)
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.
plane.lisp (file)
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.
sphere.lisp (file)
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.
linear.lisp (file)
physics-loop.lisp (file)
Create a [TRIANGLE-CONSTRAINT][class] preventing particles moving through the triangle enclosed by P1, P2, and P3
triangle.lisp (file)
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.
volume.lisp (file)
particle.lisp (file)
Moves PARTICLE to TARGET and mirrors the PARTICLE’s velocity on the plane containing TARGET with the change in position as normal.
particle.lisp (file)
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.
friction.lisp (file)
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.
particle.lisp (file)
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.
physics-loop.lisp (file)
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.
particle.lisp (file)
Next: Exported classes, Previous: Exported functions, Up: Exported definitions [Contents][Index]
Adds a SUBJECT to the MODIFICATOR for tracking.
modificator.lisp (file)
automatically generated reader method
physics-loop.lisp (file)
automatically generated writer method
physics-loop.lisp (file)
automatically generated reader method
physics-loop.lisp (file)
automatically generated writer method
physics-loop.lisp (file)
automatically generated reader method
damper.lisp (file)
automatically generated writer method
damper.lisp (file)
Returns the cange in position for PARTICLE to obey CONSTRAINT again.
constraint.lisp (file)
triangle.lisp (file)
sphere.lisp (file)
plane.lisp (file)
automatically generated reader method
field.lisp (file)
automatically generated writer method
field.lisp (file)
automatically generated reader method
field.lisp (file)
automatically generated writer method
field.lisp (file)
automatically generated reader method
physics-loop.lisp (file)
automatically generated writer method
physics-loop.lisp (file)
automatically generated reader method
constraint.lisp (file)
automatically generated writer method
constraint.lisp (file)
automatically generated reader method
global.lisp (file)
automatically generated writer method
global.lisp (file)
automatically generated reader method
volume.lisp (file)
automatically generated writer method
volume.lisp (file)
automatically generated reader method
area.lisp (file)
automatically generated writer method
area.lisp (file)
automatically generated reader method
linear.lisp (file)
automatically generated writer method
linear.lisp (file)
automatically generated reader method
linear.lisp (file)
automatically generated writer method
linear.lisp (file)
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
automatically generated reader method
physics-loop.lisp (file)
automatically generated writer method
physics-loop.lisp (file)
particle.lisp (file)
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
Remove a SUBJECT to the MODIFICATOR so it won’t be tracked anymore.
modificator.lisp (file)
particle.lisp (file)
constraint.lisp (file)
field.lisp (file)
Apply the global friction to all subjects.
global.lisp (file)
Deflects all subjects violating the constraint as per VIOLATED? by the vector defined by DEFLECTION-VECTOR.
constraint.lisp (file)
field.lisp (file)
mutual.lisp (file)
Accelerate the subjects of GRAVITY by the gravity vector.
global.lisp (file)
damper.lisp (file)
Exert a volume-restoring force on the corners of the volume spring.
volume.lisp (file)
Exert an area-restoring force on the corners of the area spring
area.lisp (file)
Exert a length-restoring force on the endpoints of the linear spring.
linear.lisp (file)
Move PARTICLE by DELTA times the ‘PARTICLE‘s velocity.
automatically generated reader method
physics-loop.lisp (file)
automatically generated writer method
physics-loop.lisp (file)
Returns NIL when the constraint is fulfilled and a truthy value otherwise.
constraint.lisp (file)
triangle.lisp (file)
sphere.lisp (file)
plane.lisp (file)
automatically generated reader method
volume.lisp (file)
automatically generated writer method
volume.lisp (file)
Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
area.lisp (file)
standard-object (class)
verlet:particle
:p1
p1<- (generic function)
verlet:particle
:p2
p2<- (generic function)
verlet:particle
:p3
p3<- (generic function)
(single-float (0.0))
:k
k<- (generic function)
(setf k<-) (generic function)
(single-float 0.0)
:area
area<- (generic function)
(setf area<-) (generic function)
constraint.lisp (file)
modificator (class)
update! (method)
constraint.lisp (file)
modificator (class)
verlet:constraint
:constraint
constraint<- (generic function)
(single-float (0.0))
:friction
friction<- (generic function)
(setf friction<-) (generic function)
damper.lisp (file)
modificator (class)
(single-float (0.0))
:d
d<- (generic function)
(setf d<-) (generic function)
field.lisp (file)
modificator (class)
(function ((simple-array single-float (3))) (single-float 0.0))
:field
field<- (generic function)
(setf field<-) (generic function)
field.lisp (file)
modificator (class)
(function ((simple-array single-float (3))) (simple-array single-float (3)))
:field
field<- (generic function)
(setf field<-) (generic function)
global.lisp (file)
modificator (class)
(single-float (0.0))
:friction
friction<- (generic function)
(setf friction<-) (generic function)
global.lisp (file)
modificator (class)
(simple-array single-float (3))
:gravity
gravity<- (generic function)
(setf gravity<-) (generic function)
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.
modificator.lisp (file)
standard-object (class)
fset:set
(fset:set)
subjects<- (generic function)
(setf subjects<-) (generic function)
Applies gravitational force to the tracked particles according to the mass of the other tracked particles.
mutual.lisp (file)
modificator (class)
update! (method)
particle.lisp (file)
standard-object (class)
(simple-array single-float (3))
:position
position<- (generic function)
(setf position<-) (generic function)
(simple-array single-float (3))
(rtg-math.base-vectors:v! 0 0 0)
acceleration<- (generic function)
(setf acceleration<-) (generic function)
(simple-array single-float (3))
(rtg-math.base-vectors:v! 0 0 0)
temp-velocity<- (generic function)
(setf temp-velocity<-) (generic function)
(simple-array single-float (3))
:previous-position
previous-position<- (generic function)
(setf previous-position<-) (generic function)
(real (0))
1.0
previous-delta<- (generic function)
(setf previous-delta<-) (generic function)
(simple-array single-float (3))
:actual-previous-position
actual-previous-position<- (generic function)
(setf actual-previous-position<-) (generic function)
(single-float (0.0))
:mass
mass<- (generic function)
(setf mass<-) (generic function)
plane.lisp (file)
constraint (class)
(simple-array single-float (3))
:point
point<- (generic function)
(simple-array single-float (3))
:normal
normal<- (generic function)
sphere.lisp (file)
constraint (class)
(simple-array single-float (3))
:center
center<- (generic function)
(single-float (0.0))
:radius
radius<- (generic function)
boolean
:outer-wall?
outer-wall? (generic function)
linear.lisp (file)
standard-object (class)
verlet:particle
:p1
p1<- (generic function)
verlet:particle
:p2
p2<- (generic function)
(single-float (0.0))
:k
k<- (generic function)
(setf k<-) (generic function)
(single-float 0.0)
:length
length<- (generic function)
(setf length<-) (generic function)
physics-loop.lisp (file)
standard-object (class)
fset:set
(fset:set)
particles<- (generic function)
(setf particles<-) (generic function)
fset:set
(fset:set)
forces<- (generic function)
(setf forces<-) (generic function)
fset:set
(fset:set)
velocity-dependent-forces<- (generic function)
(setf velocity-dependent-forces<-) (generic function)
fset:set
(fset:set)
collisions<- (generic function)
(setf collisions<-) (generic function)
fset:set
(fset:set)
constraints<- (generic function)
(setf constraints<-) (generic function)
triangle.lisp (file)
constraint (class)
(simple-array single-float (3))
:p1
p1<- (generic function)
(simple-array single-float (3))
:p2
p2<- (generic function)
(simple-array single-float (3))
:p3
p3<- (generic function)
volume.lisp (file)
standard-object (class)
verlet:particle
:p1
p1<- (generic function)
verlet:particle
:p2
p2<- (generic function)
verlet:particle
:p3
p3<- (generic function)
verlet:particle
:p4
p4<- (generic function)
(single-float 0.0)
:volume
volume<- (generic function)
(setf volume<-) (generic function)
(single-float (0.0))
:k
k<- (generic function)
(setf k<-) (generic function)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal functions | ||
• Internal generic functions |
Next: Internal generic functions, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
particle.lisp (file)
particle.lisp (file)
force.lisp (file)
algebra.lisp (file)
particle.lisp (file)
algebra.lisp (file)
algebra.lisp (file)
force.lisp (file)
algebra.lisp (file)
Previous: Internal functions, Up: Internal definitions [Contents][Index]
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
automatically generated reader method
sphere.lisp (file)
automatically generated reader method
constraint.lisp (file)
automatically generated reader method
global.lisp (file)
automatically generated writer method
global.lisp (file)
automatically generated reader method
plane.lisp (file)
automatically generated reader method
sphere.lisp (file)
automatically generated reader method
triangle.lisp (file)
automatically generated reader method
volume.lisp (file)
automatically generated reader method
area.lisp (file)
automatically generated reader method
linear.lisp (file)
automatically generated reader method
triangle.lisp (file)
automatically generated reader method
volume.lisp (file)
automatically generated reader method
area.lisp (file)
automatically generated reader method
linear.lisp (file)
automatically generated reader method
triangle.lisp (file)
automatically generated reader method
volume.lisp (file)
automatically generated reader method
area.lisp (file)
automatically generated reader method
volume.lisp (file)
automatically generated reader method
plane.lisp (file)
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
automatically generated reader method
sphere.lisp (file)
automatically generated reader method
modificator.lisp (file)
automatically generated writer method
modificator.lisp (file)
automatically generated reader method
particle.lisp (file)
automatically generated writer method
particle.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L M V |
---|
Jump to: | F L M V |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | (
[
A B C D F G K L M N O P R S T U V |
---|
Jump to: | (
[
A B C D F G K L M N O P R S T U V |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | %
@
S |
---|
Jump to: | %
@
S |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | A C D F G M P S T V |
---|
Jump to: | A C D F G M P S T V |
---|