Le corps, affecté par SetStop, code l'arrêt du processus continu.void myContinuousProcess_stopProcess_Body(ProcessMethod* pM) { ContinuousProcess* pCP = pM->DescribedContinuousProcess(); Entity* pE = pCP->ProcessedEntity(); ... // l'évolution en un pas de l'état du système touché par le processus } MyContinuousProcess::MyContinuousProcess() : ContinuousProcess(MY_CONTINUOUS_PROCESS, "myContinuousProcess") { Step(24); ProcessedEntityClassId(BD_ENTITY); SetGoOneStepForward(myContinuousProcess_stopProcess_Body); };Le constructeur StopProcess() affecte le symbole de classe STOP_PROCESS et le nom de classe "stopProcess". Ainsi, on peut écrire :
int main(...) { ... ContinuousProcess* pCP = new MyContinuousProcess(); // le code ci-dessous ... Method* pM = pCP->GetMethod(STOP_PROCESS); ((VoidProcessMethod*)pM)->Body((ProcessMethod*)pM); // ... est équivalent à celui-ci pCP->ExecVoidMethod(STOP_PROCESS); ... }On rappelle ici que la méthode StopProcess est automatiquement invoquée lorsque le moteur de simulation rencontre un événement avec une directive STOP sur un processeur continu. Voir à la page 'La classe des processus continus' les différentes manières d'arrêter un processus continu.