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

base::VariableExpression Class Reference

Inheritance diagram for base::VariableExpression:

Inheritance graph
[legend]
Collaboration diagram for base::VariableExpression:

Collaboration graph
[legend]
List of all members.

Public Types

enum  NodeType {
  Sum, Difference, Product, Quotient,
  Negative, Constant, Variable, Sine,
  Cosine, Leaf = 1024, UnaryOp = 2048, BinaryOp = 4096
}

Public Member Functions

 VariableExpression (Int paramsIndex)
 VariableExpression (const VariableExpression &e)
virtual NodeType type () const
 get NodeType

virtual Objectclone () const
virtual String className () const
virtual String toString () const
virtual void serialize (Serializer &s)
 read or write object state to Serializer

bool isOperator () const
bool isUnaryOp () const
bool isBinaryOp () const
NodeType opType () const
Real evaluate (const Vector &params) const
ref< ExpressionNodedifferentiate (Int withRespectToIndex) const
virtual bool isSameKindAs (const ReferencedObject &) const
virtual bool isSameKindAs (const Object &) const
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Static Public Member Functions

template<class BaseClass, class DerivedClass> void registerSerializableInstantiator (const SerializableInstantiator &instantiator)
void registerSerializableInstantiator (const String &baseClassTypeName, const String &derivedClassTypeName, const SerializableInstantiator &instantiator)
template<class BaseClass> const SerializableInstantiator & getSerializableInstantiator (const String &derivedClassTypeName)
const SerializableInstantiator & getSerializableInstantiator (const String &baseClassTypeName, const String &derivedClassTypeName)

Protected Member Functions

 VariableExpression ()
virtual void cacheValue (const Vector &params) const
 perform evaluation with params and store in value (& set valueCached true)

virtual void resetCache () const
 set valueCached false and call resetCache() on children

virtual void cacheDerivative (Int withRespectToIndex) const
 perform differentiation and cache in derivative (& set set derivCached)

virtual void resetDerivCached () const
 set derivCached false and call resetDerivCached() on children

virtual void operationCounts (Int &addsub, Int &multdiv, Int &trig) const

Protected Attributes

Int index
bool valueCached
Real value
bool derivCached
Int derivWithRespToIndex
ref< ExpressionNodederivative
int _refCount
bool onUnreferenceEnabled

Friends

class Expression
class Serializable::SerializableDerivedInstantiator< VariableExpression >
class BinaryOpExpression
class UnaryOpExpression

Member Enumeration Documentation

enum base::ExpressionNode::NodeType [inherited]
 

Enumeration values:
Sum 
Difference 
Product 
Quotient 
Negative 
Constant 
Variable 
Sine 
Cosine 
Leaf 
UnaryOp 
BinaryOp 

Definition at line 49 of file ExpressionNode.

Referenced by base::ExpressionNode::opType(), type(), base::SumExpression::type(), base::SinExpression::type(), base::QuotientExpression::type(), base::ProductExpression::type(), base::NegateExpression::type(), base::DifferenceExpression::type(), base::CosExpression::type(), and base::ConstantExpression::type().


Constructor & Destructor Documentation

base::VariableExpression::VariableExpression Int  paramsIndex  )  [inline]
 

Definition at line 42 of file VariableExpression.

References index, and base::Int.

base::VariableExpression::VariableExpression const VariableExpression e  )  [inline]
 

Definition at line 44 of file VariableExpression.

References index.

base::VariableExpression::VariableExpression  )  [inline, protected]
 

Definition at line 57 of file VariableExpression.

Referenced by clone().


Member Function Documentation

virtual void base::VariableExpression::cacheDerivative Int  withRespectToIndex  )  const [inline, protected, virtual]
 

perform differentiation and cache in derivative (& set set derivCached)

Implements base::ExpressionNode.

Definition at line 67 of file VariableExpression.

References index, base::Int, and NewObj.

virtual void base::VariableExpression::cacheValue const Vector params  )  const [inline, protected, virtual]
 

perform evaluation with params and store in value (& set valueCached true)

Implements base::ExpressionNode.

Definition at line 59 of file VariableExpression.

References Exception, index, base::vector< T >::size(), base::String, and base::Vector.

virtual String base::VariableExpression::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Implements base::Object.

Definition at line 50 of file VariableExpression.

References base::String.

virtual Object& base::VariableExpression::clone  )  const [inline, virtual]
 

Definition at line 49 of file VariableExpression.

References NewObj, and VariableExpression().

ref<ExpressionNode> base::ExpressionNode::differentiate Int  withRespectToIndex  )  const [inline, inherited]
 

Definition at line 67 of file ExpressionNode.

References Assert, base::ExpressionNode::cacheDerivative(), base::ExpressionNode::derivative, base::ExpressionNode::derivCached, base::ExpressionNode::derivWithRespToIndex, and base::Int.

void base::Referenced::enableOnUnreferenceCall bool  enabled  )  [inline, inherited]
 

If enabled, each call to unreference() will also call virtual method onUnreference()

Definition at line 115 of file Referenced.

References base::Referenced::onUnreferenceEnabled.

Real base::ExpressionNode::evaluate const Vector params  )  const [inline, inherited]
 

Definition at line 60 of file ExpressionNode.

References base::ExpressionNode::cacheValue(), base::Real, base::ExpressionNode::value, base::ExpressionNode::valueCached, and base::Vector.

const SerializableInstantiator& base::Serializable::getSerializableInstantiator const String baseClassTypeName,
const String derivedClassTypeName
[static, inherited]
 

template<class BaseClass>
const SerializableInstantiator& base::Serializable::getSerializableInstantiator const String derivedClassTypeName  )  [inline, static, inherited]
 

Definition at line 71 of file Serializable.

References base::String.

bool base::ExpressionNode::isBinaryOp  )  const [inline, inherited]
 

Definition at line 57 of file ExpressionNode.

References base::ExpressionNode::BinaryOp, base::Int, and base::ExpressionNode::type().

Referenced by base::ExpressionNode::isOperator().

bool base::ExpressionNode::isOperator  )  const [inline, inherited]
 

Definition at line 55 of file ExpressionNode.

References base::ExpressionNode::isBinaryOp(), and base::ExpressionNode::isUnaryOp().

virtual bool base::Object::isSameKindAs const Object  )  const [inline, virtual, inherited]
 

Definition at line 47 of file Object.

virtual bool base::ReferencedObject::isSameKindAs const ReferencedObject  )  const [inline, virtual, inherited]
 

Definition at line 52 of file ReferencedObject.

bool base::ExpressionNode::isUnaryOp  )  const [inline, inherited]
 

Definition at line 56 of file ExpressionNode.

References base::Int, base::ExpressionNode::type(), and base::ExpressionNode::UnaryOp.

Referenced by base::ExpressionNode::isOperator().

virtual void base::Referenced::onUnreference  )  const [inline, virtual, inherited]
 

Called by unreference() if enabled via enableOnUnreferenceCall(true). Typically overridden in subclasses that wish to know about unreference() calls - for example to handle manually breaking cyclic references

Reimplemented in robot::control::ControllableAdaptor::AdaptorControlInterface, and robot::control::ControllableAdaptor.

Definition at line 121 of file Referenced.

Referenced by base::Referenced::unreference().

virtual void base::VariableExpression::operationCounts Int addsub,
Int multdiv,
Int trig
const [inline, protected, virtual]
 

Implements base::ExpressionNode.

Definition at line 75 of file VariableExpression.

References base::Int.

NodeType base::ExpressionNode::opType  )  const [inline, inherited]
 

Definition at line 58 of file ExpressionNode.

References base::Int, base::ExpressionNode::Leaf, base::ExpressionNode::NodeType, and base::ExpressionNode::type().

void base::Referenced::reference  )  const [inline, inherited]
 

Increment the reference count by one, indicating that this object has another pointer which is referencing it.

Definition at line 65 of file Referenced.

References base::Referenced::_refCount.

const int base::Referenced::referenceCount  )  const [inline, inherited]
 

Return the number pointers currently referencing this object.

Definition at line 112 of file Referenced.

References base::Referenced::_refCount.

Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::onUnreference().

void base::Serializable::registerSerializableInstantiator const String baseClassTypeName,
const String derivedClassTypeName,
const SerializableInstantiator instantiator
[static, inherited]
 

template<class BaseClass, class DerivedClass>
void base::Serializable::registerSerializableInstantiator const SerializableInstantiator instantiator  )  [inline, static, inherited]
 

Definition at line 62 of file Serializable.

virtual void base::VariableExpression::resetCache  )  const [inline, protected, virtual]
 

set valueCached false and call resetCache() on children

Implements base::ExpressionNode.

Definition at line 65 of file VariableExpression.

virtual void base::VariableExpression::resetDerivCached  )  const [inline, protected, virtual]
 

set derivCached false and call resetDerivCached() on children

Implements base::ExpressionNode.

Definition at line 73 of file VariableExpression.

virtual void base::VariableExpression::serialize Serializer s  )  [inline, virtual]
 

read or write object state to Serializer

Implements base::Serializable.

Definition at line 54 of file VariableExpression.

References index.

virtual String base::VariableExpression::toString  )  const [inline, virtual]
 

Implements base::ExpressionNode.

Definition at line 52 of file VariableExpression.

References index, base::intToString(), and base::String.

virtual NodeType base::VariableExpression::type  )  const [inline, virtual]
 

get NodeType

Implements base::ExpressionNode.

Definition at line 47 of file VariableExpression.

References base::ExpressionNode::NodeType.

bool base::Referenced::unreference  )  const [inline, inherited]
 

Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the refence count goes to zero, it is assumed that this object is nolonger referenced and is automatically deleted.

Definition at line 81 of file Referenced.

References base::Referenced::_refCount, Exception, base::Referenced::onUnreference(), and base::Referenced::onUnreferenceEnabled.


Friends And Related Function Documentation

friend class BinaryOpExpression [friend, inherited]
 

Definition at line 93 of file ExpressionNode.

friend class Expression [friend]
 

Reimplemented from base::ExpressionNode.

Definition at line 80 of file VariableExpression.

friend class Serializable::SerializableDerivedInstantiator< VariableExpression > [friend]
 

Definition at line 81 of file VariableExpression.

friend class UnaryOpExpression [friend, inherited]
 

Definition at line 94 of file ExpressionNode.


Member Data Documentation

int base::Referenced::_refCount [mutable, protected, inherited]
 

Definition at line 136 of file Referenced.

Referenced by base::Referenced::reference(), base::Referenced::referenceCount(), base::Referenced::Referenced(), base::Referenced::unreference(), and base::Referenced::~Referenced().

ref<ExpressionNode> base::ExpressionNode::derivative [mutable, protected, inherited]
 

Definition at line 89 of file ExpressionNode.

Referenced by base::ExpressionNode::differentiate().

bool base::ExpressionNode::derivCached [mutable, protected, inherited]
 

Definition at line 87 of file ExpressionNode.

Referenced by base::ExpressionNode::differentiate(), and base::ExpressionNode::ExpressionNode().

Int base::ExpressionNode::derivWithRespToIndex [mutable, protected, inherited]
 

Definition at line 88 of file ExpressionNode.

Referenced by base::ExpressionNode::differentiate().

Int base::VariableExpression::index [protected]
 

Definition at line 78 of file VariableExpression.

Referenced by cacheDerivative(), cacheValue(), serialize(), toString(), and VariableExpression().

bool base::Referenced::onUnreferenceEnabled [protected, inherited]
 

Definition at line 137 of file Referenced.

Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference().

Real base::ExpressionNode::value [mutable, protected, inherited]
 

Definition at line 82 of file ExpressionNode.

Referenced by base::ExpressionNode::evaluate().

bool base::ExpressionNode::valueCached [mutable, protected, inherited]
 

Definition at line 81 of file ExpressionNode.

Referenced by base::ExpressionNode::evaluate(), and base::ExpressionNode::ExpressionNode().


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:39:30 2004 for OpenSim by doxygen 1.3.6