#include "Wm4Matrix3.h"
#include "Wm4Matrix4.h"
#include "Wm4Plane3.h"
#include "Wm4Quaternion.h"
#include "OMKTracer.h"
#include <iostream>
Include dependency graph for OMKTransform.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | OMK |
namespace | OMK::Type |
Classes | |
class | OMK::Type::Transform |
Type Transform. More... | |
Functions | |
Friend stream operators. | |
OMK_API std::ostream & | operator<< (std::ostream &out, const OMK::Type::Transform &q) |
stream operator for ostream. | |
OMK_API std::istream & | operator>> (std::istream &in, OMK::Type::Transform &q) |
stream operator for istream. | |
OMK_API OMK::OutgoingSynchronisationMessage & | operator<< (OMK::OutgoingSynchronisationMessage &out, const OMK::Type::Transform &q) |
stream operator for OutgoingSynchronisationMessage. | |
OMK_API OMK::IncomingSynchronisationMessage & | operator>> (OMK::IncomingSynchronisationMessage &in, OMK::Type::Transform &q) |
stream operator for IncomingSynchronisationMessage. |
OMK_API OMK::OutgoingSynchronisationMessage& operator<< | ( | OutgoingSynchronisationMessage & | out, | |
const Transform & | q | |||
) |
stream operator for OutgoingSynchronisationMessage.
Use by SimpleTypeT::pack.
Definition at line 682 of file OMKTransform.cpp.
References OMK::Type::Transform::getRotate(), OMK::Type::Transform::getScale(), OMK::Type::Transform::getTranslate(), OMK::Type::Transform::isIdentity(), and OMK::Type::Transform::isUniformScale().
00683 { 00684 out << q.isIdentity() ; 00685 if( !q.isIdentity() ) 00686 { 00687 out << q.isUniformScale() 00688 << q.getTranslate().X() 00689 << q.getTranslate().Y() 00690 << q.getTranslate().Z() 00691 << q.getRotate()( 0, 0 ) 00692 << q.getRotate()( 0, 1 ) 00693 << q.getRotate()( 0, 2 ) 00694 << q.getRotate()( 1, 0 ) 00695 << q.getRotate()( 1, 1 ) 00696 << q.getRotate()( 1, 2 ) 00697 << q.getRotate()( 2, 0 ) 00698 << q.getRotate()( 2, 1 ) 00699 << q.getRotate()( 2, 2 ) 00700 << q.getScale().X() 00701 << q.getScale().Y() 00702 << q.getScale().Z() ; 00703 } 00704 return out; 00705 }
OMK_API std::ostream& operator<< | ( | std::ostream & | out, | |
const Transform & | q | |||
) |
stream operator for ostream.
Use by SimpleTypeT::insertInStream.
Definition at line 613 of file OMKTransform.cpp.
References OMK::Type::Transform::getRotate(), OMK::Type::Transform::getScale(), OMK::Type::Transform::getTranslate(), OMK::Type::Transform::isIdentity(), and OMK::Type::Transform::isUniformScale().
00614 { 00615 out << q.isIdentity() << " " ; 00616 if( !q.isIdentity() ) 00617 { 00618 out << q.isUniformScale() << " " 00619 << q.getTranslate().X() << " " 00620 << q.getTranslate().Y() << " " 00621 << q.getTranslate().Z() << " " 00622 << q.getRotate()( 0, 0 ) << " " 00623 << q.getRotate()( 0, 1 ) << " " 00624 << q.getRotate()( 0, 2 ) << " " 00625 << q.getRotate()( 1, 0 ) << " " 00626 << q.getRotate()( 1, 1 ) << " " 00627 << q.getRotate()( 1, 2 ) << " " 00628 << q.getRotate()( 2, 0 ) << " " 00629 << q.getRotate()( 2, 1 ) << " " 00630 << q.getRotate()( 2, 2 ) << " " 00631 << q.getScale().X() << " " 00632 << q.getScale().Y() << " " 00633 << q.getScale().Z() << " " ; 00634 } 00635 out << " " ; 00636 return out; 00637 }
OMK_API OMK::IncomingSynchronisationMessage& operator>> | ( | IncomingSynchronisationMessage & | in, | |
Transform & | q | |||
) |
stream operator for IncomingSynchronisationMessage.
Use by SimpleTypeT::unpack.
Definition at line 710 of file OMKTransform.cpp.
References OMK::Type::Transform::resetToIdentity(), OMK::Type::Transform::setRotate(), OMK::Type::Transform::setScale(), OMK::Type::Transform::setTranslate(), and OMK::Type::Transform::setUniformScale().
00711 { 00712 bool isIdentity = false ; 00713 in >> isIdentity ; 00714 if( isIdentity ) 00715 { 00716 q.resetToIdentity() ; 00717 } 00718 else 00719 { 00720 bool isUniformScale ; 00721 Wm4::Vector3f translate ; 00722 Wm4::Matrix3f matrix ; 00723 Wm4::Vector3f scale ; 00724 in >> isUniformScale 00725 >> translate.X() 00726 >> translate.Y() 00727 >> translate.Z() 00728 >> matrix( 0, 0 ) 00729 >> matrix( 0, 1 ) 00730 >> matrix( 0, 2 ) 00731 >> matrix( 1, 0 ) 00732 >> matrix( 1, 1 ) 00733 >> matrix( 1, 2 ) 00734 >> matrix( 2, 0 ) 00735 >> matrix( 2, 1 ) 00736 >> matrix( 2, 2 ) 00737 >> scale.X() 00738 >> scale.Y() 00739 >> scale.Z() ; 00740 q.setTranslate( translate ) ; 00741 q.setRotate( matrix ) ; 00742 if( isUniformScale ) q.setUniformScale( scale.X() ) ; else q.setScale( scale ) ; 00743 } 00744 return in; 00745 }
OMK_API std::istream& operator>> | ( | std::istream & | in, | |
Transform & | q | |||
) |
stream operator for istream.
Use by SimpleTypeT::extract.
Definition at line 642 of file OMKTransform.cpp.
References OMK::Type::Transform::resetToIdentity(), OMK::Type::Transform::setRotate(), OMK::Type::Transform::setScale(), OMK::Type::Transform::setTranslate(), and OMK::Type::Transform::setUniformScale().
00643 { 00644 bool isIdentity = false ; 00645 in >> isIdentity ; 00646 if( isIdentity ) 00647 { 00648 q.resetToIdentity() ; 00649 } 00650 else 00651 { 00652 bool isUniformScale ; 00653 Wm4::Vector3f translate ; 00654 Wm4::Matrix3f matrix ; 00655 Wm4::Vector3f scale ; 00656 in >> isUniformScale 00657 >> translate.X() 00658 >> translate.Y() 00659 >> translate.Z() 00660 >> matrix( 0, 0 ) 00661 >> matrix( 0, 1 ) 00662 >> matrix( 0, 2 ) 00663 >> matrix( 1, 0 ) 00664 >> matrix( 1, 1 ) 00665 >> matrix( 1, 2 ) 00666 >> matrix( 2, 0 ) 00667 >> matrix( 2, 1 ) 00668 >> matrix( 2, 2 ) 00669 >> scale.X() 00670 >> scale.Y() 00671 >> scale.Z() ; 00672 q.setTranslate( translate ) ; 00673 q.setRotate( matrix ) ; 00674 if( isUniformScale ) q.setUniformScale( scale.X() ) ; else q.setScale( scale ) ; 00675 } 00676 return in; 00677 }
Documentation generated on Mon Jun 9 11:45:59 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |