parameters: (axis,ref_direction,)
return_statement: return [d2,normalise(cross_product(d1,d2)).orientation,d1]
docstring: :param axis
  	:type axis:direction
  	:param ref_direction
  	:type ref_direction:direction
docstring_summary: :param axis
  	:type axis:direction
  	:param ref_direction
  	:type ref_direction:direction
docstring_tokens: : param axis : type axis : direction : param ref_direction : type ref_direction : direction
function: def build_axes(axis,ref_direction,):
  	'''
  	:param axis
  	:type axis:direction
  	:param ref_direction
  	:type ref_direction:direction
  	'''
  	d1 = NVL(normalise(axis),dummy_gri  ==  direction([0,0,1]))
  	d2 = first_proj_axis(d1,ref_direction)
  	return [d2,normalise(cross_product(d1,d2)).orientation,d1]
function_tokens: def build_axes ( axis , ref_direction , ) : d1 = NVL ( normalise ( axis ) , dummy_gri == direction ( [ 0 , 0 , 1 ] ) ) d2 = first_proj_axis ( d1 , ref_direction ) return [ d2 , normalise ( cross_product ( d1 , d2 ) ) . orientation , d1 ]