Align 3D models along vector

I want to align 3d Model along some vector, but its not working in cesium. I am using following methods to get modelMatrix for model:

function getModelMatrix(currentPosition,nextPosition) {

   var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(currentPosition);
    var Va = new Cesium.Cartesian3(1.0, 0.0, 0.0);
    var Vw = Cesium.Cartesian3.normalize(Cesium.Cartesian3.subtract(nextPosition, currentPosition));
    var Vr = Cesium.Cartesian3.cross(Va, Vw);

    var Or = Math.acos(, Vw));
    var Qr = Cesium.Quaternion.normalize( Cesium.Quaternion.fromAxisAngle(Vr, Or));
    var currentModelMatrix = Cesium.Matrix4.multiply(modelMatrix, Cesium.Matrix4.fromRotationTranslation(Cesium.Matrix3.fromQuaternion(Qr), Cesium.Cartesian3.ZERO));
    return currentModelMatrix;

I am using following code placed model in cesium:

var currentModelMatrix = getBMModelMatrix(new Cesium.Cartesian3(303065.877, 5959040.199, 2246066.299), new Cesium.Cartesian3(293234.532, 6024480.298, 2235076.383));

            url: entity.modelAttributes.model3D,
            modelMatrix: currentModelMatrix,
            show: ( ? : true),
            scale: entity.modelAttributes.scale ? entity.modelAttributes.scale : 1.0

but Model is not align to joining line of currentPosition and nextPosition.