OpenStructure
|
#include <function_base.hh>
Inherits Data.
Inherited by FunctionImpl< T >, and NullFunction.
Public Member Functions | |
Initialization and deconstruction | |
No publically accessible ctors, Function is an abstract base class. | |
virtual | ~Function () |
Properties | |
virtual DataType | GetType () const =0 |
virtual DataDomain | GetDomain () const |
virtual Extent | GetExtent () const |
void | SetExtent (const Extent &e) |
virtual void | SetSpatialOrigin (const Point &o) |
virtual Point | GetSpatialOrigin () const |
Value retrieval | |
The pure virtual methods GetReal() and GetComplex() are only given here for completeness. They still need to be implemented by a derived class. | |
virtual Real | GetReal (const Point &p) const |
virtual Complex | GetComplex (const Point &p) const |
virtual Real | GetIntpolReal (const Vec3 &v) const =0 |
virtual Real | GetIntpolReal (const Vec2 &v) const |
virtual Real | GetIntpolReal (const Real &d) const |
virtual Complex | GetIntpolComplex (const Vec3 &v) const =0 |
virtual Complex | GetIntpolComplex (const Vec2 &v) const |
virtual Complex | GetIntpolComplex (const Real &d) const |
Algorithm interface | |
On the level of Function, only NonModAlgorithms may be applied | |
virtual void | Apply (NonModAlgorithm &a) const |
virtual void | ApplyIP (NonModAlgorithm &a) const |
Observer interface | |
virtual void | Attach (DataObserver *o) const |
virtual void | Detach (DataObserver *o) const |
virtual void | Notify () const |
Public Member Functions inherited from Data | |
Data () | |
virtual | ~Data () |
void | SetPixelSampling (const Vec3 &) |
void | SetPixelSampling (Real d) |
void | SetSpatialSampling (const Vec3 &) |
void | SetSpatialSampling (Real d) |
Public Member Functions inherited from ConstData | |
ConstData () | |
virtual | ~ConstData () |
bool | IsSpatial () const |
bool | IsFrequency () const |
bool | IsReal () const |
bool | IsComplex () const |
Size | GetSize () const |
virtual Real | OverallDifference (const ConstData &d) const |
virtual Real | NormDifference (const ConstData &d) const |
Vec3 | GetPixelSampling () const |
Vec3 | GetSpatialSampling () const |
Vec3 | GetFrequencySampling () const |
Protected Member Functions | |
Function (DataDomain d, const Extent &e=Extent()) | |
Function (const Function &f) | |
Function & | operator= (const Function &f) |
Sampling implementation | |
virtual PixelSampling & | Sampling () |
virtual const PixelSampling & | Sampling () const |
Protected Member Functions inherited from Data | |
Data (const Data &d) | |
Data & | operator= (const Data &d) |
Base class that defines the function interface.
Function only partially implementes the Data interface and is thus still an abstract base class. In particular, the methods GetType(), GetReal() and GetComplex() are still pure virtual methods.
In contrast to ImageHandle, a ConstFunction class is not necessary, since assignement and copy-construction do not share the underlying implementation.
Definition at line 59 of file function_base.hh.
|
virtual |
|
protected |
Initialization with Domain (required) and Extent(defaults to Size(1))
|
virtual |
Algorithm interface: NonModAlgorithm.
Implements Data.
|
virtual |
Implements Data.
|
virtual |
DataObserver interface: attach observer.
Implements ConstData.
|
virtual |
DataObserver interface: detach observer.
Implements ConstData.
|
virtual |
Returns data domain, defaults to SPATIAL
.
Implements ConstData.
|
virtual |
Returns extent of function.
defaults to [Point(0,0,0), Point(0,0,0)], may be modified by using SetExtent
Implements ConstData.
|
pure virtual |
Get interpolated complex value from 3D,2D or 1D vec.
Implements ConstData.
Implemented in NullFunction, and FunctionImpl< T >.
|
pure virtual |
Get interpolated real value from 3D,2D or 1D vec.
Implements ConstData.
Implemented in FunctionImpl< T >, and NullFunction.
|
pure virtual |
|
virtual |
Notify each observer that state has changed.
Implements ConstData.
|
protectedvirtual |
Implements ConstData.
|
protectedvirtual |
Implements ConstData.