afl::Function Class Reference

#include <functions.h>

Inheritance diagram for afl::Function:

afl::Abs afl::ArcCos afl::ArcSin afl::ArcTan afl::Argument afl::BasisArgument afl::Constant afl::Cos afl::Cot afl::Divide afl::Exp afl::FieldFn afl::Ln afl::Max afl::Min afl::Multiply afl::Negate afl::OnTopOf afl::Power afl::Sin afl::Sqrt afl::Subtract afl::Sum afl::Tan List of all members.

Public Types

typedef FunctionIterator iterator

Public Member Functions

virtual data_t evaluate (const Point &p, Context *ctxt=NULL) const =0
virtual void serialise (std::ostream &doc) const =0
virtual Functionclone () const =0
iterator begin ()
iterator end ()

Protected Attributes

std::vector< Function * > _args

Classes

struct  Context

Detailed Description

an abstract class of functions


Member Typedef Documentation

typedef FunctionIterator afl::Function::iterator
 

an iterator to traverse function trees


Member Function Documentation

iterator afl::Function::begin  )  [inline]
 

an iterator pointing at this function

virtual Function* afl::Function::clone  )  const [pure virtual]
 

Returns:
an exact copy of this function

Implemented in afl::FieldFn, afl::Negate, afl::Argument, afl::BasisArgument, afl::BasisArgument_1, afl::BasisArgument_2, afl::BasisArgument_3, afl::BasisArgument_4, afl::KsiBasisArgument_1, afl::KsiBasisArgument_2, afl::KsiBasisArgument_3, afl::KsiBasisArgument_4, afl::Constant, afl::Sum, afl::Subtract, afl::Multiply, afl::Divide, afl::Power, afl::OnTopOf, afl::Sin, afl::ArcSin, afl::Cos, afl::ArcCos, afl::Tan, afl::ArcTan, afl::Cot, afl::Ln, afl::Exp, afl::Sqrt, afl::Abs, afl::Min, and afl::Max.

iterator afl::Function::end  )  [inline]
 

a terminating iterator that points at nothing

virtual data_t afl::Function::evaluate const Point p,
Context ctxt = NULL
const [pure virtual]
 

evaluates the function

Parameters:
p the location to evaluate the function at
ctxt the context for the evaluation
Returns:
the value of the field at (x,y,z,t)

Implemented in afl::FieldFn, afl::Negate, afl::Argument, afl::BasisArgument, afl::BasisArgument_1, afl::BasisArgument_2, afl::BasisArgument_3, afl::BasisArgument_4, afl::KsiBasisArgument_1, afl::KsiBasisArgument_2, afl::KsiBasisArgument_3, afl::KsiBasisArgument_4, afl::Constant, afl::Sum, afl::Subtract, afl::Multiply, afl::Divide, afl::Power, afl::OnTopOf, afl::Sin, afl::ArcSin, afl::Cos, afl::ArcCos, afl::Tan, afl::ArcTan, afl::Cot, afl::Ln, afl::Exp, afl::Sqrt, afl::Abs, afl::Min, and afl::Max.

virtual void afl::Function::serialise std::ostream &  doc  )  const [pure virtual]
 

adds the symbolic value of the function to an output stream

Parameters:
doc the output stream to put the function on

Implemented in afl::FieldFn, afl::Negate, afl::Argument, afl::BasisArgument, afl::KsiBasisArgument_1, afl::KsiBasisArgument_2, afl::KsiBasisArgument_3, afl::KsiBasisArgument_4, afl::Constant, afl::Sum, afl::Subtract, afl::Multiply, afl::Divide, afl::Power, afl::OnTopOf, afl::Sin, afl::ArcSin, afl::Cos, afl::ArcCos, afl::Tan, afl::ArcTan, afl::Cot, afl::Ln, afl::Exp, afl::Sqrt, afl::Abs, afl::Min, and afl::Max.


Member Data Documentation

std::vector<Function*> afl::Function::_args [protected]
 

any functions that this function takes as arguments


The documentation for this class was generated from the following file:
Generated on Fri Dec 22 07:17:51 2006 for afl by  doxygen 1.4.6