Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Examples

ExtrapolatedProperty Class Reference

Use this Property subclass to store continusouly changing numerical values. More...

#include <vos/metaobjects/property/extrapolatedproperty.hh>

Inheritance diagram for ExtrapolatedProperty:

Property MetaObject ObjectExciseListener ExtrapolatedLocalProperty ExtrapolatedRemoteProperty List of all members.

Public Member Functions

Static Public Member Functions

Protected Types

Protected Member Functions

Protected Attributes

Static Protected Attributes


Detailed Description

Use this Property subclass to store continusouly changing numerical values.

Scalars and vectors can be used. The values are extrapolated by remote objects, avoiding the need for repeated update messages.

Todo:
remove interfaces for setting datatype, it should always be "text/x-vector-float".

document this class better, incl. write otd.

Definition at line 47 of file extrapolatedproperty.hh.


Member Typedef Documentation

typedef set<ExtrapolatedProperty*> ExtrapolatedProperty::AllExpSet [protected]
 

Definition at line 53 of file extrapolatedproperty.hh.

typedef set<ExtrapolatedPropertyListener*, ExtrapolatedListenerSiteWrapper::Cmp> ExtrapolatedProperty::ExtrapolationListenerSet [protected]
 

Definition at line 50 of file extrapolatedproperty.hh.


Constructor & Destructor Documentation

ExtrapolatedProperty::ExtrapolatedProperty MetaObject superobject  )  [protected]
 

Definition at line 30 of file extrapolatedproperty.cc.

ExtrapolatedProperty::~ExtrapolatedProperty  )  [virtual]
 

Definition at line 36 of file extrapolatedproperty.cc.


Member Function Documentation

void ExtrapolatedProperty::addExtrapolationListener ExtrapolatedPropertyListener x  )  [virtual]
 

Reimplemented in ExtrapolatedRemoteProperty.

Definition at line 129 of file extrapolatedproperty.cc.

Referenced by ExtrapolatedRemoteProperty::addExtrapolationListener(), and ExtrapolatedLocalProperty::sendMessage().

void ExtrapolatedProperty::calculatePosition vector< double > &  newx,
vector< double > &  newdx,
double &  t
[virtual]
 

Definition at line 84 of file extrapolatedproperty.cc.

Referenced by addExtrapolationListener(), getCurrent(), getRawLength(), readRaw(), and update().

void ExtrapolatedProperty::doExcise  )  [virtual]
 

Reimplemented from Property.

Definition at line 163 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::getAcceleration vector< double > &  a  ) 
 

Get current acceleration.

Definition at line 713 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::getAcceleration double &  a  ) 
 

Get current acceleration.

Definition at line 704 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::getBase vector< double > &  ax,
vector< double > &  adx,
vector< double > &  addx
 

Definition at line 219 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::getCurrent vector< double > &  ax,
vector< double > &  adx,
vector< double > &  addx,
double &  t
 

Definition at line 207 of file extrapolatedproperty.cc.

Referenced by getAcceleration(), getCurrentPos(), getVelocity(), setAcceleration(), setPosition(), and setVelocity().

void ExtrapolatedProperty::getCurrentPos vector< double > &  x  ) 
 

Get current x.

Definition at line 677 of file extrapolatedproperty.cc.

int ExtrapolatedProperty::getLength  )  [virtual]
 

Get length of property.

Warning:
no data decoding is performed, this method is the same as getRawLength().

Bug:
You will not get valid data if there are no ExtrapolationListeners for this extrapolated property!

Reimplemented from Property.

Reimplemented in ExtrapolatedLocalProperty, and ExtrapolatedRemoteProperty.

Definition at line 232 of file extrapolatedproperty.cc.

Referenced by ExtrapolatedRemoteProperty::getLength(), and ExtrapolatedLocalProperty::getLength().

int ExtrapolatedProperty::getRawLength  )  [virtual]
 

Get length of property.

Bug:
You will not get valid data if there are no ExtrapolationListeners for this extrapolated property!

Reimplemented from Property.

Reimplemented in ExtrapolatedLocalProperty, and ExtrapolatedRemoteProperty.

Definition at line 250 of file extrapolatedproperty.cc.

Referenced by getLength(), ExtrapolatedLocalProperty::getRawLength(), and ExtrapolatedRemoteProperty::getRawLength().

const string ExtrapolatedProperty::getType  )  [virtual]
 

Return MetaObject type, "property".

Reimplemented from Property.

Definition at line 193 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::getVelocity vector< double > &  v  ) 
 

Get current velocity.

Definition at line 695 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::getVelocity double &  v  ) 
 

Get current velocity.

Definition at line 686 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::initialize unsigned int  size,
double  val = 0.0
[virtual]
 

Initialize property with given vector size and value.

t (time) is set to 0.

See also:
ExtrapolatedLocalProperty::initialize(unsigned int, double)
Parameters:
size Size of x, dx and ddx vectors.
val Value for all variables. (Default is 0.0)

Reimplemented in ExtrapolatedLocalProperty.

Definition at line 599 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::initialize  )  [virtual]
 

Initialize property with x, dx, ddx and time values of (0.0).

See also:
ExtrapolatedLocalProperty::initialize()

Reimplemented in ExtrapolatedLocalProperty.

Definition at line 595 of file extrapolatedproperty.cc.

Referenced by ExtrapolatedLocalProperty::initialize().

void ExtrapolatedProperty::notifyObjectExcise VOS::RefCounted  )  [virtual]
 

Reimplemented from Property.

Definition at line 154 of file extrapolatedproperty.cc.

double ExtrapolatedProperty::now  )  [virtual]
 

Definition at line 198 of file extrapolatedproperty.cc.

Referenced by addExtrapolationListener(), calculatePosition(), ExtrapolatedLocalProperty::flush(), getCurrent(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::sendUpdateMessage(), and ExtrapolatedLocalProperty::set().

void ExtrapolatedProperty::read string &  target,
int  start,
int  length
[virtual]
 

Read current extrapolated values.

Warning:
no data decoding is performed, this method is the same as readRaw().

Bug:
You will not get valid data if there are no ExtrapolationListeners for this extrapolated property!

Reimplemented from Property.

Reimplemented in ExtrapolatedLocalProperty, and ExtrapolatedRemoteProperty.

Definition at line 228 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::readRaw string &  target,
int  start,
int  length
[virtual]
 

Read current extrapolated values.

Bug:
You will not get valid data if there are no ExtrapolationListeners for this extrapolated property!

Reimplemented from Property.

Reimplemented in ExtrapolatedLocalProperty, and ExtrapolatedRemoteProperty.

Definition at line 237 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::registerExtenders  )  [static]
 

Register property type with factory.

Reimplemented from Property.

Definition at line 41 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::removeExtrapolationListener ExtrapolatedPropertyListener x  )  [virtual]
 

Reimplemented in ExtrapolatedRemoteProperty.

Definition at line 145 of file extrapolatedproperty.cc.

Referenced by notifyObjectExcise(), and ExtrapolatedRemoteProperty::removeExtrapolationListener().

virtual void ExtrapolatedProperty::set const vector< double > &  x,
const vector< double > &  dx,
const vector< double > &  ddx,
double  t = 0.0
[pure virtual]
 

Implemented in ExtrapolatedLocalProperty, and ExtrapolatedRemoteProperty.

Referenced by initialize(), setAcceleration(), setPosition(), and setVelocity().

void ExtrapolatedProperty::setAcceleration const double  val  ) 
 

Set ddx value using current time step.

Parameters:
val New value

Definition at line 655 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::setAcceleration const vector< double > &  val  ) 
 

Set ddx value using current time step.

Parameters:
val New value

Definition at line 622 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::setPosition const double  val  ) 
 

Set x value using current time step.

Parameters:
val New value

Definition at line 665 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::setPosition const vector< double > &  val  ) 
 

Set x value using current time step.

Parameters:
val New value

Definition at line 634 of file extrapolatedproperty.cc.

Referenced by ExtrapolatedLocalProperty::replace().

void ExtrapolatedProperty::setVelocity const double  val  ) 
 

Set dx value using current time step.

Parameters:
val New value

Definition at line 645 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::setVelocity const vector< double > &  val  ) 
 

Set dx value using current time step.

Parameters:
val New value

Definition at line 611 of file extrapolatedproperty.cc.

string ExtrapolatedProperty::stringifyVector const vector< double > &  x  )  [static]
 

Definition at line 55 of file extrapolatedproperty.cc.

Referenced by getRawLength(), ExtrapolatedListenerSiteWrapper::notifyBaseChange(), readRaw(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::set(), and update().

void ExtrapolatedProperty::stringToVector const string &  prop,
vector< double > &  x
[static]
 

Definition at line 178 of file extrapolatedproperty.cc.

Referenced by ExtrapolatedLocalProperty::replace(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::sendUpdateMessage(), and ExtrapolatedLocalProperty::write().

void ExtrapolatedProperty::update  )  [virtual]
 

XXX is this correct to remain sync'd with the normal property

Definition at line 107 of file extrapolatedproperty.cc.

void ExtrapolatedProperty::updateAll  )  [static]
 

Definition at line 73 of file extrapolatedproperty.cc.


Member Data Documentation

set< ExtrapolatedProperty * > ExtrapolatedProperty::allexps [static, protected]
 

Definition at line 27 of file extrapolatedproperty.cc.

Referenced by ExtrapolatedProperty(), updateAll(), and ~ExtrapolatedProperty().

vector<double> ExtrapolatedProperty::ddx [protected]
 

Definition at line 56 of file extrapolatedproperty.hh.

Referenced by addExtrapolationListener(), calculatePosition(), ExtrapolatedLocalProperty::flush(), getBase(), getCurrent(), initialize(), ExtrapolatedLocalProperty::replace(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::sendUpdateMessage(), ExtrapolatedLocalProperty::set(), update(), and ExtrapolatedLocalProperty::write().

vector<double> ExtrapolatedProperty::dx [protected]
 

Definition at line 55 of file extrapolatedproperty.hh.

Referenced by addExtrapolationListener(), calculatePosition(), ExtrapolatedLocalProperty::flush(), getBase(), initialize(), ExtrapolatedLocalProperty::replace(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::sendUpdateMessage(), ExtrapolatedLocalProperty::set(), update(), and ExtrapolatedLocalProperty::write().

ExtrapolationListenerSet ExtrapolatedProperty::extrapolationListeners [protected]
 

Definition at line 51 of file extrapolatedproperty.hh.

Referenced by ExtrapolatedRemoteProperty::addExtrapolationListener(), addExtrapolationListener(), doExcise(), ExtrapolatedLocalProperty::flush(), ExtrapolatedRemoteProperty::getRawLength(), ExtrapolatedRemoteProperty::readRaw(), ExtrapolatedRemoteProperty::removeExtrapolationListener(), removeExtrapolationListener(), ExtrapolatedRemoteProperty::sendUpdateMessage(), ExtrapolatedLocalProperty::set(), and update().

double ExtrapolatedProperty::lastCheckpoint [protected]
 

Definition at line 57 of file extrapolatedproperty.hh.

Referenced by addExtrapolationListener(), calculatePosition(), ExtrapolatedLocalProperty::flush(), getCurrent(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::sendUpdateMessage(), and ExtrapolatedLocalProperty::set().

vector<double> ExtrapolatedProperty::x [protected]
 

Definition at line 54 of file extrapolatedproperty.hh.

Referenced by addExtrapolationListener(), calculatePosition(), ExtrapolatedLocalProperty::flush(), getAcceleration(), getBase(), getCurrent(), getVelocity(), initialize(), ExtrapolatedLocalProperty::replace(), ExtrapolatedLocalProperty::sendMessage(), ExtrapolatedRemoteProperty::sendUpdateMessage(), ExtrapolatedLocalProperty::set(), setAcceleration(), setPosition(), setVelocity(), and ExtrapolatedLocalProperty::write().


The documentation for this class was generated from the following files:
Generated on Tue Aug 12 03:55:53 2003 for Interreality Project - VOS by doxygen 1.3.2