/** * Sigma.js WebGL Renderer Node Program * ===================================== * * Simple program rendering nodes as triangles. * It does not extend AbstractNodeProgram, which works very differently, and * really targets the gl.POINTS drawing methods. * @module */import{NodeDisplayData}from"sigma/types";import{floatColor}from"sigma/utils";importTriangleProgramfrom"./sigmajs-triangle-abstract";constPOINTS=6;constATTRIBUTES=5;constANGLE_1_1=(0*Math.PI)/4;constANGLE_1_2=(2*Math.PI)/4;constANGLE_1_3=(4*Math.PI)/4;constANGLE_2_1=(4*Math.PI)/4;constANGLE_2_2=(6*Math.PI)/4;constANGLE_2_3=(8*Math.PI)/4;exportdefaultclassNodeProgramextendsTriangleProgram{constructor(gl){super(gl,POINTS,ATTRIBUTES);}triangleDefinitions(data){constsize=data.size/1.7;// experimental...return[{x:data.x,y:data.y,size:size,color:data.color,angles:[ANGLE_1_1,ANGLE_1_2,ANGLE_1_3]},{x:data.x,y:data.y,size:size,color:data.color,angles:[ANGLE_2_1,ANGLE_2_2,ANGLE_2_3]}];}}