parameters: (self,chaintree,lang=None)
return_statement: return CodeGenerators[lang](kinematicshash=self.kinematicshash,version=__version__,iktypestr=self._iktype).generate(chaintree)
docstring: write the ast into a specific langauge, prioritize c++
docstring_summary: write the ast into a specific langauge, prioritize c++
docstring_tokens: write the ast into a specific langauge prioritize c ++
function: def writeIkSolver(self,chaintree,lang=None):
          """write the ast into a specific langauge, prioritize c++
          """
          if lang is None:
              if CodeGenerators.has_key('cpp'):
                  lang = 'cpp'
              else:
                  lang = next(iter(CodeGenerators.keys()))
          log.info('generating %s code...'%lang)
          return CodeGenerators[lang](kinematicshash=self.kinematicshash,version=__version__,iktypestr=self._iktype).generate(chaintree)
function_tokens: def writeIkSolver ( self , chaintree , lang = None ) : if lang is None : if CodeGenerators . has_key ( 'cpp' ) : lang = 'cpp' else : lang = next ( iter ( CodeGenerators . keys ( ) ) ) log . info ( 'generating %s code...' % lang ) return CodeGenerators [ lang ] ( kinematicshash = self . kinematicshash , version = __version__ , iktypestr = self . _iktype ) . generate ( chaintree )