1This is a short overview over the classes in Stepcore. Most of the classes are
2here, but not the ...Error classes that contain the variance for the various
3values in the other classes.
4
5Legend
6
7 * ClassName{filename}		Short explanation
8   [=0] 			This class has pure virtual member functions.
9
10    * subclass
11      [important members]
12
13----------------------------------------------------------------
14
15* Object	      		Root of the StepCore class hierarchy
16  [name]
17
18   * CollisionSolver		Generic interface for collision solvers
19      * GJKCollisionSolver
20      	[contacts]
21   * ConstraintSolver		Generic interface for constraint solvers
22     [=0]
23      * CGConstraintSolver
24      	[]
25   * Solver			Generic Solver interface
26     [=0]
27      * GenericEulerSolver	Solver of ordinary diff equations
28         * EulerSolver
29         * AdaptiveEulerSolver
30      * GslGenericSolver	Solver of ordinary diff equations using GSL
31         * GslSolver
32         * GslAdaptiveSolver
33
34   * Item{item.h}		Root class for world items (bodies, forces)
35     [world, group, objectErrors, color]
36
37      * NoteImage{tool.h}	Image embedded in a Note
38         * NoteFormula		LaTeX formula embedded in a Note
39
40      * ItemGroup{itemgroup.h}
41      	[items]
42         * Gas			Group of GasParticle and a Force
43         * SoftBody		Group of SoftBodyParticles and SoftBodySprings
44	 * World		The root object for everything visible
45	   [time, timeScale, bodies, forces, joints, solvers...]
46
47      * Body{body.h}		Anything that has dynamic variables that
48        [material, =0]		require ODE integration
49         * Particle
50            * ChargedParticle
51            * GasParticle
52         * RigidBody
53            * Disk
54            * BasePolygon
55               * Box
56               * Polygon
57         * Plane		Unmovable rigid plane
58
59
60      * Force			Anything that acts upon bodies changing
61	[=0]			derivatives of dynamic variables
62         * CoulombForce 	Force for charged particles.
63         * GasLJForce 		Force within gasses
64         * GravitationForce 	Force between particles
65         * WeightForce   	Force between massive bodies (particles)
66         * LinearMotor   	Applies a force on a position of a body
67         * CircularMotor 	Applies a torque to a body
68         * Spring
69            * SoftBodySpring
70
71
72      * Joint
73        [=0]
74         * Anchor		Fixes the position of a body
75         * Pin			Fixes the position of a given point of a body to another body
76         * Stick		Fixed distance between two points on particles or rigid bodies
77            * Rope	 	Maximum distance between two points on particles or rigid bodies
78
79* Tool  			Utilities for control or information retrieval
80   * Note(ItemGroup, Tool) 	Textual Note
81   * Graph(Item, Tool)
82   * Meter(Item, Tool)
83   * Controller(Item, Tool)
84   * Tracer(Item, Tool)
85
86
87Auxiliary classes
88-----------------
89
90* Contact	  		defines contact between two bodies
91  				Used by CollisionSolver.
92
93* ConstraintsInfo{world.h}	defines constraints between objects
94  				Used by ConstraintSolver
95  [...]
96
97* Material			stores material properties
98
99* Factory	  		Creates new objects from name
100
101* MetaProperty 			Meta information about a property
102* MetaObject			Meta information about a class
103