vtkMRMLIGTLConnectorNode Class Reference

#include <vtkMRMLIGTLConnectorNode.h>

Inheritance diagram for vtkMRMLIGTLConnectorNode:
vtkMRMLNode vtkObject

List of all members.

Classes

struct  DeviceInfoType
struct  NodeInfoType

Public Types

enum  {
  ConnectedEvent = 118944, DisconnectedEvent = 118945, ActivatedEvent = 118946, DeactivatedEvent = 118947,
  ReceiveEvent = 118948, NewDeviceEvent = 118949
}
enum  { TYPE_NOT_DEFINED, TYPE_SERVER, TYPE_CLIENT, NUM_TYPE }
enum  { STATE_OFF, STATE_WAIT_CONNECTION, STATE_CONNECTED, NUM_STATE }
enum  { IO_UNSPECIFIED = 0x00, IO_INCOMING = 0x01, IO_OUTGOING = 0x02 }
typedef std::set< intDeviceIDSetType
typedef std::map< int,
DeviceInfoType
DeviceInfoMapType
typedef std::list
< vtkIGTLToMRMLBase * > 
MessageConverterListType
typedef std::map< std::string,
vtkIGTLToMRMLBase * > 
MessageConverterMapType
typedef std::vector
< vtkMRMLNode * > 
MRMLNodeListType
typedef std::vector< std::string > NameListType
typedef std::vector< NodeInfoTypeNodeInfoListType

Public Member Functions

virtual void Copy (vtkMRMLNode *node)
virtual vtkMRMLNodeCreateNodeInstance ()
vtkIGTLCircularBufferGetCircularBuffer (std::string &key)
vtkIGTLToMRMLBaseGetConverterByNodeID (const char *id)
int GetIGTLTimeStamp (vtkMRMLNode *node, int &second, int &nanosecond)
vtkMRMLNodeGetIncomingMRMLNode (unsigned int i)
virtual const charGetNodeTagName ()
unsigned int GetNumberOfIncomingMRMLNodes ()
unsigned int GetNumberOfOutgoingMRMLNodes ()
vtkMRMLNodeGetOutgoingMRMLNode (unsigned int i)
const charGetServerHostname ()
unsigned int GetUpdatedBuffersList (NameListType &nameList)
void ImportDataFromCircularBuffer ()
void ImportEventsFromEventBuffer ()
void LockIncomingMRMLNode (vtkMRMLNode *node)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData)
void PushNode (vtkMRMLNode *node)
virtual void ReadXMLAttributes (const char **atts)
int ReceiveController ()
NodeInfoTypeRegisterIncomingMRMLNode (vtkMRMLNode *node)
int RegisterMessageConverter (vtkIGTLToMRMLBase *converter)
int RegisterOutgoingMRMLNode (vtkMRMLNode *node, const char *devType=NULL)
int SendData (int size, unsigned char *data)
void SetCheckCRC (int c)
void SetServerHostname (std::string str)
void SetServerHostname (const char *str)
int SetTypeClient (std::string hostname, int port)
int SetTypeClient (char *hostname, int port)
int SetTypeServer (int port)
int Skip (int length, int skipFully=1)
int Start ()
int Stop ()
void UnlockIncomingMRMLNode (vtkMRMLNode *node)
void UnregisterIncomingMRMLNode (vtkMRMLNode *node)
void UnregisterMessageConverter (vtkIGTLToMRMLBase *converter)
void UnregisterOutgoingMRMLNode (vtkMRMLNode *node)
 vtkGetMacro (CheckCRC, int)
 vtkGetMacro (RestrictDeviceName, int)
 vtkGetMacro (State, int)
 vtkGetMacro (Type, int)
 vtkGetMacro (ServerPort, int)
 vtkSetMacro (RestrictDeviceName, int)
 vtkSetMacro (Type, int)
 vtkSetMacro (ServerPort, int)
 vtkTypeMacro (vtkMRMLIGTLConnectorNode, vtkMRMLNode)
int WaitForConnection ()
virtual void WriteXML (ostream &of, int indent)

Static Public Member Functions

static vtkMRMLIGTLConnectorNodeNew ()
static void * ThreadFunction (void *ptr)

Protected Member Functions

void operator= (const vtkMRMLIGTLConnectorNode &)
 vtkMRMLIGTLConnectorNode (const vtkMRMLIGTLConnectorNode &)
 vtkMRMLIGTLConnectorNode ()
 ~vtkMRMLIGTLConnectorNode ()

Private Types

typedef std::map< std::string,
vtkIGTLCircularBuffer * > 
CircularBufferMap

Private Member Functions

vtkIGTLToMRMLBaseGetConverterByIGTLDeviceType (const char *type)
vtkIGTLToMRMLBaseGetConverterByMRMLTag (const char *tag)
void RequestInvokeEvent (unsigned long eventId)

Private Attributes

CircularBufferMap Buffer
int CheckCRC
vtkMutexLock * CircularBufferMutex
std::list< unsigned long > EventQueue
vtkMutexLock * EventQueueMutex
MessageConverterMapType IGTLNameToConverterMap
DeviceIDSetType IncomingDeviceIDSet
NodeInfoListType IncomingMRMLNodeInfoList
MessageConverterListType MessageConverterList
MessageConverterMapType MRMLIDToConverterMap
vtkMutexLock * Mutex
std::string Name
DeviceIDSetType OutgoingDeviceIDSet
MRMLNodeListType OutgoingMRMLNodeList
int RestrictDeviceName
std::string ServerHostname
int ServerPort
igtl::ServerSocket::Pointer ServerSocket
int ServerStopFlag
igtl::ClientSocket::Pointer Socket
int State
vtkMultiThreader * Thread
int ThreadID
int Type
DeviceIDSetType UnspecifiedDeviceIDSet

Member Typedef Documentation

typedef std::map<std::string, vtkIGTLCircularBuffer*> vtkMRMLIGTLConnectorNode::CircularBufferMap [private]
typedef std::vector<std::string> vtkMRMLIGTLConnectorNode::NameListType

Member Enumeration Documentation

anonymous enum
Enumerator:
ConnectedEvent 
DisconnectedEvent 
ActivatedEvent 
DeactivatedEvent 
ReceiveEvent 
NewDeviceEvent 
anonymous enum
Enumerator:
TYPE_NOT_DEFINED 
TYPE_SERVER 
TYPE_CLIENT 
NUM_TYPE 
anonymous enum
Enumerator:
STATE_OFF 
STATE_WAIT_CONNECTION 
STATE_CONNECTED 
NUM_STATE 
anonymous enum
Enumerator:
IO_UNSPECIFIED 
IO_INCOMING 
IO_OUTGOING 

Constructor & Destructor Documentation

vtkMRMLIGTLConnectorNode::vtkMRMLIGTLConnectorNode (  )  [protected]
vtkMRMLIGTLConnectorNode::~vtkMRMLIGTLConnectorNode (  )  [protected]
vtkMRMLIGTLConnectorNode::vtkMRMLIGTLConnectorNode ( const vtkMRMLIGTLConnectorNode  )  [protected]

Member Function Documentation

void vtkMRMLIGTLConnectorNode::Copy ( vtkMRMLNode node  )  [virtual]
vtkMRMLNode * vtkMRMLIGTLConnectorNode::CreateNodeInstance (  )  [virtual]

Create instance of the default node. Like New only virtual NOTE: Subclasses should implement this method

Implements vtkMRMLNode.

References autoSlicerTracto2regions::ret.

vtkIGTLCircularBuffer * vtkMRMLIGTLConnectorNode::GetCircularBuffer ( std::string &  key  ) 

References Buffer.

Referenced by ImportDataFromCircularBuffer().

vtkIGTLToMRMLBase * vtkMRMLIGTLConnectorNode::GetConverterByIGTLDeviceType ( const char type  )  [private]
vtkIGTLToMRMLBase * vtkMRMLIGTLConnectorNode::GetConverterByMRMLTag ( const char tag  )  [private]
vtkIGTLToMRMLBase * vtkMRMLIGTLConnectorNode::GetConverterByNodeID ( const char id  ) 
int vtkMRMLIGTLConnectorNode::GetIGTLTimeStamp ( vtkMRMLNode node,
int second,
int nanosecond 
)
vtkMRMLNode * vtkMRMLIGTLConnectorNode::GetIncomingMRMLNode ( unsigned int  i  ) 
virtual const char* vtkMRMLIGTLConnectorNode::GetNodeTagName (  )  [inline, virtual]

Get node XML tag name (like Volume, Model) NOTE: Subclasses should implement this method

Implements vtkMRMLNode.

Referenced by vtkOpenIGTLinkIFGUI::ProcessMRMLEvents().

unsigned int vtkMRMLIGTLConnectorNode::GetNumberOfIncomingMRMLNodes (  ) 
unsigned int vtkMRMLIGTLConnectorNode::GetNumberOfOutgoingMRMLNodes (  ) 
vtkMRMLNode * vtkMRMLIGTLConnectorNode::GetOutgoingMRMLNode ( unsigned int  i  ) 
const char* vtkMRMLIGTLConnectorNode::GetServerHostname (  )  [inline]
unsigned int vtkMRMLIGTLConnectorNode::GetUpdatedBuffersList ( NameListType nameList  ) 

References Buffer.

Referenced by ImportDataFromCircularBuffer().

void vtkMRMLIGTLConnectorNode::ImportDataFromCircularBuffer (  ) 
void vtkMRMLIGTLConnectorNode::ImportEventsFromEventBuffer (  ) 
void vtkMRMLIGTLConnectorNode::LockIncomingMRMLNode ( vtkMRMLNode node  ) 
vtkMRMLIGTLConnectorNode * vtkMRMLIGTLConnectorNode::New (  )  [static]
void vtkMRMLIGTLConnectorNode::operator= ( const vtkMRMLIGTLConnectorNode  )  [protected]

Reimplemented from vtkMRMLNode.

void vtkMRMLIGTLConnectorNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)

Reimplemented from vtkMRMLNode.

void vtkMRMLIGTLConnectorNode::ProcessMRMLEvents ( vtkObject caller,
unsigned long  event,
void *  callData 
) [virtual]

method to propagate events generated in mrml

Reimplemented from vtkMRMLNode.

References MRMLIDToConverterMap, vtkIGTLToMRMLBase::MRMLToIGTL(), OutgoingMRMLNodeList, SendData(), and slicerget::size.

void vtkMRMLIGTLConnectorNode::PushNode ( vtkMRMLNode node  ) 
void vtkMRMLIGTLConnectorNode::ReadXMLAttributes ( const char **  atts  )  [virtual]

Set node attributes NOTE: Subclasses should implement this method NOTE: Call this method in the subclass impementation

Reimplemented from vtkMRMLNode.

References birnlexvis::port, SetTypeClient(), SetTypeServer(), type, TYPE_CLIENT, TYPE_NOT_DEFINED, and TYPE_SERVER.

int vtkMRMLIGTLConnectorNode::ReceiveController (  ) 
vtkMRMLIGTLConnectorNode::NodeInfoType * vtkMRMLIGTLConnectorNode::RegisterIncomingMRMLNode ( vtkMRMLNode node  ) 
int vtkMRMLIGTLConnectorNode::RegisterMessageConverter ( vtkIGTLToMRMLBase converter  ) 
int vtkMRMLIGTLConnectorNode::RegisterOutgoingMRMLNode ( vtkMRMLNode node,
const char devType = NULL 
)
void vtkMRMLIGTLConnectorNode::RequestInvokeEvent ( unsigned long  eventId  )  [private]

References EventQueue, and EventQueueMutex.

Referenced by ThreadFunction().

int vtkMRMLIGTLConnectorNode::SendData ( int  size,
unsigned char data 
)

References Socket.

Referenced by ProcessMRMLEvents().

void vtkMRMLIGTLConnectorNode::SetCheckCRC ( int  c  ) 
void vtkMRMLIGTLConnectorNode::SetServerHostname ( std::string  str  )  [inline]
void vtkMRMLIGTLConnectorNode::SetServerHostname ( const char str  )  [inline]
int vtkMRMLIGTLConnectorNode::SetTypeClient ( std::string  hostname,
int  port 
)
int vtkMRMLIGTLConnectorNode::SetTypeClient ( char hostname,
int  port 
)
int vtkMRMLIGTLConnectorNode::SetTypeServer ( int  port  ) 
int vtkMRMLIGTLConnectorNode::Skip ( int  length,
int  skipFully = 1 
)

References mathExample::n, and Socket.

Referenced by ReceiveController().

int vtkMRMLIGTLConnectorNode::Start (  ) 
int vtkMRMLIGTLConnectorNode::Stop (  ) 
void * vtkMRMLIGTLConnectorNode::ThreadFunction ( void *  ptr  )  [static]
void vtkMRMLIGTLConnectorNode::UnlockIncomingMRMLNode ( vtkMRMLNode node  ) 
void vtkMRMLIGTLConnectorNode::UnregisterIncomingMRMLNode ( vtkMRMLNode node  ) 
void vtkMRMLIGTLConnectorNode::UnregisterMessageConverter ( vtkIGTLToMRMLBase converter  ) 
void vtkMRMLIGTLConnectorNode::UnregisterOutgoingMRMLNode ( vtkMRMLNode node  ) 
vtkMRMLIGTLConnectorNode::vtkGetMacro ( CheckCRC  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkGetMacro ( RestrictDeviceName  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkGetMacro ( State  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkGetMacro ( Type  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkGetMacro ( ServerPort  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkSetMacro ( RestrictDeviceName  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkSetMacro ( Type  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkSetMacro ( ServerPort  ,
int   
)
vtkMRMLIGTLConnectorNode::vtkTypeMacro ( vtkMRMLIGTLConnectorNode  ,
vtkMRMLNode   
)
int vtkMRMLIGTLConnectorNode::WaitForConnection (  ) 
void vtkMRMLIGTLConnectorNode::WriteXML ( ostream &  of,
int  indent 
) [virtual]

Write this node's information to a MRML file in XML format. NOTE: Subclasses should implement this method NOTE: Call this method in the subclass impementation

Reimplemented from vtkMRMLNode.

References RestrictDeviceName, ServerHostname, ServerPort, Type, TYPE_CLIENT, and TYPE_SERVER.


Member Data Documentation

std::list<unsigned long> vtkMRMLIGTLConnectorNode::EventQueue [private]
vtkMutexLock* vtkMRMLIGTLConnectorNode::Mutex [private]
std::string vtkMRMLIGTLConnectorNode::Name [private]

Reimplemented from vtkMRMLNode.

igtl::ServerSocket::Pointer vtkMRMLIGTLConnectorNode::ServerSocket [private]
igtl::ClientSocket::Pointer vtkMRMLIGTLConnectorNode::Socket [private]
vtkMultiThreader* vtkMRMLIGTLConnectorNode::Thread [private]

The documentation for this class was generated from the following files:

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1