function retval = ParseRigidBodyResults (CableDObjectName)

retval.t = CableDObjectName.results(:,1);
retval.n_elements = size(CableDObjectName.tensions,2)-1;
retval.n_nodes = retval.n_elements+1;

%Compute node distance along cable
retval.Unstretched_Node_s = [0 cumsum(CableDObjectName.lengths(1,2:end))];
%retval.Stretched_Node_s = [0 cumsum(CableDObjectName.lengthsStretched(1,2:end))];


retval.Xdot = CableDObjectName.results(:,2:6:end-2);
retval.X  = CableDObjectName.results(:,3:6:end-2);
retval.Ydot = CableDObjectName.results(:,4:6:end-2);
retval.Y  = CableDObjectName.results(:,5:6:end-2);
retval.Zdot = CableDObjectName.results(:,6:6:end-2);
retval.Z  = CableDObjectName.results(:,7:6:end-2);


retval.MeanX = mean(retval.X,1);
retval.MeanY = mean(retval.Y,1);
retval.MeanZ = mean(retval.Z,1);

%Evaluate Tension at Nodes
retval.ElementTensions_s =  CableDObjectName.tensions(:,2:end);

retval.NodeTensions_s(:,1) = (CableDObjectName.reactionLoads(:,2).^2+CableDObjectName.reactionLoads(:,3).^2+CableDObjectName.reactionLoads(:,4).^2).^.5;
for i = 2:retval.n_elements 
  retval.NodeTensions_s(:,i) = max(CableDObjectName.tensions(:,i-1),CableDObjectName.tensions(:,i));
end
retval.NodeTensions_s(:,retval.n_elements+1) = (CableDObjectName.reactionLoads(:,8).^2+CableDObjectName.reactionLoads(:,9).^2+CableDObjectName.reactionLoads(:,10).^2).^.5;


retval.Node0HorizForce = (CableDObjectName.reactionLoads(:,2).^2+CableDObjectName.reactionLoads(:,3).^2).^.5;
retval.Node0VertForce = CableDObjectName.reactionLoads(:,4);
retval.NodeNHorizForce = (CableDObjectName.reactionLoads(:,8).^2+CableDObjectName.reactionLoads(:,9).^2).^.5;
retval.NodeNVertForce = CableDObjectName.reactionLoads(:,10);




retval.epsilon = (CableDObjectName.lengthsStretched(:,2:end)-CableDObjectName.lengths(:,2:end))./CableDObjectName.lengths(:,2:end);

%retval.submergenceProbe = CableDObjectName.submergenceProbe(:,2);


