Héritage :
Méthodes publiques
Méthodes publiques
-
Opérateurs
-
Accès à la place dans la hiérarchie de classes
-
Opérations sur les listes de descripteurs
-
Affectation et accès aux valeurs des descripteurs
-
Affichage
Méthodes publiques
-
Constructeurs/Destructeurs
-
Identification de l'entité
-
Définition de la structure de l'entité, accès
-
Définition et accès à la place dans la hiérarchie de classes
-
Opérations sur la structure de l'entité
-
Accès aux moniteurs (démons)
-
Accès à la simulation
Constructeurs/Destructeurs
Entity()
- Constructeur de base, invoquant d'abord le constructeur de base de DescriptedEntity. L'instance créée possède le type O_ENTITY, valeur renvoyée par EntityType et qui surcharge celle donnée par le constructeur de DescriptedEntity.
Entity(const Entity&)
- Constructeur par copie profonde, invoquant d'abord le constructeur par copie de DescriptedEntity. Les instances de Method sont copiées, et leur 'objet décrit' devient la nouvelle entité. Ajoute l'entité en cours de création par copie à la liste des instances (indirectes) de Entity.
Entity(const Entity&, int partsCopied)
- Même effet que le constructeur ci-dessus, mais les éléments ou les composants ne sont pas nécessairement copiés. Si l'argument 'partsCopied' est FALSE, ce rôle est laissé aux constructeurs par copie des sous-classes de l'application.
~Entity()
- Destructeur superficiel (les composants et les éléments ne sont pas détruits ; les descripteurs et les méthodes sont détruits ; le démon attaché n'est pas détruit). Enlève l'entité en cours de destruction de la liste des instances (directes) de sa propre classe, puis de la liste des instances des classes parentes, jusqu'à la classe Entity (méthode RemoveInstanceFromClass).
Opérations sur la liste de méthodes
void AddMethod(Method*)
- Ajoute la méthode à la liste des méthodes du récepteur, s'il n'y est pas déjà. Lève l'exception BadMethodType.
Method* GetMethod(UserMethodId)
- Renvoie la méthode dont le symbole de classe est passé en argument. Lève l'exception InexistantMethod.
Method* GetMethod(char*)
- Renvoie la méthode dont le nom de classe est passé en argument. Lève l'exception InexistantMethod.
Method* GetMethodWithBody(UserMethodId)
- Renvoie la méthode dont le symbole de classe est passé en argument, et NULL si la méthode n'existe pas ou si elle ne possède pas de corps.
bool HasBody(UserMethodId)
- Renvoie vrai si la méthode dont le symbole de classe est passé en argument existe et si elle possède un corps, et faux dans les autres cas.
Affectation d'un corps aux méthodes
L'appel AssignBody affecte un corps à une méthode (au sens d'une instance de Method) dont le symbole de classe est donné en premier argument.
Ces appels lèvent les exceptions BadMethodType et InexistantMethod.
void AssignBody(UserMethodId, void (*f)(EntityMethod*))
void AssignBody(UserMethodId, bool (*f)(EntityMethod*))
void AssignBody(UserMethodId, int (*f)(EntityMethod*))
void AssignBody(UserMethodId, float (*f)(EntityMethod*))
void AssignBody(UserMethodId, double (*f)(EntityMethod*))
void AssignBody(UserMethodId, BasicEntity* (*f)(EntityMethod*))
void AssignBody(UserMethodId, char* (*f)(EntityMethod*))
void AssignBody(UserMethodId, pEntityTab* (*f)(EntityMethod*))
Affectation d'une valeur aux arguments des méthodes
L'appel Set..ArgValue affecte, pour la méthode (au sens d'une instance de Method) dont le symbole de classe est donné en premier paramètre, la valeur passée en troisième paramètre à l'argument (au sens d'une instance d'Argument) dont le symbole de classe est passé en deuxième paramètre.
Ces appels lèvent l'exception InexistantMethod.
void SetIntArgValue(UserMethodId, UserArgumentId, int)
void SetFloatArgValue(UserMethodId, UserArgumentId, float)
void SetDoubleArgValue(UserMethodId, UserArgumentId, double)
void SetEntityArgValue(UserMethodId, UserArgumentId, BasicEntity*)
void SetEntityTabArgValue(UserMethodId, UserArgumentId, pEntityTab*)
void SetStringArgValue(UserMethodId, UserArgumentId, char*)
void SetIntTabArgValue(UserMethodId, UserArgumentId, TableauInt*)
void SetFloatTabArgValue(UserMethodId, UserArgumentId, TableauFloat*)
void SetDoubleTabArgValue(UserMethodId, UserArgumentId, TableauDouble*)
Invocation des méthodes
Les appels Exec..Method exécutent le corps de la méthode (au sens d'une instance de Method) dont le symbole de classe est donné en paramètre, et renvoient éventuellement la valeur renvoyée par ce corps.
Ces appels lèvent les exceptions BadMethodType et InexistantMethod.
void ExecVoidMethod(UserMethodId)
bool ExecPredicate(UserMethodId)
int ExecIntMethod(UserMethodId)
float ExecFloatMethod(UserMethodId)
double ExecDoubleMethod(UserMethodId)
BasicEntity* ExecEntityMethod(UserMethodId)
char* ExecStringMethod(UserMethodId)
pEntityTab* ExecEntityTabMethod(UserMethodId)
pFloatTab* ExecFloatTabMethod(UserMethodId)
pIntTab* ExecIntTabMethod(UserMethodId)
- Cette classe n'a pas de classe descendante.
This page was generated with the help of DOC++.