![]() |
ImFusion C++ SDK 4.4.0
|
#include <ImFusion/ImageMath/Poly/PolyWrapper.h>
Specialization of ExprBase wrapping a ExprBaseTpl. More...
Specialization of ExprBase wrapping a ExprBaseTpl.
Public Member Functions | |
| PolyWrapper (const ExprT &expr) | |
| ExprType | exprType () const override |
| Return the ImFusion image type, i.e. NoImage, SharedImage, SharedImageSet. | |
| std::unique_ptr< ExprBase > | clone () const override |
| Clone the current expression. May not return nullptr. | |
| std::unique_ptr< ExprBase > | substituteVariableWithImg (const SharedImage &variable) const override |
| std::unique_ptr< ExprBase > | substituteVariableWithImg (const SharedImageSet &variable) const override |
Substitute all variables with variable. | |
| std::unique_ptr< ExprBase > | convertToSharedImgExpr (std::size_t index) const override |
| Convert a SharedImageSet expression to a SharedImage expression. | |
| void | evalImpl (Array< SharedImage, void > &img) const override |
| void | evalImpl (Array< SharedImageSet, void > &img) const override |
| Implementation functionality used in eval(). | |
| std::string | evalString (bool tagAndAssign=true) const override |
| Print expression. | |
| void | tagAndAssignNames (std::unordered_map< internal::TaggingIndex, const void * > &taggedLeaves, std::unordered_map< std::type_index, int > &countPerLeafType, const std::string &prefix) const override |
| We need to tag leaves and tell unique leaves that they are responsible to define the uniforms and set the shader arguments. | |
| void | getUniformDefinitionList (std::string &definitionList, const std::vector< int > &indices, const std::string &prefix) const override |
| Collect uniform/sampler definitions. | |
| void | getVariableDefinitionList (std::string &definitionList, const std::vector< int > &indices, const std::string &prefix) const override |
| Collect variable definitions. | |
| int | setArguments (GL::Program &p, const std::vector< int > &indices, const std::string &prefix) const override |
| Set uniform/sampler arguments. | |
| int | numImgs () const override |
| Return number of images of this expression. | |
| ImageDescriptor | imgDesc () const override |
| Return ImageDescriptor of this expression. This reference is expected to remain the same while the class exists. | |
| DeviceStrategy | deviceStrategy () const override |
| Return DeviceStrategy of this expression. | |
| std::vector< internal::GlExprInterface * > | children () override |
| Used for traversing the expression tree. Contains the immediate children of node. | |
| std::vector< const internal::GlExprInterface * > | children () const override |
| Used for traversing the expression tree. Contains the immediate children of node. | |
| Public Member Functions inherited from ImFusion::ImageMath::ExprBase | |
| ImageDescriptor | imgDesc () const |
| Return ImageDescriptor of the expression (forwards to the ExprInterface). | |
| int | numImgs () const |
| Return the number of images of the expression (forwards to the ExprInterface). | |
| template<typename T, typename ImgType = void> | |
| auto | evaluateIntoImage (bool clearShiftScale=false) const |
| Evaluate expression into an image. | |
| void | eval (Array< SharedImage, void > &img, const SharedImage *variable) const |
| void | eval (Array< SharedImage, void > &img) const |
| Evaluate into SharedImage. | |
| void | eval (Array< SharedImageSet, void > &img, const SharedImageSet *variable) const |
Evaluate into SharedImageSet. Variable leafs will be substituted with variable. | |
| void | eval (Array< SharedImageSet, void > &img) const |
| Evaluate into SharedImageSet. | |
| internal::GlExprInterface & | glExprInterface () |
| const internal::GlExprInterface & | glExprInterface () const |
| ExprInterface & | exprInterface () |
| const ExprInterface & | exprInterface () const |
| template<typename Op> | |
| reduction_type | reduce (std::vector< vec4i > *arg=nullptr) const |
| std::unique_ptr< ExprBase > | forceCPU () const |
| Forces CPU execution. | |
| std::unique_ptr< ExprBase > | forceGPU () const |
| Forces GPU execution. | |
| std::unique_ptr< ExprBase > | channelSwizzle (const std::vector< std::size_t > &indices) const |
| template<typename CastT> | |
| std::unique_ptr< ExprBase > | cast () const |
| ADD_REDUCTION_OP_DEF (sum, add) | |
| ADD_REDUCTION_OP_DEF (prod, mult) | |
| ADD_ARG_REDUCTION_OP_DEF (min, min) | |
| ADD_ARG_REDUCTION_OP_DEF (max, max) | |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | mean () const |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | l1Norm () const |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | squaredl2Norm () const |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | l2Norm () const |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | lpNorm (double p) const |
| Eigen::Matrix< double, Eigen::Dynamic, 1 > | lInfNorm () const |
| Public Member Functions inherited from ImFusion::ImageMath::internal::GlExprInterface | |
| ExprInterface & | exprInterface () |
| Get image descriptor of the wrapped expression. | |
| const ExprInterface & | exprInterface () const |
| virtual bool | setMagFilter (ImageMath::MagFilter mag) |
| Set interpolation behaviour of the current leaf (only). | |
| virtual bool | setWrap (ImageMath::Wrap wrap) |
| Set interpolation behaviour of the current leaf (only). | |
| bool | setMagFilterRecursive (ImageMath::MagFilter mag) |
| Set interpolation behaviour of the current leaf and all of its children. | |
| bool | setWrapRecursive (ImageMath::Wrap wrap) |
| Set wrap behaviour of the current leaf and all of its children. | |
Additional Inherited Members | |
| Public Types inherited from ImFusion::ImageMath::ExprBase | |
| enum class | ExprType { Scalar = 0 , SharedImage = 1 , SharedImageSet = 2 , Variable = 3 } |
|
inlineoverridevirtual |
Return the ImFusion image type, i.e. NoImage, SharedImage, SharedImageSet.
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Clone the current expression. May not return nullptr.
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Substitute all variables with variable
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Substitute all variables with variable.
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Convert a SharedImageSet expression to a SharedImage expression.
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Implementation functionality used in eval()
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Implementation functionality used in eval().
Implements ImFusion::ImageMath::ExprBase.
|
inlineoverridevirtual |
Print expression.
Implements ImFusion::ImageMath::internal::GlExprInterface.
|
inlineoverridevirtual |
We need to tag leaves and tell unique leaves that they are responsible to define the uniforms and set the shader arguments.
The names for uniforms and variables will also be assigned during this stage
Implements ImFusion::ImageMath::internal::GlExprInterface.
|
inlineoverridevirtual |
Collect uniform/sampler definitions.
Implements ImFusion::ImageMath::internal::GlExprInterface.
|
inlineoverridevirtual |
Collect variable definitions.
Implements ImFusion::ImageMath::internal::GlExprInterface.
|
inlineoverridevirtual |
Set uniform/sampler arguments.
Implements ImFusion::ImageMath::internal::GlExprInterface.
|
inlineoverridevirtual |
Return number of images of this expression.
Implements ImFusion::ImageMath::ExprInterface.
|
inlineoverridevirtual |
Return ImageDescriptor of this expression. This reference is expected to remain the same while the class exists.
Implements ImFusion::ImageMath::ExprInterface.
|
inlineoverridevirtual |
Return DeviceStrategy of this expression.
Implements ImFusion::ImageMath::ExprInterface.
|
inlineoverridevirtual |
Used for traversing the expression tree. Contains the immediate children of node.
Implements ImFusion::ImageMath::internal::GlExprInterface.
|
inlineoverridevirtual |
Used for traversing the expression tree. Contains the immediate children of node.
Implements ImFusion::ImageMath::internal::GlExprInterface.