Public Types | |
enum | NodeType { Sum, Difference, Product, Quotient, Negative, Constant, Variable, Sine, Cosine, Leaf = 1024, UnaryOp = 2048, BinaryOp = 4096 } |
Public Member Functions | |
SumExpression (ref< ExpressionNode > left, ref< ExpressionNode > right) | |
SumExpression (const SumExpression &e) | |
virtual NodeType | type () const |
get NodeType | |
virtual Object & | clone () 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 ¶ms) const |
ref< ExpressionNode > | differentiate (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 | |
SumExpression () | |
virtual void | cacheValue (const Vector ¶ms) const |
perform evaluation with params and sore in value (& set valueCached true) | |
virtual void | cacheDerivative (Int withRespectToIndex) const |
perform differentiation and cache in derivative (& set set derivCached) | |
virtual void | operationCounts (Int &addsub, Int &multdiv, Int &trig) const |
virtual void | resetCache () const |
set valueCached false and call resetCache() on children | |
virtual void | resetDerivCached () const |
set derivCached false and call resetDerivCached() on children | |
Protected Attributes | |
ref< ExpressionNode > | leftArg |
ref< ExpressionNode > | rightArg |
bool | valueCached |
Real | value |
bool | derivCached |
Int | derivWithRespToIndex |
ref< ExpressionNode > | derivative |
int | _refCount |
bool | onUnreferenceEnabled |
Friends | |
class | Serializable::SerializableDerivedInstantiator< SumExpression > |
class | Expression |
class | BinaryOpExpression |
class | UnaryOpExpression |
|
Definition at line 49 of file ExpressionNode. Referenced by base::ExpressionNode::opType(), base::VariableExpression::type(), type(), base::SinExpression::type(), base::QuotientExpression::type(), base::ProductExpression::type(), base::NegateExpression::type(), base::DifferenceExpression::type(), base::CosExpression::type(), and base::ConstantExpression::type(). |
|
Definition at line 42 of file SumExpression. |
|
Definition at line 44 of file SumExpression. |
|
Definition at line 55 of file SumExpression. Referenced by cacheDerivative(), and clone(). |
|
perform differentiation and cache in derivative (& set set derivCached)
Implements base::BinaryOpExpression. Definition at line 60 of file SumExpression. References base::Int, NewObj, and SumExpression(). |
|
perform evaluation with params and sore in value (& set valueCached true)
Implements base::BinaryOpExpression. Definition at line 57 of file SumExpression. References base::Vector. |
|
return the name of the object's class type. Must be defined by derived classes. Implements base::Object. Definition at line 50 of file SumExpression. References base::String. |
|
Definition at line 49 of file SumExpression. References NewObj, and SumExpression(). |
|
Definition at line 67 of file ExpressionNode. References Assert, base::ExpressionNode::cacheDerivative(), base::ExpressionNode::derivative, base::ExpressionNode::derivCached, base::ExpressionNode::derivWithRespToIndex, and base::Int. |
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
Definition at line 60 of file ExpressionNode. References base::ExpressionNode::cacheValue(), base::Real, base::ExpressionNode::value, base::ExpressionNode::valueCached, and base::Vector. |
|
|
|
Definition at line 71 of file Serializable. References base::String. |
|
Definition at line 57 of file ExpressionNode. References base::ExpressionNode::BinaryOp, base::Int, and base::ExpressionNode::type(). Referenced by base::ExpressionNode::isOperator(). |
|
Definition at line 55 of file ExpressionNode. References base::ExpressionNode::isBinaryOp(), and base::ExpressionNode::isUnaryOp(). |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
Definition at line 56 of file ExpressionNode. References base::Int, base::ExpressionNode::type(), and base::ExpressionNode::UnaryOp. Referenced by base::ExpressionNode::isOperator(). |
|
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(). |
|
Reimplemented from base::BinaryOpExpression. Definition at line 68 of file SumExpression. References base::Int. |
|
Definition at line 58 of file ExpressionNode. References base::Int, base::ExpressionNode::Leaf, base::ExpressionNode::NodeType, and base::ExpressionNode::type(). |
|
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. |
|
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(). |
|
|
|
Definition at line 62 of file Serializable. |
|
set valueCached false and call resetCache() on children
Implements base::ExpressionNode. Definition at line 53 of file BinaryOpExpression. References base::BinaryOpExpression::leftArg, and base::BinaryOpExpression::rightArg. |
|
set derivCached false and call resetDerivCached() on children
Implements base::ExpressionNode. Definition at line 56 of file BinaryOpExpression. References base::BinaryOpExpression::leftArg, and base::BinaryOpExpression::rightArg. |
|
read or write object state to Serializer
Implements base::Serializable. Definition at line 47 of file BinaryOpExpression. References base::Serializer::baseRef(), base::BinaryOpExpression::leftArg, and base::BinaryOpExpression::rightArg. |
|
Implements base::ExpressionNode. Definition at line 52 of file SumExpression. References base::String. |
|
get NodeType
Implements base::ExpressionNode. Definition at line 47 of file SumExpression. References base::ExpressionNode::NodeType. |
|
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. |
|
Definition at line 93 of file ExpressionNode. |
|
Reimplemented from base::ExpressionNode. Definition at line 73 of file BinaryOpExpression. |
|
Definition at line 71 of file SumExpression. |
|
Definition at line 94 of file ExpressionNode. |
|
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(). |
|
Definition at line 89 of file ExpressionNode. Referenced by base::ExpressionNode::differentiate(). |
|
Definition at line 87 of file ExpressionNode. Referenced by base::ExpressionNode::differentiate(), and base::ExpressionNode::ExpressionNode(). |
|
Definition at line 88 of file ExpressionNode. Referenced by base::ExpressionNode::differentiate(). |
|
Definition at line 70 of file BinaryOpExpression. Referenced by base::BinaryOpExpression::BinaryOpExpression(), base::BinaryOpExpression::operationCounts(), base::BinaryOpExpression::resetCache(), base::BinaryOpExpression::resetDerivCached(), and base::BinaryOpExpression::serialize(). |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
Definition at line 71 of file BinaryOpExpression. Referenced by base::BinaryOpExpression::BinaryOpExpression(), base::BinaryOpExpression::operationCounts(), base::BinaryOpExpression::resetCache(), base::BinaryOpExpression::resetDerivCached(), and base::BinaryOpExpression::serialize(). |
|
Definition at line 82 of file ExpressionNode. Referenced by base::ExpressionNode::evaluate(). |
|
Definition at line 81 of file ExpressionNode. Referenced by base::ExpressionNode::evaluate(), and base::ExpressionNode::ExpressionNode(). |