class Entity


Héritage :


Méthodes publiques

[more] Constructeurs/Destructeurs
[more] Opérations sur la liste de méthodes
[more] Affectation d'un corps aux méthodes
[more] Affectation d'une valeur aux arguments des méthodes
[more] Invocation des méthodes


Hérité de DescriptedEntity:

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


Hérité de BasicEntity:

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


o Constructeurs/Destructeurs

o 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.

o 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.

o 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.

o ~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).

o Opérations sur la liste de méthodes

ovoid 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.

oMethod* GetMethod(UserMethodId)
Renvoie la méthode dont le symbole de classe est passé en argument. Lève l'exception InexistantMethod.

oMethod* GetMethod(char*)
Renvoie la méthode dont le nom de classe est passé en argument. Lève l'exception InexistantMethod.

oMethod* 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.

obool 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.

o 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.

ovoid AssignBody(UserMethodId, void (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, bool (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, int (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, float (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, double (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, BasicEntity* (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, char* (*f)(EntityMethod*))

ovoid AssignBody(UserMethodId, pEntityTab* (*f)(EntityMethod*))

o 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.

ovoid SetIntArgValue(UserMethodId, UserArgumentId, int)

ovoid SetFloatArgValue(UserMethodId, UserArgumentId, float)

ovoid SetDoubleArgValue(UserMethodId, UserArgumentId, double)

ovoid SetEntityArgValue(UserMethodId, UserArgumentId, BasicEntity*)

ovoid SetEntityTabArgValue(UserMethodId, UserArgumentId, pEntityTab*)

ovoid SetStringArgValue(UserMethodId, UserArgumentId, char*)

ovoid SetIntTabArgValue(UserMethodId, UserArgumentId, TableauInt*)

ovoid SetFloatTabArgValue(UserMethodId, UserArgumentId, TableauFloat*)

ovoid SetDoubleTabArgValue(UserMethodId, UserArgumentId, TableauDouble*)

o 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.

ovoid ExecVoidMethod(UserMethodId)

obool ExecPredicate(UserMethodId)

oint ExecIntMethod(UserMethodId)

ofloat ExecFloatMethod(UserMethodId)

odouble ExecDoubleMethod(UserMethodId)

oBasicEntity* ExecEntityMethod(UserMethodId)

ochar* ExecStringMethod(UserMethodId)

opEntityTab* ExecEntityTabMethod(UserMethodId)

opFloatTab* ExecFloatTabMethod(UserMethodId)

opIntTab* ExecIntTabMethod(UserMethodId)


Cette classe n'a pas de classe descendante.

This page was generated with the help of DOC++.