Public Member Functions | Static Public Member Functions

Wizt::FieldOperatorObject Class Reference
[The VISH - Fiber Bundle Interface]

Base class for objects that operate on Field objects and create new fields. More...

#include <FieldOperatorObject.hpp>

List of all members.

Public Member Functions

Static Public Member Functions


Detailed Description

Base class for objects that operate on Field objects and create new fields.

See also:
FieldObject for objects that carry fields themselves, i.e. such FieldObjects also provide Fiber::Bundle, whereas FieldOperatorObjects just reference an existing Fiber::Bundle .
Author:
Werner Benger

Constructor & Destructor Documentation

Wizt::FieldOperatorObject::FieldOperatorObject ( const string &  name,
const string &  fieldname,
int  p = 0,
const RefPtr< VCreationPreferences > &  VP = NullPtr() 
)

Construct a field operator object.

Parameters:
name The name of this object
fieldname The name under which the input field of this field operator is accessed, relative to the field operator. For instance, this could be "inputfield", "sourcefield", "field" or something similar.

Member Function Documentation

virtual bool Wizt::FieldOperatorObject::FieldOperation ( VRequest Context,
Fiber::Field &  ,
Fiber::Representation &  ,
Fiber::Representation &  FieldIDSource 
) [pure virtual]

The operation to be performed on the given field, to be overloaded in a subclass.

Parameters:
FieldIDSource a representation object that carries field identifiers; if a new field is supposed to be created, use this representation to do so (this needs to be revised and made easier!)
Todo:
Ease field identifier creation by sharing of identifier creators among representations.

Implemented in Wizt::FieldFunctor< Operation >, ComputeEigenVectors, LinearRescale, and Unary.

void Wizt::FieldOperatorObject::publishInputField (  ) 

Make the input field available as output as well, such that output modules can be connected to the field operator instead of its inputs.

This is for user convenience, but probably not recommended.