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

#include <ImFusion/US/GlScanConversionConvexGeometricTransform.h>

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

Inheritance diagram for ImFusion::US::GlScanConversionConvexGeometricTransform:

Detailed Description

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

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

Public Member Functions

 GlScanConversionConvexGeometricTransform (bool isTopDown, double openingAngle, vec2 apex, double depth, double shortRadius, vec2i preScanSize, double steering=0.0)
 Creates a new GlScanConversionConvexGeometricTransform 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

◆ GlScanConversionConvexGeometricTransform()

ImFusion::US::GlScanConversionConvexGeometricTransform::GlScanConversionConvexGeometricTransform ( bool isTopDown,
double openingAngle,
vec2 apex,
double depth,
double shortRadius,
vec2i preScanSize,
double steering = 0.0 )

Creates a new GlScanConversionConvexGeometricTransform instance.

Parameters
isTopDownWhether the image is top-down or bottom-up.
openingAngleThe opening angle of the convex geometry in degrees.
apexThe apex of the convex geometry in image coordinates.
depthThe depth of the convex geometry in image coordinates.
shortRadiusThe short radius of the convex geometry in image coordinates.
preScanSizeThe size of the pre-scan image in pixels.

Member Function Documentation

◆ setIncludeArguments()

int ImFusion::US::GlScanConversionConvexGeometricTransform::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/GlScanConversionConvexGeometricTransform.h
Search Tab / S to search, Esc to close