| 678 | |
| 679 | |
| 680 | void MeshTransform::printTransforms(std::ostream& out, |
| 681 | const std::string& indent) const { |
| 682 | for (unsigned int i = 0; i < transforms.size(); i++) { |
| 683 | const TransformData& transform = transforms[i]; |
| 684 | const fvec4& d = transform.data; |
| 685 | switch (transform.type) { |
| 686 | case ShiftTransform: { |
| 687 | out << indent << " shift " |
| 688 | << d[0] << " " << d[1] << " " << d[2] << std::endl; |
| 689 | break; |
| 690 | } |
| 691 | case ScaleTransform: { |
| 692 | out << indent << " scale " |
| 693 | << d[0] << " " << d[1] << " " << d[2] << std::endl; |
| 694 | break; |
| 695 | } |
| 696 | case ShearTransform: { |
| 697 | out << indent << " shear " |
| 698 | << d[0] << " " << d[1] << " " << d[2] << std::endl; |
| 699 | break; |
| 700 | } |
| 701 | case SpinTransform: { |
| 702 | const float degrees = (float)(d[3] * (180.0 / M_PI)); |
| 703 | out << indent << " spin " << degrees << " " |
| 704 | << d[0] << " " << d[1] << " " << d[2] << std::endl; |
| 705 | break; |
| 706 | } |
| 707 | case IndexTransform: { |
| 708 | const MeshTransform* xform = TRANSFORMMGR.getTransform(transform.index); |
| 709 | if (xform != NULL) { |
| 710 | out << indent << " xform "; |
| 711 | if (xform->getName().size() > 0) { |
| 712 | out << xform->getName(); |
| 713 | } |
| 714 | else { |
| 715 | out << transform.index; |
| 716 | } |
| 717 | out << std::endl; |
| 718 | } |
| 719 | break; |
| 720 | } |
| 721 | default: { |
| 722 | break; |
| 723 | } |
| 724 | } |
| 725 | } |
| 726 | return; |
| 727 | } |
| 728 | |
| 729 | |
| 730 | // Local Variables: *** |