#include <igtlTransformMessage.h>
Public Types | |
enum | { UNPACK_UNDEF = 0x0000, UNPACK_HEADER = 0x0001, UNPACK_BODY = 0x0002 } |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef TransformMessage | Self |
typedef MessageBase | Superclass |
Public Member Functions | |
void | AllocatePack () |
int | Copy (const MessageBase *mb) |
virtual LightObject::Pointer | CreateAnother () const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
virtual void | Delete () |
int | GetBodySizeToRead () |
const char * | GetBodyType () |
bool | GetDebug () const |
const char * | GetDeviceName () |
const char * | GetDeviceType () |
void | GetMatrix (Matrix4x4 &mat) |
virtual const char * | GetNameOfClass () const |
void | GetNormals (float o[3][3]) |
void | GetNormals (float t[3], float s[3], float n[3]) |
void * | GetPackBodyPointer () |
int | GetPackBodySize () |
void * | GetPackPointer () |
int | GetPackSize () |
void | GetPosition (float p[3]) |
void | GetPosition (float *px, float *py, float *pz) |
virtual int | GetReferenceCount () const |
int | GetTimeStamp (unsigned int *sec, unsigned int *frac) |
void | GetTimeStamp (igtl::TimeStamp::Pointer &ts) |
igtlNewMacro (igtl::TransformMessage) | |
igtlNewMacro (igtl::MessageBase) | |
igtlTypeMacro (igtl::TransformMessage, igtl::MessageBase) | |
igtlTypeMacro (Object, LightObject) | |
void | InitPack () |
virtual int | Pack () |
void | Print (std::ostream &os) const |
virtual void | Register () const |
void | SetDebug (bool debugFlag) const |
void | SetDeviceName (const char *name) |
void | SetMatrix (Matrix4x4 &mat) |
virtual int | SetMessageHeader (const MessageHeader *mb) |
void | SetNormals (float o[3][3]) |
void | SetNormals (float t[3], float s[3], float n[3]) |
void | SetPosition (float p[3]) |
void | SetPosition (float px, float py, float pz) |
virtual void | SetReferenceCount (int) |
int | SetTimeStamp (unsigned int sec, unsigned int frac) |
void | SetTimeStamp (igtl::TimeStamp::Pointer &ts) |
int | Unpack (int crccheck=0) |
virtual void | UnRegister () const |
Static Public Member Functions | |
static void | BreakOnError () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
Protected Member Functions | |
virtual void | AllocatePack (int bodySize) |
int | CopyBody (const MessageBase *mb) |
int | CopyHeader (const MessageBase *mb) |
virtual int | GetBodyPackSize () |
virtual int | PackBody () |
virtual void | PrintSelf (std::ostream &os) const |
TransformMessage () | |
virtual int | UnpackBody () |
~TransformMessage () | |
virtual void | PrintHeader (std::ostream &os) const |
virtual void | PrintTrailer (std::ostream &os) const |
Protected Attributes | |
unsigned char * | m_Body |
int | m_BodySizeToRead |
std::string | m_BodyType |
std::string | m_DefaultBodyType |
std::string | m_DeviceName |
unsigned char * | m_Header |
int | m_IsBodyUnpacked |
int | m_IsHeaderUnpacked |
int | m_PackSize |
volatile int | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
unsigned int | m_TimeStampSec |
unsigned int | m_TimeStampSecFraction |
unsigned char * | m_Transform |
Matrix4x4 | matrix |
The TRANSFORM data type is used to transfer a homogeneous linear transformation in 4-by-4 matrix form. One such matrix was shown earlier in equation (1). Note that if a device is sending only translation and rotation, then TRANSFORM is equivalent to POSITION. But TRANSFORM can also be used to transfer affine transformations or simple scaling. Like IMAGE and POSITION, TRANSFORM carries information about the coordinate system used.
Definition at line 50 of file igtlTransformMessage.h.
typedef SmartPointer<const Self> igtl::TransformMessage::ConstPointer |
Definition at line 58 of file igtlTransformMessage.h.
Definition at line 57 of file igtlTransformMessage.h.
Definition at line 55 of file igtlTransformMessage.h.
Definition at line 56 of file igtlTransformMessage.h.
|
inherited |
Unpack status. They are returned by the Unpack() function.
Enumerator | |
---|---|
UNPACK_UNDEF | |
UNPACK_HEADER | |
UNPACK_BODY |
Definition at line 68 of file igtlMessageBase.h.
|
protected |
|
protected |
|
inherited |
AllocatePack() allocates memory for packing / receiving buffer.
|
protectedvirtualinherited |
Allocates memory specifying the body size. This function is used when creating a brank package to receive data)
Reimplemented in igtl::ImageMessage2.
|
staticinherited |
This method is called when igtlExceptionMacro executes. It allows the debugger to break on error.
|
inherited |
Copy() copies contents from the specified Massage class. If the type of the specified class is the same as this class, both general header and body are copied. Otherwise, only general header is copied.
|
protectedinherited |
Copies the serialized body data.
|
protectedinherited |
Copies a header from.
|
virtualinherited |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from igtl::LightObject.
|
virtualinherited |
Turn debugging output off.
|
virtualinherited |
Turn debugging output on.
|
virtualinherited |
Delete an igtl object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
|
protectedvirtual |
Gets the size of the serialized body.
Reimplemented from igtl::MessageBase.
|
inlineinherited |
GetBodySizeToRead() returns the size of the body to be read. This function must be called after the message header is set.
Definition at line 151 of file igtlMessageBase.h.
|
inlineinherited |
GetBodyType() gets the type of the body.
Definition at line 130 of file igtlMessageBase.h.
|
inherited |
Get the value of the debug flag.
|
inherited |
Gets the device (message) name.
|
inherited |
Gets the device (message) type.
|
staticinherited |
This is a global flag that controls whether any debug, warning or error messages are displayed.
void igtl::TransformMessage::GetMatrix | ( | Matrix4x4 & | mat | ) |
Sets rotation matrix using igtl::Matrix4x4.
|
inlinevirtualinherited |
Return the name of this class as a string. Used by the object factory (implemented in New()) to instantiate objects of a named type. Also used for debugging and other output information.
Definition at line 84 of file igtlLightObject.h.
void igtl::TransformMessage::GetNormals | ( | float | o[3][3] | ) |
Gets normal vectors (or a rotation matrix) in the RAS coordinate system.
void igtl::TransformMessage::GetNormals | ( | float | t[3], |
float | s[3], | ||
float | n[3] | ||
) |
Gets normal vectors (or a rotation matrix) in the RAS coordinate system.
|
inherited |
Gets a pointer to the raw byte array for the serialized body data.
|
inherited |
Gets the size of the serialized body data.
|
inherited |
Gets a pointer to the raw byte array for the serialized data including the header and the body.
|
inherited |
Gets the size of the serialized data.
void igtl::TransformMessage::GetPosition | ( | float | p[3] | ) |
Gets a position (or a translation vector) in the RAS coordinate system.
void igtl::TransformMessage::GetPosition | ( | float * | px, |
float * | py, | ||
float * | pz | ||
) |
Gets a position (or a translation vector) in the RAS coordinate system.
|
inlinevirtualinherited |
Gets the reference count on this object.
Definition at line 110 of file igtlLightObject.h.
|
inherited |
Gets time of message creation. 'sec' and 'frac' are seconds and fractions of a second respectively.
|
inherited |
Gets time of message creation.
|
inlinestaticinherited |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 116 of file igtlObject.h.
References igtl::Object::SetGlobalWarningDisplay().
|
inlinestaticinherited |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 114 of file igtlObject.h.
References igtl::Object::SetGlobalWarningDisplay().
igtl::TransformMessage::igtlNewMacro | ( | igtl::TransformMessage | ) |
|
inherited |
igtl::TransformMessage::igtlTypeMacro | ( | igtl::TransformMessage | , |
igtl::MessageBase | |||
) |
|
inherited |
Standard part of all igtl objects.
|
inherited |
Call InitPack() before receive header. This function simply resets the Unpacked flag for both the header and body pack.
|
staticinherited |
Method for creation through the object factory.
|
virtualinherited |
Pack() serializes the header and body based on the member variables. PackBody() must be implemented in the child class.
Reimplemented in igtl::ImageMessage2.
|
protectedvirtual |
Packs (serialize) the body. Must be implemented in a child class.
Reimplemented from igtl::MessageBase.
|
inherited |
Cause the object to print itself out.
|
protectedvirtualinherited |
|
protectedvirtualinherited |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from igtl::LightObject.
Reimplemented in igtl::MultiThreader, igtl::MutexLock, igtl::ObjectFactoryBase, igtl::Socket, igtl::FastMutexLock, igtl::TimeStamp, igtl::ServerSocket, and igtl::ClientSocket.
|
protectedvirtualinherited |
|
virtualinherited |
Return this objects modified time. Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data. Increase the reference count (mark as used by another object).
Reimplemented from igtl::LightObject.
|
inherited |
Set the value of the debug flag. A non-zero value turns debugging on.
|
inherited |
Sets the device (message) name.
|
staticinherited |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Referenced by igtl::Object::GlobalWarningDisplayOff(), and igtl::Object::GlobalWarningDisplayOn().
void igtl::TransformMessage::SetMatrix | ( | Matrix4x4 & | mat | ) |
Sets rotation matrix using igtl::Matrix4x4.
|
inlinevirtualinherited |
Sets the message header.
Reimplemented in igtl::PositionMessage.
Definition at line 147 of file igtlMessageBase.h.
void igtl::TransformMessage::SetNormals | ( | float | o[3][3] | ) |
Sets normal vectors (or a rotation matrix) in the RAS coordinate system.
void igtl::TransformMessage::SetNormals | ( | float | t[3], |
float | s[3], | ||
float | n[3] | ||
) |
Sets normal vectors (or a rotation matrix) in the RAS coordinate system.
void igtl::TransformMessage::SetPosition | ( | float | p[3] | ) |
Sets a position (or a translation vector) in the RAS coordinate system.
void igtl::TransformMessage::SetPosition | ( | float | px, |
float | py, | ||
float | pz | ||
) |
Sets a position (or a translation vector) in the RAS coordinate system.
|
virtualinherited |
Sets the reference count (use with care)
Reimplemented from igtl::LightObject.
|
inherited |
Sets time of message creation. 'sec' and 'frac' are seconds and fractions of a second respectively.
|
inherited |
Sets time of message creation.
|
inherited |
Unpack() deserializes the header and/or body, extracting data from the byte stream. If the header has already been deserilized, Unpack() deserializes only the body part. UnpackBody() must be implemented to deserialize the body part. Unpack() performs 64-bit CRC check, when crccheck = 1. It returns:
UNPACK_UNDEF : Nothing deserialized UNPACK_HEADER : The header has been deserialized. UNPACK_BODY : The body has been deserialized. If CRC check fails, Unpack() doesn't deserialize the body, thus it doesn't return UNPACK_BODY flag. UNPACK_HEADER|UNPACK_BODY: Both the header and body have been deserialized
|
protectedvirtual |
Unpacks (deserialize) the body. Must be implemented in a child class.
Reimplemented from igtl::MessageBase.
|
virtualinherited |
Decrease the reference count (release by another object).
Reimplemented from igtl::LightObject.
|
protectedinherited |
A pointer to the byte array for the serialized body. To prevent large copy of the byte array in the Pack() function, header byte array is concatinated to the byte array for the header.
Definition at line 187 of file igtlMessageBase.h.
|
protectedinherited |
The size of the body to be read. This function must be called after the message header is set.
Definition at line 191 of file igtlMessageBase.h.
|
protectedinherited |
A character string for the device type (message type). This will be used when the header is desrialized from a byte stream received from the network.
Definition at line 198 of file igtlMessageBase.h.
|
protectedinherited |
A character string for the default device type (message type).
Definition at line 194 of file igtlMessageBase.h.
|
protectedinherited |
A character string for the device name (message name).
Definition at line 201 of file igtlMessageBase.h.
|
protectedinherited |
A pointer to the byte array for the serialized header. To prevent large copy of the byte array in the Pack() function, header byte array is concatinated to the byte array for the body.
Definition at line 182 of file igtlMessageBase.h.
|
protectedinherited |
Unpacking (desrialization) status for the body (0: – 1: unpacked).
Definition at line 215 of file igtlMessageBase.h.
|
protectedinherited |
Unpacking (desrialization) status for the header (0: – 1: unpacked).
Definition at line 212 of file igtlMessageBase.h.
|
protectedinherited |
Definition at line 177 of file igtlMessageBase.h.
|
mutableprotectedinherited |
Number of uses of this object by other objects.
Definition at line 131 of file igtlLightObject.h.
|
mutableprotectedinherited |
Mutex lock to protect modification to the reference count
Definition at line 134 of file igtlLightObject.h.
|
protectedinherited |
A time stamp (second) for message creation. It consists of fields for seconds (m_TimeStampSec)and franctions of a second (m_TimeStampSecFraction).
Definition at line 205 of file igtlMessageBase.h.
|
protectedinherited |
A time stamp (second) for message creation. It consists of fields for seconds (m_TimeStampSec)and franctions of a second (m_TimeStampSecFraction).
Definition at line 209 of file igtlMessageBase.h.
|
protected |
The byte array for the serialized transform data.
Definition at line 110 of file igtlTransformMessage.h.
|
protected |
The transformation matrix.
Definition at line 107 of file igtlTransformMessage.h.