MCPcopy Index your code
hub / github.com/plotly/plotly.js / getSymbolSdf

Function getSymbolSdf

src/traces/scattergl/convert.js:463–498  ·  view source on GitHub ↗
(d, trace)

Source from the content-addressed store, hash-verified

461var SYMBOL_SVG_CIRCLE = Drawing.symbolFuncs[0](SYMBOL_SIZE * 0.05);
462
463function getSymbolSdf(d, trace) {
464 var symbol = d.mx;
465 if (symbol === 'circle') return null;
466
467 var symbolPath, symbolSdf;
468 var symbolNumber = Drawing.symbolNumber(symbol);
469 var symbolFunc = Drawing.symbolFuncs[symbolNumber % 100];
470 var symbolNoDot = !!Drawing.symbolNoDot[symbolNumber % 100];
471 var symbolNoFill = !!Drawing.symbolNoFill[symbolNumber % 100];
472
473 var isDot = helpers.isDotSymbol(symbol);
474
475 // until we may handle angles in shader?
476 if (d.ma) symbol += '_' + d.ma;
477
478 // get symbol sdf from cache or generate it
479 if (SYMBOL_SDF[symbol]) return SYMBOL_SDF[symbol];
480
481 var angle = Drawing.getMarkerAngle(d, trace);
482 if (isDot && !symbolNoDot) {
483 symbolPath = symbolFunc(SYMBOL_SIZE * 1.1, angle) + SYMBOL_SVG_CIRCLE;
484 } else {
485 symbolPath = symbolFunc(SYMBOL_SIZE, angle);
486 }
487
488 symbolSdf = svgSdf(symbolPath, {
489 w: SYMBOL_SDF_SIZE,
490 h: SYMBOL_SDF_SIZE,
491 viewBox: [-SYMBOL_SIZE, -SYMBOL_SIZE, SYMBOL_SIZE, SYMBOL_SIZE],
492 stroke: symbolNoFill ? SYMBOL_STROKE : -SYMBOL_STROKE
493 });
494
495 SYMBOL_SDF[symbol] = symbolSdf;
496
497 return symbolSdf || null;
498}
499
500function convertLinePositions(gd, trace, positions) {
501 var len = positions.length;

Callers 1

convertMarkerStyleFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…