resolveOrbState function

ResolvedOrbState resolveOrbState(
  1. MorphOrbState state,
  2. double size, {
  3. MorphOrbVariant? variant,
  4. double density = 1,
  5. double dotScale = 1,
})

Implementation

ResolvedOrbState resolveOrbState(
  MorphOrbState state,
  double size, {
  MorphOrbVariant? variant,
  double density = 1,
  double dotScale = 1,
}) {
  final spec = OrbStateSpec.of(state, variant);
  final preset = _presetFor(spec.kind, size);
  var profile = _kBaseProfiles[spec.kind]!
      .scaleCounts(preset.count * math.max(0.1, density))
      .scaleRadii(preset.size * math.max(0.1, dotScale));
  profile = profile.copyWith(
    speed: preset.speed * spec.speedMul,
    bandMul: preset.bandMul,
    wobMul: preset.wobMul * spec.wobMul,
    spin: preset.spin,
  );
  return ResolvedOrbState(
    state: state,
    spec: spec,
    geometry: _kGeometries[spec.kind]!,
    profile: profile,
  );
}