#! /usr/bin/python3

import mformula, mformula_svg
import math; from math import sqrt,sin,cos,pi
import rn

def image_name(style):
  return "basic_test_style" + style
  
def image_descr(style):
  return \
    """Basic test of {mformula}.
    
    """ + \
    mformula_svg.style_descr(style)

def build_formula(svg):
  fm = mformula.obj()
  
  kC =  fm.add_atom('C', [00.0, 00.0], 00,00)
  kN =  fm.add_atom('N', [+1.0, 00.0], +1, 1)
  kO =  fm.add_atom('O', [+1.7, +0.7], -1, 2)
  kS =  fm.add_atom('S', [+1.7, -0.7], -1, 2)
  kP =  fm.add_atom('P', [+2.4, 00.0], +3, 1)
  kH1 = fm.add_atom('H', [+2.9, +0.5], -3, 2)
  kH2 = fm.add_atom('H', [+2.9, -0.5], -3, 2)
  kz1 = fm.add_atom('.', [+0.5, +0.3], 00, 0)
  kz2 = fm.add_atom('.', [+0.5, -0.3], 00, 0)
  
  fm.add_bond(kC,kN,3.0)
  fm.add_bond(kN,kO,2.0)
  fm.add_bond(kN,kS,1.0)
  fm.add_bond(kO,kP,0.5)
  fm.add_bond(kS,kP,1.5)
  fm.add_bond(kP,kH1,2.5)
  fm.add_bond(kP,kH2,3.5)
  fm.add_bond(kz1,kz2,1)
  
  fm.add_label('X', [+0.5, 00.0],                           1.00, True,  [1,0,1])
  fm.add_label('A', rn.add(fm.atom_ctr[kO][0:2], [0,+0.3]), 0.50, False, [0,0.3,1])
  fm.add_label('B', rn.add(fm.atom_ctr[kS][0:2], [0,-0.3]), 0.75, True,  [0,0.3,1])
  
  return fm
