Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

igtlTransformMessage.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Open IGT Link Library
00004   Module:    $HeadURL: http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlTransformMessage.h $
00005   Language:  C++
00006   Date:      $Date: 2008-12-22 19:05:42 -0500 (Mon, 22 Dec 2008) $
00007   Version:   $Revision: 3460 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010 
00011   This software is distributed WITHOUT ANY WARRANTY; without even
00012   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00013   PURPOSE.  See the above copyright notices for more information.
00014 
00015 =========================================================================*/
00016 
00017 #ifndef __igtlTransformMessage_h
00018 #define __igtlTransformMessage_h
00019 
00020 #include "igtlObject.h"
00021 //#include "igtlMacros.h"
00022 #include "igtlMath.h"
00023 #include "igtlMessageBase.h"
00024 
00025 namespace igtl
00026 {
00027 
00028 class IGTLCommon_EXPORT TransformMessage: public MessageBase
00029 {
00030 
00031 public:
00032 
00033   typedef TransformMessage               Self;
00034   typedef MessageBase                    Superclass;
00035   typedef SmartPointer<Self>             Pointer;
00036   typedef SmartPointer<const Self>       ConstPointer;
00037 
00038   igtlTypeMacro(igtl::TransformMessage, igtl::MessageBase);
00039   igtlNewMacro(igtl::TransformMessage);
00040 
00041 
00042 public:
00043 
00044   void SetPosition(float p[3]);
00045   void GetPosition(float p[3]);
00046 
00047   void SetPosition(float px, float py, float pz);
00048   void GetPosition(float* px, float* py, float* pz);
00049 
00050   void SetNormals(float o[3][3]);
00051   void GetNormals(float o[3][3]);
00052 
00053   void SetNormals(float t[3], float s[3], float n[3]);
00054   void GetNormals(float t[3], float s[3], float n[3]);
00055 
00056   void SetMatrix(Matrix4x4& mat);
00057   void GetMatrix(Matrix4x4& mat);
00058 
00059 
00060 protected:
00061   TransformMessage();
00062   ~TransformMessage();
00063   
00064 protected:
00065 
00066   virtual int  GetBodyPackSize();
00067   virtual int  PackBody();
00068   virtual int  UnpackBody();
00069   
00070   Matrix4x4 matrix;
00071 
00072   unsigned char*  m_Transform;
00073 
00074 };
00075 
00076 
00077 } // namespace igtl
00078 
00079 #endif // _igtlTransformMessage_h
00080 
00081 
00082 
00083 

Generated at Tue May 11 19:42:18 2010 for OpenIGTLink by doxygen 1.6.3 written by Dimitri van Heesch, © 1997-2000