
#define VCEntity_AttachUserData(e,i,d) _VCList_AttachUserData(&((e)->systemData->userData),i,d)
#define VCEntity_GetUserData(e,i) _VCList_GetUserData((e)->systemData->userData,i)
#define VCEntity_DetachUserData(e,i) _VCList_DetachUserData(&((e)->systemData->userData),i)

#define VCEntityAttribute_AttachUserData(e,o,i,d) _VCList_AttachUserData(&((e)->attributes[o].userDataList),i,d)
#define VCEntityAttribute_GetUserData(e,o,i) _VCList_GetUserData ((e)->attributes[o].userDataList,i)
#define VCEntityAttribute_DetachUserData(e,o,i)  _VCList_DetachUserData (&((e)->attributes[o].userDataList),i)
#define VCAttribute_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCAttribute_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCAttribute_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCMaterial_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCMaterial_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCMaterial_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCCollision_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCCollision_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCCollision_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCTexture_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCTexture_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCTexture_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCInput_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCInput_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCInput_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCIntersection_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCIntersection_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCIntersection_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCTracker_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCTracker_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCTracker_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCPosition_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCPosition_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCPosition_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCXWindowId_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCXWindowId_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCXWindowId_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCPseudoGravity_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCPseudoGravity_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCPseudoGravity_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCVisualViewResource_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->attribute->userDataList),i,d)
#define VCVisualViewResource_GetUserData(a,i) _VCList_GetUserData((a)->attribute->userDataList,i)
#define VCVisualViewResource_DetachUserData(a,i) _VCList_DetachUserData(&((a)->attribute->userDataList),i)
#define VCSync_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCSync_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCSync_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCCollideMonitor_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCCollideMonitor_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCCollideMonitor_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCTrackerMonitor_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCTrackerMonitor_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCTrackerMonitor_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCVisualMonitor_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCVisualMonitor_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCVisualMonitor_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCRadiator_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCRadiator_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCRadiator_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)
#define VCRamp_AttachUserData(a,i,d) _VCList_AttachUserData(&((a)->userDataList),i,d)
#define VCRamp_GetUserData(a,i) _VCList_GetUserData((a)->userDataList,i)
#define VCRamp_DetachUserData(a,i) _VCList_DetachUserData(&((a)->userDataList),i)

