FB_CollisionGroupAddCollisionObject - (Methode)

Überblick

Typ:

Methode

Verfügbar ab:

V1.0.0.0

Dieses Kapitel enthält Informationen zu folgenden Aspekten:

Aufgabe

Hinzufügen eines Kollisionsobjekts zur Gruppe.

Beschreibung

Diese Methode ermöglicht das Hinzufügen eines Kollisionsobjekts zur Kollisionsgruppe.

Schnittstelle

Der Funktionsbaustein implementiert die Schnittstelle IF_CollisionGroup.

Zugriff: PUBLIC

Rückgabetyp: UDINT

Eingang

Datentyp

Beschreibung

i_ifCollisionObject

IF_CollisionObject

Zur Gruppe hinzuzufügendes Kollisionsobjekt.

Ausgang

Datentyp

Beschreibung

q_xError

BOOL

Der Ausgang wird auf TRUE gesetzt, wenn bei der Ausführung ein Fehler erkannt wurde.

q_etResult

ET_Result

POU-spezifischer Ausgang der Diagnose. q_xError = FALSE -> Statusmeldung. q_xError = TRUE -> Diagnosemeldung.

q_sResultMsg

STRING(80)

Ereignisabhängige Meldung, die zusätzliche Informationen über den Diagnosezustand gibt.

Rückgabewert

Der zurückgegebene Wert ist der Index des der Liste hinzugefügten Kollisionsobjekts. Er kann für den Verweis auf dieses Objekt über die Eigenschaft raifCollisionObjects verwendet werden.

Diagnosemeldungen

q_xError

q_etResult

Enumerationswert

Beschreibung

FALSE

OK

0

Erfolg

TRUE

MaxNumberOfCollisionGroupObjectsReached

31

Die maximale Anzahl der Kollisionsgruppenobjekte wurde erreicht.

TRUE

InterfaceInvalid

11

Die bereitgestellte Schnittstelle ist ungültig (null).

TRUE

CollisionObjectTypeInvalid

16

Der angegebene Typ des Kollisionsobjekts ist ungültig.

OK

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

Erfolg

MaxNumberOfCollisionGroupObjectsReached

Enumerationsname:

MaxNumberOfCollisionGroupObjectsReached

Enumerationswert:

31

Beschreibung:

Die maximale Anzahl der Kollisionsgruppenobjekte wurde erreicht.

Problem

Ursache

Lösung

Es konnte kein Kollisionsobjekt zur Gruppe hinzugefügt werden.

Die Anzahl der gespeicherten Kollisionsobjekte udiNumberOfCollisionObject entspricht Gc_udiMaxNumberOfCollisionGroupObjects.

Stellen Sie sicher, dass udiNumberOfCollisionObject < Gc_udiMaxNumberOfCollisionGroupObjects, bevor Sie versuchen, ein Kollisionsobjekt zur Gruppe hinzuzufügen.

InterfaceInvalid

Enumerationsname:

InterfaceInvalid

Enumerationswert:

11

Beschreibung:

Die bereitgestellte Schnittstelle ist ungültig (null).

Problem

Ursache

Lösung

Es konnte kein Kollisionsobjekt zur Gruppe hinzugefügt werden.

i_ifCollisionObject enthält eine ungültige Schnittstelle.

Stellen Sie sicher, dass i_ifCollisionObject nicht null ist.

CollisionObjectTypeInvalid

Enumerationsname:

CollisionObjectTypeInvalid

Enumerationswert:

16

Beschreibung:

Der angegebene Typ des Kollisionsobjekts ist ungültig.

Problem

Ursache

Lösung

Es konnte kein Kollisionsobjekt zur Gruppe hinzugefügt werden.

i_ifCollisionObject.etType enthält einen nicht unterstützten Objekttyp.

Stellen Sie sicher, dass i_ifCollisionObject.etType über einen der folgenden Typen verfügt:

  • ET_CollisionObjectType.AABB

  • ET_CollisionObjectType.OBB

  • ET_CollisionObjectType.Sphere

  • ET_CollisionObjectType.Capsule