#! /usr/bin/python3 -t

PROG_DESC = "Outputs an SVG 'roadkill' diagram for said molecule"

import math; from math import sqrt,sin,cos,pi
import rn
import sys, os, re
import mformula
import mformula_oxocarbon; from mformula_oxocarbon import build_formula_COO_1neg
import mformula_svg


def image_name(style):
  fname = __file__
  imgname = re.sub(r'.*[/]', "", fname[0:-3]) + \
    "_style" + style
  return imgname

def image_descr(style):
  fname = __file__
  imgname = re.sub(r'.*[/]', "", fname[0:-3])
  descr = "Structural formula of " + re.sub(r'[_]', " ", imgname)
  descr += "\n" + \
    "\n" + \
    mformula_svg.style_descr(style)
  return descr

def build_formula(svg):

  fm = mformula.obj()

  fh = build_formula_half(svg)

  k0 = fm.add_subformula(fh, 0,   0, [0,0]) # Left half
  k1 = fm.add_subformula(fh, 0, 180, [0,0]) # Right half
  fm.add_bond(k0+0,k1+0,1.0)

  return fm

def image_name(style):
  fname = __file__
  imgname = re.sub(r'.*[/]', "", fname[0:-3]) + \
    "_style" + style
  return imgname

def image_descr(style):
  fname = __file__
  imgname = re.sub(r'.*[/]', "", fname[0:-3])
  descr = "Structural formula of " + re.sub(r'[_]', " ", imgname)
  descr += "\n" + \
    "\n" + \
    mformula_svg.style_descr(style)
  return descr

def build_formula_half(svg) :

  fh = mformula.obj()

  cb = svg.rel_bond_length(1.0) # Relative length of C-C bond.

  # Atom centers:
  p0 = [+0.5*cb,0]                      # Carbon.

  fg = build_formula_COO_1neg(svg,130)
  k0 = fh.add_subformula(fg, 0, 0, p0)

  return fh

