Class UserMemoryEventInput

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class UserMemoryEventInput : public EventInput

This class defines event input functions that can be processed by the UserMemory module. Also see User Memory Inputs.

Public Types

enum UserMemoryEventInputType

This enumerator class enumerates the types of event input functions that can be processed by this module.

Values:

enumerator MBit

The input function triggers the event when the specified user memory bit is 1.

The parameters for this input function are specified in the MBit structure of input.

enumerator NotMBit

The input function triggers the event when the specified user memory bit is 0.

The parameters for this input function are specified in the NotMBit structure of input.

enumerator OrMBit

The input function triggers the event when either of the two specified user memory bits is 1.

The parameters for this input function are specified in the OrMBit structure of input.

enumerator AndMBit

The input function triggers the event when both of the two specified user memory bits is 1.

The parameters for this input function are specified in the AndMBit structure of input.

enumerator XorMBit

The input function triggers the event when one but not both of the specified user memory bits is 1 (this input function implements an exclusive-or logic).

The parameters for this input function are specified in the XorMBit structure of input.

enumerator NandMBit

The input function triggers the event when not both of the two specified user memory bits is 1.

The parameters for this input function are specified in the NandMBit structure of input.

enumerator NorMBit

The input function triggers the event when neither of the two specified user memory bits is 1.

The parameters for this input function are specified in the NorMBit structure of input.

enumerator XnorMBit

The input function triggers the event when both of the specified user memory bits are 1 or both of the specified user memory bits are 0 (this input function implements a not exclusive-or logic).

The parameters for this input function are specified in the XnorMBit structure of input.

enumerator DelayMBit

The input function triggers the event after the specified user memory bit remains 1 continuously for the specified time.

The parameters for this input function are specified in the DelayMBit structure of input.

enumerator EqualMBytes

The input function triggers the event when the specified user memory data is equal to the specified value.

The parameters for this input function are specified in the EqualMBytes structure of input.

enumerator GreaterMBytes

The input function triggers the event when the specified user memory data is greater than the specified value.

The parameters for this input function are specified in the GreaterMBytes structure of input.

enumerator LessMBytes

The input function triggers the event when the specified user memory data is less than the specified value.

The parameters for this input function are specified in the LessMBytes structure of input.

Public Functions

UserMemoryEventInput()
virtual int GetInputModuleId()

Return the ModuleId of the UserMemory module.

virtual WMX3APIFUNC GetInputData(unsigned char *buff, int buffSize, int *dataSize, char *initialState)

Convert the values specified in other member variables of the class inheriting this class to a binary representation that can be sent to the engine.

Convert the values specified in other member variables of the class inheriting this class to a binary representation that can be sent to the engine.

Parameters:
  • buff[out] A pointer to a buffer that will contain the binary representation of the member variables.

  • buffSize[in] The size of the buffer in bytes.

  • dataSize[out] A pointer to an int that will contain the size of the binary representation of the member variables, in bytes. This size of the buffer will be occupied.

  • initialState[out] A pointer to a char that will contain the initialState (triggered or untriggered) of the input function. This determines whether the event can trigger when the event is enabled.

virtual WMX3APIFUNC SetInputData(int moduleId, unsigned char *data, int dataSize)

Convert the binary representation of the values specified in other members of the class inheriting this class and copies them back to the other members.

Convert the binary representation of the values specified in other members of the class inheriting this class and copies them back to the other members.

Parameters:
  • moduleId[in] The ID of the module that defines the binary representation of the member variables.

  • data[in] A pointer to a buffer that contains the binary representation of the member variables.

  • dataSize[in] The size of the buffer in bytes.

Public Members

UserMemoryEventInputType inputFunction

Specifies the event input function.

union wmx3Api::UserMemoryEventInput::InputFunctionArguments input

Specifies the arguments for the event input function.

union InputFunctionArguments

This union defines the structs containing arguments for each input function.

Public Functions

InputFunctionArguments()
struct AndMBit

This structure contains arguments for the AndMBit input function.

Public Members

unsigned int byteAddress[2]

The byte addresses of the two user memory bits.

unsigned char bitAddress[2]

The bit addresses of the two user memory bits.

unsigned char invert[2]

If set to 1, the value of the user memory bit corresponding to that index will be inverted. If set to 0, that user memory bit is processed normally.

struct DelayMBit

This structure contains arguments for the DelayMBit input function.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the value of the user memory bit will be inverted. If set to 0, the user memory bit is processed normally.

unsigned int delayTime

The delay time in units of milliseconds.

struct EqualMBytes

This structure contains arguments for the EqualMBytes input function.

Public Members

unsigned int byteAddress

The byte address of the user memory data.

unsigned char size

The size of the user memory data in bytes. 1, 2, or 4 may be specified.

unsigned int value

The value to compare the user memory data against.

unsigned char invert

If set to 1, the result of the comparison will be inverted. If set to 0, the comparison is processed normally.

struct GreaterMBytes

This structure contains arguments for the GreaterMBytes input function.

Public Members

unsigned int byteAddress

The byte address of the user memory data.

unsigned char size

The size of the user memory data in bytes. 1, 2, or 4 may be specified.

unsigned char isSigned

If set to 1, the user memory data and value are considered signed values. For example, if size is 1, then 0xFF is considered as -1. value is considered to be 4 bytes regardless of size (for example, 0xFFFFFFFF is considered as -1). If set to 0, the user memory data and value are considered unsigned values. For example, if size is 1, then 0xFF is considered as 255. value is considered to be 4 bytes regardless of size (for example, 0xFFFFFFFF is considered as 4294967295).

unsigned int value

The value to compare the user memory data against.

unsigned char invert

If set to 1, the result of the comparison will be inverted. If set to 0, the comparison is processed normally.

struct LessMBytes

This structure contains arguments for the LessMBytes input function.

Public Members

unsigned int byteAddress

The byte address of the user memory data.

unsigned char size

The size of the user memory data in bytes. 1, 2, or 4 may be specified.

unsigned char isSigned

If set to 1, the user memory data and value are considered signed values. For example, if size is 1, then 0xFF is considered as -1. value is considered to be 4 bytes regardless of size (for example, 0xFFFFFFFF is considered as -1). If set to 0, the user memory data and value are considered unsigned values. For example, if size is 1, then 0xFF is considered as 255. value is considered to be 4 bytes regardless of size (for example, 0xFFFFFFFF is considered as 4294967295).

unsigned int value

The value to compare the user memory data against.

unsigned char invert

If set to 1, the result of the comparison will be inverted. If set to 0, the comparison is processed normally.

struct MBit

This structure contains arguments for the MBit input function.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the value of the user memory bit will be inverted. If set to 0, the user memory bit is processed normally.

struct NandMBit

This structure contains arguments for the NandMBit input function.

Public Members

unsigned int byteAddress[2]

The byte addresses of the two user memory bits.

unsigned char bitAddress[2]

The bit addresses of the two user memory bits.

unsigned char invert[2]

If set to 1, the value of the user memory bit corresponding to that index will be inverted. If set to 0, that user memory bit is processed normally.

struct NorMBit

This structure contains arguments for the NorMBit input function.

Public Members

unsigned int byteAddress[2]

The byte addresses of the two user memory bits.

unsigned char bitAddress[2]

The bit addresses of the two user memory bits.

unsigned char invert[2]

If set to 1, the value of the user memory bit corresponding to that index will be inverted. If set to 0, that user memory bit is processed normally.

struct NotMBit

This structure contains arguments for the NotMBit input function.

Public Members

unsigned int byteAddress

The byte address of the user memory bit.

unsigned char bitAddress

The bit address of the user memory bit.

unsigned char invert

If set to 1, the value of the user memory bit will be inverted. If set to 0, the user memory bit is processed normally.

struct OrMBit

This structure contains arguments for the OrMBit input function.

Public Members

unsigned int byteAddress[2]

The byte addresses of the two user memory bits.

unsigned char bitAddress[2]

The bit addresses of the two user memory bits.

unsigned char invert[2]

If set to 1, the value of the user memory bit corresponding to that index will be inverted. If set to 0, that user memory bit is processed normally.

struct XnorMBit

This structure contains arguments for the XnorMBit input function.

Public Members

unsigned int byteAddress[2]

The byte addresses of the two user memory bits.

unsigned char bitAddress[2]

The bit addresses of the two user memory bits.

unsigned char invert[2]

If set to 1, the value of the user memory bit corresponding to that index will be inverted. If set to 0, that user memory bit is processed normally.

struct XorMBit

This structure contains arguments for the XorMBit input function.

Public Members

unsigned int byteAddress[2]

The byte addresses of the two user memory bits.

unsigned char bitAddress[2]

The bit addresses of the two user memory bits.

unsigned char invert[2]

If set to 1, the value of the user memory bit corresponding to that index will be inverted. If set to 0, that user memory bit is processed normally.