OK.. so I got the Triangle Pointer to work.. a lot of hit and miss and a few calculations that I didn't remember after almost 40 years or so...
Code:
function fpTrianglePointer(aShapeCurves,nRadius,nArcDegrees)
-- Draw a Cone with a Radius of nRadius and covering an Arc of nArcDegrees.
local nSide = math.sqrt((nRadius*nRadius)+((nRadius*nRadius)/3));
if nArcDegrees == 0 or
nArcDegrees <= -180 or
nArcDegrees >= 180 then
return;
end
local nArcRadians = math.rad(nArcDegrees);
local nXCoord = -nSide*math.sin(nArcRadians/2);
local nYCoord = nSide*math.cos(nArcRadians/2);
table.insert(aShapeCurves,fpLineCurve(0,0,nXCoord,-nYCoord,0));
table.insert(aShapeCurves,fpLineCurve(0,0,-nXCoord,-nYCoord,0));
table.insert(aShapeCurves,fpLineCurve(-nSide/2,0,nSide/2,0,nRadius));
end
Now if I can figure out the Hex one.