afl::Field_3 Class Reference

#include <field_3.h>

Inheritance diagram for afl::Field_3:

afl::Field List of all members.

Public Member Functions

 Field_3 (const std::string &name, ddf::PropertySet *pset=NULL)
virtual ~Field_3 ()
void interpolation (interp_t method)
Value get (const Point &p) const
virtual Derivative jacobian (const Point &x) const
virtual Point gradient (const Point &x) const
virtual data_t divergence (const Point &x) const
virtual data_t laplacian (const Point &x) const
virtual Point curl (const Point &x) const
void set (const Point &x, const Value &value)
void set (const Point &x, const Value &value, const Derivative &dvalue)
virtual size_t getDimension () const
virtual Point getBoundingBoxMin () const
virtual Point getBoundingBoxMax () const
virtual Fieldclone () const
virtual Value integral (const Simplex &s) const

Detailed Description

class Field_3 Represents a one dimensional field


Constructor & Destructor Documentation

afl::Field_3::Field_3 const std::string &  name,
ddf::PropertySet pset = NULL
 

constructs a blank field

Parameters:
name the name of the field
pset the ddf property set that the field will use.

virtual afl::Field_3::~Field_3  )  [virtual]
 

destroys the object


Member Function Documentation

virtual Field* afl::Field_3::clone  )  const [virtual]
 

Returns:
a deep copy of this field

Implements afl::Field.

virtual Point afl::Field_3::curl const Point x  )  const [virtual]
 

Returns:
the approximated curl at a point.
Parameters:
x the point to evaluate the derivative at.
Exceptions:
ddf::IllegalOperationException iff the field type is not 3D vector
Todo:
convert the return type to Vector

Reimplemented from afl::Field.

virtual data_t afl::Field_3::divergence const Point x  )  const [virtual]
 

Returns:
the approximated divergence at a point.
Parameters:
x the point to evaluate the derivative at.
Exceptions:
ddf::IllegalOperationException iff the field type is not a vector

Implements afl::Field.

Value afl::Field_3::get const Point p  )  const [virtual]
 

evaluates the field at a point

Parameters:
p the point to evaluate the field at
Returns:
the interpolated value at x.

Implements afl::Field.

virtual Point afl::Field_3::getBoundingBoxMax  )  const [virtual]
 

Returns:
the maximums corner of the bounding hyper-box around the field. This the corner with the maximal values on all axes of the point
Exceptions:
ddf::IllegalOperationException if the field is describe analytically and no boundary is set.

Implements afl::Field.

virtual Point afl::Field_3::getBoundingBoxMin  )  const [virtual]
 

Returns:
the minimums corner of the bounding hyper-box around the field. This the corner with the minimal values on all axes of the point
Exceptions:
ddf::IllegalOperationException if the field is describe analytically and no boundary is set.

Implements afl::Field.

virtual size_t afl::Field_3::getDimension  )  const [inline, virtual]
 

Returns:
the number of dimensions in the field. Note that this may be different to the number of dimensions of whatever is stored in the field. For example a 3D scalar field will return 3 and not 1.

Implements afl::Field.

virtual Point afl::Field_3::gradient const Point x  )  const [virtual]
 

Returns:
the approximated gradient at a point.
Parameters:
x the point to evaluate the derivative at.
Exceptions:
ddf::IllegalOperationException iff the field type is not scalar
Todo:
convert the return type to Vector

Implements afl::Field.

virtual Value afl::Field_3::integral const Simplex s  )  const [virtual]
 

provides the integral of the field over a simplex. It is possible to take any integral over multiple simplexes. In the future there may be a function that uses BSP trees to take the integral over multiple simplices at ones at much better than linear rate.

Parameters:
s the simplex to integrate over. The returned Value object has the same shape as the value of the field and each aspect of the value is integrated separately.
Returns:
the approximate integration of the field over a simplex.
Exceptions:
ddf::InvalidArgumentException if the simplex has the wrong dimension for the field.

Implements afl::Field.

void afl::Field_3::interpolation interp_t  method  )  [virtual]
 

sets the interpolation method to use in the field

Parameters:
method currently only valid value is I_LINEAR
Exceptions:
InvalidArgumentException if a different argument is given

Implements afl::Field.

virtual Derivative afl::Field_3::jacobian const Point x  )  const [virtual]
 

Returns:
the approximated Jacobian at a point.
Parameters:
x the point to evaluate the derivative at.

Implements afl::Field.

virtual data_t afl::Field_3::laplacian const Point x  )  const [virtual]
 

Returns:
the approximated Laplacian at a point.
Parameters:
x the point to evaluate the derivative at.
Exceptions:
ddf::IllegalOperationException iff the field type is not a scalar

Implements afl::Field.

void afl::Field_3::set const Point x,
const Value value,
const Derivative dvalue
[virtual]
 

adds a new data point to the field. The interpolation has to guarantee that field would go through this point. If a point is exists in the field, this point would overwrite it.
note that if the field is empty and this is the first set() call to it, then the field will store the field's derivative from now on. It doesn't mean that the derivative has to be used though.

Parameters:
x the location of the new point
value the value of the property at point x
dvalue the partial derivative of the field at point x
Exceptions:
ddf::InvalidArgumentException if the field doesn't store derivatives.

Implements afl::Field.

void afl::Field_3::set const Point x,
const Value value
[virtual]
 

adds a new data point to the field. The interpolation has to guarantee that field would go through this point. If a point is exists in the field, this point would overwrite it.

Parameters:
x the location of the new point
value the value of the property at point x
Exceptions:
ddf::InvalidArgumentException if the field stores derivatives.

Implements afl::Field.


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