H3DNetworkingUtils::RemoteField Class Reference

The RemoteField class is an abstract base class which which writes to and reads from a network connection. More...

#include <H3DNetworkingUtils/RemoteField.h>

Inheritance diagram for H3DNetworkingUtils::RemoteField:

Inheritance graph

List of all members.

Public Member Functions

virtual void traverseSG (H3D::TraverseInfo &ti)
bool isConnected () const
 Returns true if a connection is active.
virtual void readValue ()=0
 Read the parts of a field's value into the received field.

Public Attributes

auto_ptr< H3D::SFInt32 > fieldId
 The id of the field, which should have a matching field on the other machine
access type: initializeOnly
basic type: SFInt32
default value: 0.
auto_ptr< H3D::SFFloat > printPeriod
 Used for prinitng statistics
access type: initializeOnly
basic type: SFFloat
default value: 0.0.
auto_ptr< H3D::SFBool > sendOnceOnConnect
 If false, (and if periodic send if false), values will only be sent across the network when they change
If true, they will also be sent as soon as connection is estanlished
access type: inputOutput
basic type: SFBool
default value: false.
auto_ptr< Enabled > enabled
 Switches the remote field on
access type: inputOutput
basic type: SFBool
default value: TRUE.
auto_ptr< H3D::SFBool > bufferReceivedVals
 If TRUE, values received on the network are immediately buffered and released to the scenegraph field network according to bufferStrategy
access type: inputOutput
basic type: SFBool
default value: FALSE.
auto_ptr< H3D::SFString > bufferStrategy
 bufferStratgey is part of a mechanism to make sure that if two machines run at different frame rates, values can be assured to be all seen on the slow machine if necessary
It can be set to be:
"NONE" : no bufferring, only the most recent value is seen on the receiving machine
if the receiving machine is slower than the sender, the sender may send several values during a reciver's single graphics cycle and only the most recent is used
"SET_ONE_PER_CYCLE" : the received values are buffered and then released (ie setValue() is called) on the output field once per graphics cycle
This ensures that each graphics cycle 'sees' a new received value that was sent on each of the sender's graphics cycles
"SET_ALL" : the received values are buffered and then released (ie setValue() is called) repeatedly until the buffer is empty during a single graphics cycle
This means that setValue() gets called for each received value, but they are not spaced out,
one per graphics cycle
If you are not routing to an AutoUpdate field, these setValue()'s may not be noticed
access type: inputOutput
basic type: SFString
default value: "NONE"
auto_ptr< H3D::SFTime > remoteTimestamp
 A received time stamp
access type: outputOnly
basic type: SFTime
default value:.
auto_ptr< H3D::SFBool > timestamps
 If true, a timestamp value is sent
access type: inputOutput
basic type: SFBool
default value: FALSE.
auto_ptr< H3D::SFBool > isHapticField
 If you are routing to fields in the scenegraph which are used in the haptics thread set this to true
Never route to fields handled in both haptics and graphics threads
access type: inputOutput
basic type: SFBool
default value: FALSE.
RemoteConnectionconP
 The connection node in which this field exists.


Detailed Description

The RemoteField class is an abstract base class which which writes to and reads from a network connection.

This allows fields to update due to changes to a field on a different machine. This is an abstract class, and is instantiated in the RemoteSF<T> template class.


Member Function Documentation

void RemoteField::traverseSG ( H3D::TraverseInfo &  ti  )  [virtual]

cout << (int)this << " adding" << endl;

References isHapticField.

virtual void H3DNetworkingUtils::RemoteField::readValue (  )  [pure virtual]


Member Data Documentation


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

Generated on Fri Mar 12 10:23:08 2010 for H3DNetworkingUtils by  doxygen 1.5.6