ImFusion C++ SDK 4.5.0
ImFusion::US::GlScanConversionLinearGeometricTransform Class Reference

#include <ImFusion/US/GlScanConversionLinearGeometricTransform.h>

A geometric transform shader include that converts image coordinates to pre-scanconverted coordinates of linear frame geometries and vice versa. More...

Inheritance diagram for ImFusion::US::GlScanConversionLinearGeometricTransform:

Detailed Description

A geometric transform shader include that converts image coordinates to pre-scanconverted coordinates of linear frame geometries and vice versa.

See also
GlGeometricTransform for the shader function interface, and FrameGeometryLinear for the formal definition of the geometry.

Public Member Functions

 GlScanConversionLinearGeometricTransform (bool isTopDown, double steeringAngle, vec2 offset, vec2 imageSize, vec2i preScanSize)
 Creates a new GlScanConversionLinearGeometricTransform instance.
int setIncludeArguments (GL::Program &p, const std::string &prefix) const override
 Sets all needed uniforms and input textures to be used by this OpenGL shader instance, with a given prefix to support multiple includes.
Public Member Functions inherited from ImFusion::US::GlGeometricTransform
 GlGeometricTransform (const std::string &includePath)
 Instantiates a new GL::AbstractInclude using IMAGE_TRANSFORM as defineName and the given path the to retrieve the GLSL source code from.
Public Member Functions inherited from ImFusion::GL::AbstractInclude
 AbstractInclude (const std::string &defineName, const std::string &includePath)
 Creates a AbstractInclude for the given define and with the corresponding GLSL file at includePath.
const std::stringdefineName () const
 Returns the name of define used by this include.
const std::stringincludePath () const
 Returns the path to the included shader file.
virtual std::function< std::string(const std::string &)> includeCodeSubstitution () const
 Optionally the abstract include can provide a function to change the shader code.
virtual std::vector< AbstractInclude * > dependentIncludes () const
 Returns a list of dependent abstract includes that need to be included as well.
virtual Fingerprint fingerprint () const
 Provides a finger print of the include.
Public Member Functions inherited from ImFusion::GL::MultiIncludable< GlGeometricTransform >
std::shared_ptr< MultiIncludeTypecreateMultiInclude (const std::string &replacementToken)
 Instantiates a new AbstractInclude instance where all occurrences of baseToken provided during construction are replaces with replacementToken according to the specified replacementScheme.
virtual int setIncludeArguments (Program &prog, IncludeArgumentsTypes... includeArgs, const std::string &token) const=0
 Interface that multi includes should use to configure the shader include (such as setting uniforms, binding textures, etc).

Additional Inherited Members

Public Types inherited from ImFusion::GL::MultiIncludable< GlGeometricTransform >
using MultiIncludeType
 Alias for type of a multi-include instance of the original include.
Static Public Member Functions inherited from ImFusion::US::GlGeometricTransform
static std::string defineName ()
 Returns "IMAGE_TRANSFORM".
static std::string defineSuffix ()
 Returns "TRANSFORM".
static std::string multiIncludeDefine (const std::string &replacementToken)
 Returns "IMAGE_" + toUpper(replacementToken).
Protected Member Functions inherited from ImFusion::GL::MultiIncludable< GlGeometricTransform >
 MultiIncludable (GlGeometricTransform *crtpInstance, const std::string &baseToken, Flags< ShaderTextReplacement > replacementScheme)
 Instantiate and configure the MultiIncludable interface.

Constructor & Destructor Documentation

◆ GlScanConversionLinearGeometricTransform()

ImFusion::US::GlScanConversionLinearGeometricTransform::GlScanConversionLinearGeometricTransform ( bool isTopDown,
double steeringAngle,
vec2 offset,
vec2 imageSize,
vec2i preScanSize )

Creates a new GlScanConversionLinearGeometricTransform instance.

Parameters
isTopDownWhether the image is top-down or bottom-up.
steeringAngleThe steering angle of the linear geometry in degrees.
offsetThe offset of the linear geometry in image coordinates.
imageSizeThe size of the image in pixels.
preScanSizeThe size of the pre-scan image in pixels.

Member Function Documentation

◆ setIncludeArguments()

int ImFusion::US::GlScanConversionLinearGeometricTransform::setIncludeArguments ( GL::Program & p,
const std::string & prefix ) const
overridevirtual

Sets all needed uniforms and input textures to be used by this OpenGL shader instance, with a given prefix to support multiple includes.

The parameters are retrieved from the class members that were assigned on construction.

Implements ImFusion::US::GlGeometricTransform.


The documentation for this class was generated from the following file:
  • ImFusion/US/GlScanConversionLinearGeometricTransform.h
Search Tab / S to search, Esc to close