QdObject_var QuGetVectorXYZ(QdObject_var dov) 
This returns a QdObject_var of the same underlying type as the input 
 object, but as a cartesian xyz representation. It returns the input
 object if it is already in cartesian. It uses Qu_is3Vector() to ensure
 input is a vector with well defined representation and frame. Returns
 null var pointer (test with is_nil() ) if a cartesian vector cannot 
 be constructed. It is used to protect cartesian routines
 against polar input representations. e.g.
 
  #include "Qdos.h"
  #include "QdUtils.h"
  
  QdObject_var vec_xyz = QuGetVectorXYZ((QdObject_var)vec_in);
  QdRMatrixSeq_var vecSeq = QdRMatrixSeq_var::narrow(vec_xyz);
  if ( vecSeq.is_nil() ) return QPLUG_FAILURE;