System Class Reference
Dynamics System.
More...
#include <S2_System.h>
Collaboration diagram for System:
[legend]List of all members.
Detailed Description
Dynamics System.
- Todo:
- FER QUE CONTINGUI MODELS directament i no OBJECTS??? Te sentit, pq System representa un cjt d'objectes físics que es simulen d'una mateixa forma, i aquesta forma depen del Model, no de l'Object!
Potser tindria sentit tenir un grup d'objectes lliures (no restringits ni en contacte amb res) per eficiència, per evitar crear una partició per cadascun d'ells i tota la parafernàlia quan lo únic que cal fer és integrar-los en el temps...
Sistema d'Objectes. Representa un cert conjunt de d'objectes que estan en un mateix sistema i, per tant, evolucionen conjuntament, poden interactuar directament i usen els mateixos solvers.
El System es la unitat mínima simulada per Saphyre2. Te sentit, per tant, que existeixin Systems formats per un sol Model.
Functionalities:
- Object/Model management
- Solver configuration
- Partitioning of Models/Constraints graph into disjoint subsets/connected components.
- Advancing a step of the simulation
- Debug (diversos nivell: global, objecte, etc...)
- Animation-LOD
- Bounding Volume (com a fusió dels BV dels Objects que conté)
- Enable/Disable the System
Aixo ve a ser el mateix que el "WorldSim" de Saphyre1.
IMPORTANT: El criteri d'assignació d'Objects a Systems és MOLT important... a més de l'adequació dels Solvers al Model usat, seria interessant tenir en compte altres criteris:
- Proximitat física o lògica: Tots els objs d'un System estan en un cert "cluster" d'objectes que intervenen alhora en l'animació, i han de poder desactivar-se tots si l'aplicació ho demana (bloquejar System sencer és més eficient que bloquejar Objects un per un...)
Funcionament de Systems i Solvers:
- Un System té associats uns Solvers que s'especifiquen en la creació del System i no es poden canviar.
- Cada Solver pot tractar uns certs tipus de Models (Particle, Rigid, Deformable...) i Constraints (uni, bilateral...)
- Un System té associada una llista d'Objects que pot variar, cadascun dels quals té associat un Model.
- Un Object pot tenir associats diversos Models del propi objecte, però en cada moment només UN Model és l'actiu (Current Model)
- El Model actiu d'un Object pot canviar per:
- Petició de l'usuari (per simulation-LOD, per exemple)
- Motius interns de Saphyre2
- Interacció de dos Systems diferents
Constructor & Destructor Documentation
Member Function Documentation
void System::Add |
( |
Model * |
p_model |
) |
|
|
|
Adds a new Model to the System and returns it's local id. |
void System::Remove |
( |
Model * |
p_model |
) |
|
|
void System::SetDt |
( |
Real |
dt |
) |
|
|
void System::SetLOD |
( |
Real |
lod |
) |
|
|
Member Data Documentation
The documentation for this class was generated from the following files:
Generated on Tue Aug 10 15:58:31 2004 for Saphyre2 by
1.3.5