1#ifndef __FISH_BINARYOPERATOROBJECT_HPP
2#define __FISH_BINARYOPERATOROBJECT_HPP
4#include "FieldOperatorObject.hpp"
5#include <baseop/EvalGrid.hpp>
7#include <fish/fiber/field/BinaryOperator.hpp>
18template <
class TheBinaryOperator,
20 class PrimaryValueType,
21 class SecondaryValueType = PrimaryValueType,
22 class ResultValueType = PrimaryValueType>
27 typedef ResultValueType result_t;
41 , SecondaryField(
this,
"right")
42 , ResultField(
self(),
"result")
52 using namespace Fiber;
134static string createChildname(
const string&
parent_name)
136 return NamingOperator::createChildname(
parent_name);
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
An abstract selection of fields, that is given by names of fields and possible types for each field.
Definition FieldSelection.hpp:23
An internal class that stores a couple of textual names.
Definition FieldSelector.hpp:18
A Field is a collection of CreativeArrayBase reference pointers which are accessed via FragmentID obj...
Definition Field.hpp:245
A Grid is a set of Skeleton objects, each of them accessed via some unique SkeletonID object.
Definition Grid.hpp:60
A Representation is a set of Field objects, each of them accessed via some FieldID identifier.
Definition Representation.hpp:101
Information per time slice, mainly a set of Grid objects that are accessed via GridID objects.
Definition Slice.hpp:36
const auto & self() const
Base class for objects that operate on Field objects and create new fields.
Definition FieldOperatorObject.hpp:44
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
ComputationalField< FieldOperator > * newComputationalField(const FieldOperator &FO, const RefPtr< Field > &InputField, const MemCore::RefPtr< MemCore::Cache > &theCache=MemCore::Cache::MemCache())
A convenience template function to construct a computational field (class ComputationalField) from an...
Definition ComputationalField.hpp:266
RefPtr< Field > EvalFieldOnRepresentation(Representation &DstRep, const RefPtr< Skeleton > &DestVertices, Grid &SourceGrid, const string &fieldname, Slice &DestGridSlice, const string &HelperDestGridName, bool StoreResult)
Evaluate a Field given on some source Grid on a specific Representation.
Definition EvalGrid.cpp:326
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Implementing a binary operation on two fields with on-demand computation per fragment and discarding ...
Definition BinaryOperator.hpp:36
Template class for binary operations on Fields.
Definition BinaryFieldOperatorObject.hpp:25
META::LIST< value_type > InputTypes
For usage with a TypedFieldInputCreator<>
Definition BinaryFieldOperatorObject.hpp:30
bool FieldOperation(VRequest &Context, Fiber::Field &InputField, Fiber::Representation &FieldRep) override
The operation to be performed on the given field, to be overloaded in a subclass.
Definition BinaryFieldOperatorObject.hpp:48
Fiber::GridInspector< Fiber::BundleProperty::Anything > GridInspector
Constraints on the grid type.
Definition BinaryFieldOperatorObject.hpp:33
string Fieldname(const RefPtr< ValuePool > &VP) const
Get the name of the selected field.
Definition FishField.cpp:250
bool setStatusInfo(const RefPtr< ValuePool > &Context, const string &what) const
bool setStatusError(const RefPtr< ValuePool > &Context, const string &what, bool AnnouncePublic=false) const