/*
 *  WARNING: machine generated code.
 *
 *  do NOT edit this file, edit the
 *  original '.epp' file and regenerate this
 *  one.
 */

#ifndef ____VCELEMEN_H
#define ____VCELEMEN_H

#include <dsys/divtypes.h>
#include <dvs/vl.h>

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Instance number access macros.
 */
#define VL_VCObjectPosition_vcPos_ino(x) ((x)+1)
#define VL_VCObjectPosition_parent_ino(x) ((x)+2)
#define VL_VCObject_pos_ino(x) ((x)+1)
#define VL_VCObject_pos_vcPos_ino(x) ((x)+2)
#define VL_VCObject_pos_parent_ino(x) ((x)+3)
#define VL_VCObject_attributes_ino(x) ((x)+4)
#define VL_VCGeometry_header_ino(x) ((x)+1)
#define VL_VCGeometry_vertices_ino(x) ((x)+2)
#define VL_VCText_header_ino(x) ((x)+1)
#define VL_VCText_text_ino(x) ((x)+2)
#define VL_VCConnectionList_header_ino(x) ((x)+1)
#define VL_VCConnectionList_connections_ino(x) ((x)+2)



/*
 * Generated function declarations.
 */
extern int32 ModuleVCInit ( void );

extern InstanceNo  (VLCreateVCTime)(VCTime *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDeleteVCTime)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdateVCTime)(InstanceNo ino, VCTime *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtractVCTime)(InstanceNo ino , VCTime *data, VLTime *utime);

extern InstanceNo  (VLCreateVCColour)(float32 *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDeleteVCColour)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdateVCColour)(InstanceNo ino, float32 *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtractVCColour)(InstanceNo ino , float32 *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCPosition)(_VCPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCPosition)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCPosition)(InstanceNo ino, _VCPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCPosition)(InstanceNo ino , _VCPosition *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCObjectPosition)(_VCObjectPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCObjectPosition)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCObjectPosition)(InstanceNo ino, _VCObjectPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObjectPosition)(InstanceNo ino , _VCObjectPosition *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCObjectPosition_vcPos)(InstanceNo ino, _VCPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObjectPosition_vcPos)(InstanceNo ino , _VCPosition *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCObjectPosition_parent)(InstanceNo ino, uint32 *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObjectPosition_parent)(InstanceNo ino , uint32 *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCObject)(_VCObject *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCObject)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCObject)(InstanceNo ino, _VCObject *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObject)(InstanceNo ino , _VCObject *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCObject_pos)(InstanceNo ino, _VCObjectPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObject_pos)(InstanceNo ino , _VCObjectPosition *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCObject_pos_vcPos)(InstanceNo ino, _VCPosition *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObject_pos_vcPos)(InstanceNo ino , _VCPosition *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCObject_pos_parent)(InstanceNo ino, uint32 *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObject_pos_parent)(InstanceNo ino , uint32 *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCObject_attributes)(InstanceNo ino, uint32 *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCObject_attributes)(InstanceNo ino , uint32 *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCConstraints)(_VCConstraints *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCConstraints)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCConstraints)(InstanceNo ino, _VCConstraints *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCConstraints)(InstanceNo ino , _VCConstraints *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCZone)(_VCZone *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCZone)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCZone)(InstanceNo ino, _VCZone *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCZone)(InstanceNo ino , _VCZone *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVisualMonitor)(_VCVisualMonitor *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCVisualMonitor)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVisualMonitor)(InstanceNo ino, _VCVisualMonitor *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCVisualMonitor)(InstanceNo ino , _VCVisualMonitor *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCConfigRequest)(_VCConfigRequest *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCConfigRequest)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCConfigRequest)(InstanceNo ino, _VCConfigRequest *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCConfigRequest)(InstanceNo ino , _VCConfigRequest *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCConfigReply)(_VCConfigReply *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCConfigReply)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCConfigReply)(InstanceNo ino, _VCConfigReply *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCConfigReply)(InstanceNo ino , _VCConfigReply *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCUser)(_VCUser *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCUser)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCUser)(InstanceNo ino, _VCUser *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCUser)(InstanceNo ino , _VCUser *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCResource)(_VCResource *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCResource)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCResource)(InstanceNo ino, _VCResource *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCResource)(InstanceNo ino , _VCResource *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCResourceRequest)(_VCResourceRequest *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCResourceRequest)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCResourceRequest)(InstanceNo ino, _VCResourceRequest *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCResourceRequest)(InstanceNo ino , _VCResourceRequest *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCAudio)(_VCAudio *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCAudio)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCAudio)(InstanceNo ino, _VCAudio *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCAudio)(InstanceNo ino , _VCAudio *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCRadiator)(_VCRadiator *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCRadiator)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCRadiator)(InstanceNo ino, _VCRadiator *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCRadiator)(InstanceNo ino , _VCRadiator *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCAudioResource)(_VCAudioResource *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCAudioResource)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCAudioResource)(InstanceNo ino, _VCAudioResource *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCAudioResource)(InstanceNo ino , _VCAudioResource *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVisual)(_VCVisual *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCVisual)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVisual)(InstanceNo ino, _VCVisual *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCVisual)(InstanceNo ino , _VCVisual *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCMaterial)(_VCMaterial *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCMaterial)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCMaterial)(InstanceNo ino, _VCMaterial *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCMaterial)(InstanceNo ino , _VCMaterial *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCRamp)(_VCRamp *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCRamp)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCRamp)(InstanceNo ino, _VCRamp *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCRamp)(InstanceNo ino , _VCRamp *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCTexture)(_VCTexture *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCTexture)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCTexture)(InstanceNo ino, _VCTexture *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCTexture)(InstanceNo ino , _VCTexture *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCLight)(_VCLight *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCLight)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCLight)(InstanceNo ino, _VCLight *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCLight)(InstanceNo ino , _VCLight *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVisualResource)(_VCVisualResource *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCVisualResource)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVisualResource)(InstanceNo ino, _VCVisualResource *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCVisualResource)(InstanceNo ino , _VCVisualResource *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVisualViewResource)(_VCVisualViewResource *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCVisualViewResource)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVisualViewResource)(InstanceNo ino, _VCVisualViewResource *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCVisualViewResource)(InstanceNo ino , _VCVisualViewResource *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCIntersectionReport)(_VCIntersectionReport *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCIntersectionReport)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCIntersectionReport)(InstanceNo ino, _VCIntersectionReport *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCIntersectionReport)(InstanceNo ino , _VCIntersectionReport *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCIntersectionState)(_VCIntersectionState *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCIntersectionState)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCIntersectionState)(InstanceNo ino, _VCIntersectionState *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCIntersectionState)(InstanceNo ino , _VCIntersectionState *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVectorIntersect)(_VCVectorIntersect *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCVectorIntersect)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVectorIntersect)(InstanceNo ino, _VCVectorIntersect *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCVectorIntersect)(InstanceNo ino , _VCVectorIntersect *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVisualEffect)(_VCVisualEffect *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCVisualEffect)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVisualEffect)(InstanceNo ino, _VCVisualEffect *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCVisualEffect)(InstanceNo ino , _VCVisualEffect *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCDynamicVisual)(_VCDynamicVisual *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCDynamicVisual)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCDynamicVisual)(InstanceNo ino, _VCDynamicVisual *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCDynamicVisual)(InstanceNo ino , _VCDynamicVisual *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCLod)(_VCLod *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCLod)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCLod)(InstanceNo ino, _VCLod *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCLod)(InstanceNo ino , _VCLod *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCGeogroup)(_VCGeogroup *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCGeogroup)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCGeogroup)(InstanceNo ino, _VCGeogroup *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCGeogroup)(InstanceNo ino , _VCGeogroup *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCGeometryHeader)(_VCGeometryHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCGeometryHeader)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCGeometryHeader)(InstanceNo ino, _VCGeometryHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCGeometryHeader)(InstanceNo ino , _VCGeometryHeader *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCGeometry)(_VCGeometry *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCGeometry)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCGeometry)(InstanceNo ino, _VCGeometry *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCGeometry)(InstanceNo ino , _VCGeometry *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCGeometry_header)(InstanceNo ino, _VCGeometryHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCGeometry_header)(InstanceNo ino , _VCGeometryHeader *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCGeometry_vertices)(InstanceNo ino, float32 *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCGeometry_vertices)(InstanceNo ino , float32 *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCTextData)(_VCTextData *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCTextData)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCTextData)(InstanceNo ino, _VCTextData *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCTextData)(InstanceNo ino , _VCTextData *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCText)(_VCText *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCText)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCText)(InstanceNo ino, _VCText *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCText)(InstanceNo ino , _VCText *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCText_header)(InstanceNo ino, _VCGeometryHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCText_header)(InstanceNo ino , _VCGeometryHeader *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCText_text)(InstanceNo ino, _VCTextData *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCText_text)(InstanceNo ino , _VCTextData *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCConnectionListHeader)(_VCConnectionListHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCConnectionListHeader)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCConnectionListHeader)(InstanceNo ino, _VCConnectionListHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCConnectionListHeader)(InstanceNo ino , _VCConnectionListHeader *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCConnectionList)(_VCConnectionList *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCConnectionList)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCConnectionList)(InstanceNo ino, _VCConnectionList *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCConnectionList)(InstanceNo ino , _VCConnectionList *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCConnectionList_header)(InstanceNo ino, _VCConnectionListHeader *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCConnectionList_header)(InstanceNo ino , _VCConnectionListHeader *data, VLTime *utime);

extern VLStatus    (VLUpdate_VCConnectionList_connections)(InstanceNo ino, uint32 *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCConnectionList_connections)(InstanceNo ino , uint32 *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCCollisionReport)(_VCCollisionReport *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCCollisionReport)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCCollisionReport)(InstanceNo ino, _VCCollisionReport *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCCollisionReport)(InstanceNo ino , _VCCollisionReport *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCCollisionState)(_VCCollisionState *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCCollisionState)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCCollisionState)(InstanceNo ino, _VCCollisionState *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCCollisionState)(InstanceNo ino , _VCCollisionState *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCBoundary)(_VCBoundary *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCBoundary)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCBoundary)(InstanceNo ino, _VCBoundary *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCBoundary)(InstanceNo ino , _VCBoundary *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCBodyPart)(_VCBodyPart *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCBodyPart)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCBodyPart)(InstanceNo ino, _VCBodyPart *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCBodyPart)(InstanceNo ino , _VCBodyPart *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCBodyMonitor)(_VCBodyMonitor *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCBodyMonitor)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCBodyMonitor)(InstanceNo ino, _VCBodyMonitor *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCBodyMonitor)(InstanceNo ino , _VCBodyMonitor *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCBodyFlyInfo)(_VCBodyFlyInfo *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCBodyFlyInfo)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCBodyFlyInfo)(InstanceNo ino, _VCBodyFlyInfo *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCBodyFlyInfo)(InstanceNo ino , _VCBodyFlyInfo *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCBody)(_VCBody *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCBody)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCBody)(InstanceNo ino, _VCBody *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCBody)(InstanceNo ino , _VCBody *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCPickObject)(_VCPickObject *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCPickObject)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCPickObject)(InstanceNo ino, _VCPickObject *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCPickObject)(InstanceNo ino , _VCPickObject *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCTrackerMonitor)(_VCTrackerMonitor *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCTrackerMonitor)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCTrackerMonitor)(InstanceNo ino, _VCTrackerMonitor *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCTrackerMonitor)(InstanceNo ino , _VCTrackerMonitor *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCCollideMonitor)(_VCCollideMonitor *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCCollideMonitor)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCCollideMonitor)(InstanceNo ino, _VCCollideMonitor *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCCollideMonitor)(InstanceNo ino , _VCCollideMonitor *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCSensorResource)(_VCSensorResource *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCSensorResource)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCSensorResource)(InstanceNo ino, _VCSensorResource *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCSensorResource)(InstanceNo ino , _VCSensorResource *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCTracker)(_VCTracker *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCTracker)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCTracker)(InstanceNo ino, _VCTracker *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCTracker)(InstanceNo ino , _VCTracker *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCInputResource)(_VCInputResource *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCInputResource)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCInputResource)(InstanceNo ino, _VCInputResource *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCInputResource)(InstanceNo ino , _VCInputResource *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCInput)(_VCInput *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCInput)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCInput)(InstanceNo ino, _VCInput *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCInput)(InstanceNo ino , _VCInput *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCXWindowId)(_VCXWindowId *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCXWindowId)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCXWindowId)(InstanceNo ino, _VCXWindowId *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCXWindowId)(InstanceNo ino , _VCXWindowId *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCQuery)(_VCQuery *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCQuery)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCQuery)(InstanceNo ino, _VCQuery *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCQuery)(InstanceNo ino , _VCQuery *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCResponse)(_VCResponse *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCResponse)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCResponse)(InstanceNo ino, _VCResponse *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCResponse)(InstanceNo ino , _VCResponse *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCVisualQuery)(_VCVisualQuery *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCVisualQuery)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCVisualQuery)(InstanceNo ino, _VCVisualQuery *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCVisualQuery)(InstanceNo ino , _VCVisualQuery *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCDynamics)(_VCDynamics *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCDynamics)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCDynamics)(InstanceNo ino, _VCDynamics *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCDynamics)(InstanceNo ino , _VCDynamics *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCForce)(_VCForce *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCForce)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCForce)(InstanceNo ino, _VCForce *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCForce)(InstanceNo ino , _VCForce *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCPseudoGravity)(_VCPseudoGravity *data, VLTime *time, VLUpdateMode mode);
extern VLStatus    (VLDelete_VCPseudoGravity)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCPseudoGravity)(InstanceNo ino, _VCPseudoGravity *data, VLTime *time, VLUpdateMode mode);
extern VLStatus   (VLExtract_VCPseudoGravity)(InstanceNo ino , _VCPseudoGravity *data, VLTime *utime);

extern InstanceNo  (VLCreate_VCSync)(_VCSync *data, VLTime *time, VLUpdateMode mode, int32 count);
extern VLStatus    (VLDelete_VCSync)(InstanceNo ino, VLUpdateMode mode);
extern VLStatus    (VLUpdate_VCSync)(InstanceNo ino, _VCSync *data, VLTime *time, VLUpdateMode mode, uint32 count);
extern VLStatus   (VLExtract_VCSync)(InstanceNo ino , _VCSync *data, VLTime *utime);

#ifdef __VL_INLINE_ACCESS__
#define VLCreateVCTime( d, t, m) vlCreateInstance(el_VCTime, 0, (d),(t),(m))
#define VLDeleteVCTime(i,m) vlDeleteInstance((i),(m))
#define VLUpdateVCTime( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtractVCTime(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreateVCColour( d, t, m) vlCreateInstance(el_VCColour, 0, (d),(t),(m))
#define VLDeleteVCColour(i,m) vlDeleteInstance((i),(m))
#define VLUpdateVCColour( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtractVCColour(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCPosition( d, t, m) vlCreateInstance(el__VCPosition, 0, (d),(t),(m))
#define VLDelete_VCPosition(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCPosition( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCPosition(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCObjectPosition( d, t, m) vlCreateInstance(el__VCObjectPosition, 0, (d),(t),(m))
#define VLDelete_VCObjectPosition(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCObjectPosition( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCObjectPosition(i,d,t) vlExtractInstance((i),(d),(t))

#define VLUpdate_VCObjectPosition_vcPos( i, d, t, m) vlUpdateInstance((i) + 1,(d),(t),(m))
#define VLExtract_VCObjectPosition_vcPos(i, d, t) vlExtractInstance((i) + 1,(d),(t))


#define VLUpdate_VCObjectPosition_parent( i, d, t, m) vlUpdateInstance((i) + 2,(d),(t),(m))
#define VLExtract_VCObjectPosition_parent(i, d, t) vlExtractInstance((i) + 2,(d),(t))


#define VLCreate_VCObject( d, t, m) vlCreateInstance(el__VCObject, 0, (d),(t),(m))
#define VLDelete_VCObject(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCObject( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCObject(i,d,t) vlExtractInstance((i),(d),(t))

#define VLUpdate_VCObject_pos( i, d, t, m) vlUpdateInstance((i) + 1,(d),(t),(m))
#define VLExtract_VCObject_pos(i, d, t) vlExtractInstance((i) + 1,(d),(t))


#define VLUpdate_VCObject_pos_vcPos( i, d, t, m) vlUpdateInstance((i) + 2,(d),(t),(m))
#define VLExtract_VCObject_pos_vcPos(i, d, t) vlExtractInstance((i) + 2,(d),(t))


#define VLUpdate_VCObject_pos_parent( i, d, t, m) vlUpdateInstance((i) + 3,(d),(t),(m))
#define VLExtract_VCObject_pos_parent(i, d, t) vlExtractInstance((i) + 3,(d),(t))


#define VLUpdate_VCObject_attributes( i, d, t, m) vlUpdateInstance((i) + 4,(d),(t),(m))
#define VLExtract_VCObject_attributes(i, d, t) vlExtractInstance((i) + 4,(d),(t))


#define VLCreate_VCConstraints( d, t, m) vlCreateInstance(el__VCConstraints, 0, (d),(t),(m))
#define VLDelete_VCConstraints(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCConstraints( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCConstraints(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCZone( d, t, m) vlCreateInstance(el__VCZone, 0, (d),(t),(m))
#define VLDelete_VCZone(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCZone( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCZone(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVisualMonitor(d, t, m, c) vlCreateDynamicInstance(el__VCVisualMonitor,0,(d),(t),(m),(c))
#define VLDelete_VCVisualMonitor(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVisualMonitor( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCVisualMonitor(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCConfigRequest(d, t, m, c) vlCreateDynamicInstance(el__VCConfigRequest,0,(d),(t),(m),(c))
#define VLDelete_VCConfigRequest(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCConfigRequest( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCConfigRequest(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCConfigReply(d, t, m, c) vlCreateDynamicInstance(el__VCConfigReply,0,(d),(t),(m),(c))
#define VLDelete_VCConfigReply(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCConfigReply( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCConfigReply(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCUser(d, t, m, c) vlCreateDynamicInstance(el__VCUser,0,(d),(t),(m),(c))
#define VLDelete_VCUser(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCUser( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCUser(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCResource(d, t, m, c) vlCreateDynamicInstance(el__VCResource,0,(d),(t),(m),(c))
#define VLDelete_VCResource(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCResource( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCResource(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCResourceRequest( d, t, m) vlCreateInstance(el__VCResourceRequest, 0, (d),(t),(m))
#define VLDelete_VCResourceRequest(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCResourceRequest( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCResourceRequest(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCAudio(d, t, m, c) vlCreateDynamicInstance(el__VCAudio,0,(d),(t),(m),(c))
#define VLDelete_VCAudio(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCAudio( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCAudio(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCRadiator( d, t, m) vlCreateInstance(el__VCRadiator, 0, (d),(t),(m))
#define VLDelete_VCRadiator(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCRadiator( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCRadiator(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCAudioResource(d, t, m, c) vlCreateDynamicInstance(el__VCAudioResource,0,(d),(t),(m),(c))
#define VLDelete_VCAudioResource(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCAudioResource( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCAudioResource(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVisual(d, t, m, c) vlCreateDynamicInstance(el__VCVisual,0,(d),(t),(m),(c))
#define VLDelete_VCVisual(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVisual( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCVisual(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCMaterial(d, t, m, c) vlCreateDynamicInstance(el__VCMaterial,0,(d),(t),(m),(c))
#define VLDelete_VCMaterial(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCMaterial( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCMaterial(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCRamp(d, t, m, c) vlCreateDynamicInstance(el__VCRamp,0,(d),(t),(m),(c))
#define VLDelete_VCRamp(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCRamp( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCRamp(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCTexture(d, t, m, c) vlCreateDynamicInstance(el__VCTexture,0,(d),(t),(m),(c))
#define VLDelete_VCTexture(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCTexture( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCTexture(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCLight( d, t, m) vlCreateInstance(el__VCLight, 0, (d),(t),(m))
#define VLDelete_VCLight(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCLight( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCLight(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVisualResource(d, t, m, c) vlCreateDynamicInstance(el__VCVisualResource,0,(d),(t),(m),(c))
#define VLDelete_VCVisualResource(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVisualResource( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCVisualResource(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVisualViewResource(d, t, m, c) vlCreateDynamicInstance(el__VCVisualViewResource,0,(d),(t),(m),(c))
#define VLDelete_VCVisualViewResource(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVisualViewResource( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCVisualViewResource(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCIntersectionReport( d, t, m) vlCreateInstance(el__VCIntersectionReport, 0, (d),(t),(m))
#define VLDelete_VCIntersectionReport(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCIntersectionReport( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCIntersectionReport(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCIntersectionState(d, t, m, c) vlCreateDynamicInstance(el__VCIntersectionState,0,(d),(t),(m),(c))
#define VLDelete_VCIntersectionState(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCIntersectionState( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCIntersectionState(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVectorIntersect( d, t, m) vlCreateInstance(el__VCVectorIntersect, 0, (d),(t),(m))
#define VLDelete_VCVectorIntersect(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVectorIntersect( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCVectorIntersect(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVisualEffect(d, t, m, c) vlCreateDynamicInstance(el__VCVisualEffect,0,(d),(t),(m),(c))
#define VLDelete_VCVisualEffect(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVisualEffect( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCVisualEffect(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCDynamicVisual(d, t, m, c) vlCreateDynamicInstance(el__VCDynamicVisual,0,(d),(t),(m),(c))
#define VLDelete_VCDynamicVisual(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCDynamicVisual( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCDynamicVisual(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCLod(d, t, m, c) vlCreateDynamicInstance(el__VCLod,0,(d),(t),(m),(c))
#define VLDelete_VCLod(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCLod( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCLod(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCGeogroup(d, t, m, c) vlCreateDynamicInstance(el__VCGeogroup,0,(d),(t),(m),(c))
#define VLDelete_VCGeogroup(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCGeogroup( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCGeogroup(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCGeometryHeader( d, t, m) vlCreateInstance(el__VCGeometryHeader, 0, (d),(t),(m))
#define VLDelete_VCGeometryHeader(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCGeometryHeader( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCGeometryHeader(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCGeometry(d, t, m, c) vlCreateDynamicInstance(el__VCGeometry,0,(d),(t),(m),(c))
#define VLDelete_VCGeometry(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCGeometry( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCGeometry(i, d, t) vlExtractInstance((i),(d),(t))

#define VLUpdate_VCGeometry_header( i, d, t, m) vlUpdateInstance((i) + 1,(d),(t),(m))
#define VLExtract_VCGeometry_header(i, d, t) vlExtractInstance((i) + 1,(d),(t))


#define VLUpdate_VCGeometry_vertices( i, d, t, m,c) vlUpdateDynamicInstance((i) + 2,(d),(t),(m),(c))
#define VLExtract_VCGeometry_vertices(i, d, t) vlExtractInstance((i) + 2,(d),(t))


#define VLCreate_VCTextData(d, t, m, c) vlCreateDynamicInstance(el__VCTextData,0,(d),(t),(m),(c))
#define VLDelete_VCTextData(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCTextData( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCTextData(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCText(d, t, m, c) vlCreateDynamicInstance(el__VCText,0,(d),(t),(m),(c))
#define VLDelete_VCText(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCText( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCText(i, d, t) vlExtractInstance((i),(d),(t))

#define VLUpdate_VCText_header( i, d, t, m) vlUpdateInstance((i) + 1,(d),(t),(m))
#define VLExtract_VCText_header(i, d, t) vlExtractInstance((i) + 1,(d),(t))


#define VLUpdate_VCText_text( i, d, t, m,c) vlUpdateDynamicInstance((i) + 2,(d),(t),(m),(c))
#define VLExtract_VCText_text(i, d, t) vlExtractInstance((i) + 2,(d),(t))


#define VLCreate_VCConnectionListHeader( d, t, m) vlCreateInstance(el__VCConnectionListHeader, 0, (d),(t),(m))
#define VLDelete_VCConnectionListHeader(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCConnectionListHeader( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCConnectionListHeader(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCConnectionList(d, t, m, c) vlCreateDynamicInstance(el__VCConnectionList,0,(d),(t),(m),(c))
#define VLDelete_VCConnectionList(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCConnectionList( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCConnectionList(i, d, t) vlExtractInstance((i),(d),(t))

#define VLUpdate_VCConnectionList_header( i, d, t, m) vlUpdateInstance((i) + 1,(d),(t),(m))
#define VLExtract_VCConnectionList_header(i, d, t) vlExtractInstance((i) + 1,(d),(t))


#define VLUpdate_VCConnectionList_connections( i, d, t, m,c) vlUpdateDynamicInstance((i) + 2,(d),(t),(m),(c))
#define VLExtract_VCConnectionList_connections(i, d, t) vlExtractInstance((i) + 2,(d),(t))


#define VLCreate_VCCollisionReport( d, t, m) vlCreateInstance(el__VCCollisionReport, 0, (d),(t),(m))
#define VLDelete_VCCollisionReport(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCCollisionReport( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCCollisionReport(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCCollisionState(d, t, m, c) vlCreateDynamicInstance(el__VCCollisionState,0,(d),(t),(m),(c))
#define VLDelete_VCCollisionState(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCCollisionState( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCCollisionState(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCBoundary(d, t, m, c) vlCreateDynamicInstance(el__VCBoundary,0,(d),(t),(m),(c))
#define VLDelete_VCBoundary(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCBoundary( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCBoundary(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCBodyPart(d, t, m, c) vlCreateDynamicInstance(el__VCBodyPart,0,(d),(t),(m),(c))
#define VLDelete_VCBodyPart(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCBodyPart( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCBodyPart(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCBodyMonitor(d, t, m, c) vlCreateDynamicInstance(el__VCBodyMonitor,0,(d),(t),(m),(c))
#define VLDelete_VCBodyMonitor(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCBodyMonitor( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCBodyMonitor(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCBodyFlyInfo( d, t, m) vlCreateInstance(el__VCBodyFlyInfo, 0, (d),(t),(m))
#define VLDelete_VCBodyFlyInfo(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCBodyFlyInfo( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCBodyFlyInfo(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCBody(d, t, m, c) vlCreateDynamicInstance(el__VCBody,0,(d),(t),(m),(c))
#define VLDelete_VCBody(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCBody( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCBody(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCPickObject( d, t, m) vlCreateInstance(el__VCPickObject, 0, (d),(t),(m))
#define VLDelete_VCPickObject(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCPickObject( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCPickObject(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCTrackerMonitor(d, t, m, c) vlCreateDynamicInstance(el__VCTrackerMonitor,0,(d),(t),(m),(c))
#define VLDelete_VCTrackerMonitor(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCTrackerMonitor( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCTrackerMonitor(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCCollideMonitor(d, t, m, c) vlCreateDynamicInstance(el__VCCollideMonitor,0,(d),(t),(m),(c))
#define VLDelete_VCCollideMonitor(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCCollideMonitor( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCCollideMonitor(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCSensorResource(d, t, m, c) vlCreateDynamicInstance(el__VCSensorResource,0,(d),(t),(m),(c))
#define VLDelete_VCSensorResource(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCSensorResource( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCSensorResource(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCTracker(d, t, m, c) vlCreateDynamicInstance(el__VCTracker,0,(d),(t),(m),(c))
#define VLDelete_VCTracker(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCTracker( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCTracker(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCInputResource(d, t, m, c) vlCreateDynamicInstance(el__VCInputResource,0,(d),(t),(m),(c))
#define VLDelete_VCInputResource(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCInputResource( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCInputResource(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCInput(d, t, m, c) vlCreateDynamicInstance(el__VCInput,0,(d),(t),(m),(c))
#define VLDelete_VCInput(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCInput( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCInput(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCXWindowId(d, t, m, c) vlCreateDynamicInstance(el__VCXWindowId,0,(d),(t),(m),(c))
#define VLDelete_VCXWindowId(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCXWindowId( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCXWindowId(i, d, t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCQuery( d, t, m) vlCreateInstance(el__VCQuery, 0, (d),(t),(m))
#define VLDelete_VCQuery(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCQuery( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCQuery(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCResponse( d, t, m) vlCreateInstance(el__VCResponse, 0, (d),(t),(m))
#define VLDelete_VCResponse(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCResponse( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCResponse(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCVisualQuery( d, t, m) vlCreateInstance(el__VCVisualQuery, 0, (d),(t),(m))
#define VLDelete_VCVisualQuery(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCVisualQuery( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCVisualQuery(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCDynamics( d, t, m) vlCreateInstance(el__VCDynamics, 0, (d),(t),(m))
#define VLDelete_VCDynamics(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCDynamics( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCDynamics(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCForce( d, t, m) vlCreateInstance(el__VCForce, 0, (d),(t),(m))
#define VLDelete_VCForce(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCForce( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCForce(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCPseudoGravity( d, t, m) vlCreateInstance(el__VCPseudoGravity, 0, (d),(t),(m))
#define VLDelete_VCPseudoGravity(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCPseudoGravity( i, d, t, m) vlUpdateInstance((i),(d),(t),(m))
#define VLExtract_VCPseudoGravity(i,d,t) vlExtractInstance((i),(d),(t))

#define VLCreate_VCSync(d, t, m, c) vlCreateDynamicInstance(el__VCSync,0,(d),(t),(m),(c))
#define VLDelete_VCSync(i,m) vlDeleteInstance((i),(m))
#define VLUpdate_VCSync( i, d, t, m, c) vlUpdateDynamicInstance((i),(d),(t),(m),(c))
#define VLExtract_VCSync(i, d, t) vlExtractInstance((i),(d),(t))

#endif
/*
 * Symbolic element names.
 */
extern const ElementHandle el_VCTime;
extern const ElementHandle el_VCColour;
extern const ElementHandle el__VCPosition;
extern const ElementHandle el__VCObjectPosition;
extern const ElementHandle el__VCObject;
extern const ElementHandle el__VCConstraints;
extern const ElementHandle el__VCZone;
extern const ElementHandle el__VCVisualMonitor;
extern const ElementHandle el__VCConfigRequest;
extern const ElementHandle el__VCConfigReply;
extern const ElementHandle el__VCUser;
extern const ElementHandle el__VCResource;
extern const ElementHandle el__VCResourceRequest;
extern const ElementHandle el__VCAudio;
extern const ElementHandle el__VCRadiator;
extern const ElementHandle el__VCAudioResource;
extern const ElementHandle el__VCVisual;
extern const ElementHandle el__VCMaterial;
extern const ElementHandle el__VCRamp;
extern const ElementHandle el__VCTexture;
extern const ElementHandle el__VCLight;
extern const ElementHandle el__VCVisualResource;
extern const ElementHandle el__VCVisualViewResource;
extern const ElementHandle el__VCIntersectionReport;
extern const ElementHandle el__VCIntersectionState;
extern const ElementHandle el__VCVectorIntersect;
extern const ElementHandle el__VCVisualEffect;
extern const ElementHandle el__VCDynamicVisual;
extern const ElementHandle el__VCLod;
extern const ElementHandle el__VCGeogroup;
extern const ElementHandle el__VCGeometryHeader;
extern const ElementHandle el__VCGeometry;
extern const ElementHandle el__VCTextData;
extern const ElementHandle el__VCText;
extern const ElementHandle el__VCConnectionListHeader;
extern const ElementHandle el__VCConnectionList;
extern const ElementHandle el__VCCollisionReport;
extern const ElementHandle el__VCCollisionState;
extern const ElementHandle el__VCBoundary;
extern const ElementHandle el__VCBodyPart;
extern const ElementHandle el__VCBodyMonitor;
extern const ElementHandle el__VCBodyFlyInfo;
extern const ElementHandle el__VCBody;
extern const ElementHandle el__VCPickObject;
extern const ElementHandle el__VCTrackerMonitor;
extern const ElementHandle el__VCCollideMonitor;
extern const ElementHandle el__VCSensorResource;
extern const ElementHandle el__VCTracker;
extern const ElementHandle el__VCInputResource;
extern const ElementHandle el__VCInput;
extern const ElementHandle el__VCXWindowId;
extern const ElementHandle el__VCQuery;
extern const ElementHandle el__VCResponse;
extern const ElementHandle el__VCVisualQuery;
extern const ElementHandle el__VCDynamics;
extern const ElementHandle el__VCForce;
extern const ElementHandle el__VCPseudoGravity;
extern const ElementHandle el__VCSync;

static const int ElCountVC = 58;

/*
 * Epp declaraions. NOT 'C' - hence the ifdef guard!
 */
#ifdef __EPP__
%%
extern atomic  element VCTime;
extern atomic  element VCColour;
extern atomic  element _VCPosition;
extern element _VCObjectPosition;
extern element _VCObject;
extern atomic  element _VCConstraints;
extern atomic  element _VCZone;
extern atomic  element _VCVisualMonitor;
extern atomic  element _VCConfigRequest;
extern atomic  element _VCConfigReply;
extern atomic  element _VCUser;
extern atomic  element _VCResource;
extern atomic  element _VCResourceRequest;
extern atomic  element _VCAudio;
extern atomic  element _VCRadiator;
extern atomic  element _VCAudioResource;
extern atomic  element _VCVisual;
extern atomic  element _VCMaterial;
extern atomic  element _VCRamp;
extern atomic  element _VCTexture;
extern atomic  element _VCLight;
extern atomic  element _VCVisualResource;
extern atomic  element _VCVisualViewResource;
extern atomic  element _VCIntersectionReport;
extern atomic  element _VCIntersectionState;
extern atomic  element _VCVectorIntersect;
extern atomic  element _VCVisualEffect;
extern atomic  element _VCDynamicVisual;
extern atomic  element _VCLod;
extern atomic  element _VCGeogroup;
extern atomic  element _VCGeometryHeader;
extern element _VCGeometry;
extern atomic  element _VCTextData;
extern element _VCText;
extern atomic  element _VCConnectionListHeader;
extern element _VCConnectionList;
extern atomic  element _VCCollisionReport;
extern atomic  element _VCCollisionState;
extern atomic  element _VCBoundary;
extern atomic  element _VCBodyPart;
extern atomic  element _VCBodyMonitor;
extern atomic  element _VCBodyFlyInfo;
extern atomic  element _VCBody;
extern atomic  element _VCPickObject;
extern atomic  element _VCTrackerMonitor;
extern atomic  element _VCCollideMonitor;
extern atomic  element _VCSensorResource;
extern atomic  element _VCTracker;
extern atomic  element _VCInputResource;
extern atomic  element _VCInput;
extern atomic  element _VCXWindowId;
extern atomic  element _VCQuery;
extern atomic  element _VCResponse;
extern atomic  element _VCVisualQuery;
extern atomic  element _VCDynamics;
extern atomic  element _VCForce;
extern atomic  element _VCPseudoGravity;
extern atomic  element _VCSync;
%%
#endif/* __EPP__ */
#ifdef __cplusplus
}
#endif
#endif /* ____VCELEMEN_H */
