You're reading the documentation for an older, but still supported version (GL013300).
For information on the latest version, please have a look at GL013301.

VIRTUAL_FENCE_OBJECT

This union defines the geometry data used for configuring a Virtual Fence zone. It supports multiple shape types (cube, polygon, and cylinder) sharing the same memory region. Each substructure provides spatial limits or boundaries along X, Y, and Z axes.

BYTE#

Field Name

Data Type

Value

Remarks

0

_tCube

struct

Contains X/Y/Z upper and lower limits defining a rectangular prism region.
- _fXLoLimit, _fXUpLimit
- _fYLoLimit, _fYUpLimit
- _fZLoLimit, _fZUpLimit

20

_tPolygon

struct

Defines a polygonal boundary using 2D line segments (LINE) and vertical limits (_fZLoLimit, _fZUpLimit).
- _iLineCount : number of polygon edges (max 6)
- _tLine[6] : line segments connecting each vertex

125

_tCylinder

struct

Represents a circular boundary with height limits.
- _fRadius : cylinder radius
- _fZLoLimit, _fZUpLimit : vertical limits

137

_iBuffer

unsigned char[110]

Reserved Space 10 bytes

Total size: 147 bytes

Defined in: DRFS.h

typedef union _VIRTUAL_FENCE_OBJECT
{
    struct _CUBE {
        float _fXLoLimit;
        float _fXUpLimit;
        float _fYLoLimit;
        float _fYUpLimit;
        float _fZLoLimit;
        float _fZUpLimit;
    } _tCube;

    struct _POLYGON {
        unsigned char _iLineCount;
        LINE          _tLine[6];
        float         _fZLoLimit;
        float         _fZUpLimit;
    } _tPolygon;

    struct _CYLINDER {
        float _fRadius;
        float _fZLoLimit;
        float _fZUpLimit;
    } _tCylinder;

    unsigned char _iBuffer[110];

} VIRTUAL_FENCE_OBJECT, *LPVIRTUAL_FENCE_OBJECT;