You can do it of course, however you'll have to do something like this:
PHP Code:
float pos[3];
pos[0] = g_fMakerPos[marker][0];
pos[1] = g_fMakerPos[marker][1];
pos[2] = g_fMakerPos[marker][2];
TE_SetupBeamRingPoint(pos, 150.0, 150.0+0.1, g_iBeamSprite, g_iHaloSprite, 0, 10, 1.0, 1.2, 0.0, colors, 10, 0);
TE_SendToAll();
pos[2] += 10.0
TE_SetupBeamRingPoint(pos, 100.0, 100.0+0.1, g_iBeamSprite, g_iHaloSprite, 0, 10, 1.0, 1.2, 0.0, colors, 10, 0);
TE_SendToAll();
pos[2] += 10.0
TE_SetupBeamRingPoint(pos, 75.0, 75.0+0.1, g_iBeamSprite, g_iHaloSprite, 0, 10, 1.0, 1.2, 0.0, colors, 10, 0);
TE_SendToAll();
etc...........
Notice that the ring ending point is changing each time too, this is just to say...
You can use a linear relation between the variation z and radius r (there's only two constant "a" and "b" between them, and you can give it a value of your needs).
Like:
Code:
r(z) = a * z + b
a = delta r / delta z
b = r(0)
Example: let's reuse the previous code
Our cone is going to start from Z = 0.0 to Z = 100.0; and R changes from 0 to 150 so a = (150 - 0) / (0.0 - 100.0) = -1.5; b = r(z = 0) = 150.0 so that r = -1.5z + 150.0
PHP Code:
float pos[3];
pos[0] = g_fMakerPos[marker][0];
pos[1] = g_fMakerPos[marker][1];
pos[2] = g_fMakerPos[marker][2];
float z = 0.0, r = 0.0;
while( z < 100.0f )
{
z += 20.0;
pos[2] += z;
r = -1.5 * z + 150.0;
TE_SetupBeamRingPoint(pos, r, r+0.1, g_iBeamSprite, g_iHaloSprite, 0, 10, 1.0, 1.2, 0.0, colors, 10, 0);
TE_SendToAll();
}