ldpk
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 NldpkThe namespace of (most of the) things related to the Lens Distortion Plugin Kit
 CboxA simple box class for double precision points in 2d. We will extend this as needed
 Cclassic_3de_mixed_distortionDegree-2 anamorphic and degree-4 radial mixed model
 Ccylindric_extender
 Ccylindric_extender_2"Symmetric" version. Scaling by sqrt(1+b) in para-direction and 1/sqrt(1+b) in ortho-direction. The important thing is, that we have turned an almost-symmetry into a perfect symmetry: phi -> phi + 90deg, b -> 1/b. The drawback is, that this models the curved beam splitter only if focal length is corrected slightly, by a factor sqrt(1+b). Nevertheless we are using this model in "3DE4 Radial - Standard, Degree 4"
 Cerror_baseBase class for errors
 Cerror_could_not_read_parameter_nameAnother parse error
 Cerror_could_not_read_valueA parse error
 Cerror_dynamic_linkAn error occurred while loading or linking the plugin
 Cerror_end_of_streamUnexpected end of stream. This can occur in ldpk::model_parser
 Cerror_index_out_of_rangeSome index was out of range
 Cerror_no_model_specifiedNo model was set in one of the utility classes
 Cerror_undefined_parameterUndefined parameter
 Cextender_baseBase class of all extenders The concept of extenders as turned out to be useful in the new-style distortion models which compensate for beam-splitter effects or rotated anamorphic lenses. Essentially, an extender maps from vec2_type to vec2_type. It also provides the inverse mapping. Up to now, all extenders have a simple representation as a 2x2-matrix (i.e. they are linear maps), but it might be necessary in the future to extend this to affine transformations
 Cgeneric_anamorphic_distortionA polynomial distortion model for anamorphic distortion without decntering. N is the degree of the polynomial, even. VEC2 is a float-valued, two-component vector type. The model has the following properties:
 Cgeneric_anamorphic_distortion< VEC2, MAT2, 4 >Specialization for degree-4 for better performance. Also, this allows us to implement the Jacobian quite easy. We need this in ld model "Anamorphic - Standard, Degree4"
 Cgeneric_anamorphic_distortion< VEC2, MAT2, 6 >Specialization for degree-6 for better performance. Also, this allows us to implement the Jacobian quite easy
 Cgeneric_distortion_baseBase class for a distortion model with N parameters. You may find it useful to derive your own distortion model class from this one. It contains methods for inverting the distortion model function. We derive this class from the standard unary function class in order to get a well-defined function object
 Cgeneric_radial_distortionA polynomial model with N coefficients for radially symmetric lenses. This class contains the model for normalized coordinates with diagonal radius = 1. Lens center is at (0,0), because we take it into account in the plugin class
 Chighest_bit_ctCompile-Time computations, needed by ldpk::power_ct
 Chighest_bit_ct< 1 >
 Cldp_builtinThis class handles the built-in parameter and the lookup table. You may find it useful for your own distortion model, since it implements the built-in parameters and the lookup table mechanism. But in contrast to tde4_ld_plugin it's not stringent to use it from a technical point of view. Alternatively you can implement all this in your plugin class
 Clinear_extenderA general linear extender, based on a 2x2-matrix
 Clookup_tableUse your own two-dimensional double-valued vector type as VEC2
 Cmat2dA class for double-valued 2x2-matrices. The matrix class for ldpk::vec2d
 Cmodel_parserA class for reading distortion model parameters from a stream. Might be helpful for testing. Just another nice-to-have..
 Cplugin_loaderA simple plugin loader for testing and debugging purposes
 Cpower_ctComputing N powers of a given number, where N is a compile-time constant
 Cpower_ct< T, 1 >
 Cpower_ct< T, 2 >
 Cradial_decentered_distortionA polynomial radially symmetric model of degree 4 with decentering. This is the distortion model for 3DE4's "Radial, Standard - Degree 4"
 Crotation_extenderThe rotation extender simply rotates the incident ray around the optical axis. We need this e.g. for the new-style squeeze-rotation anamorphic distortion model
 Csqueeze_x_extenderThe squeeze-x/y-extender scales the optical-axis-perpendicular coordinates of the incident ray towards the optical axis, either in x or in y direction
 Csqueeze_y_extender
 Ctable_generatorGenerate table data from plugin for visualization
 Cvec2dA class for two-dimensional double-valued vectors We have added this class and ldpk::mat2d in order to deliver a self-consistent kit. You may use this one or your own vector and matrix classes, at your choice. If you prefer your own classes, it will be necessary to add a handful of functions like dot(), dotsq(), norm2() for vec2d and invert() for mat2d, which provide standard functions, but do not have standardized nomenclature
 Ciop_tde4_ldp_all_par_typesNuke plugin based on tde4_ldp_all_par_types
 Ciop_tde4_ldp_anamorphic_deg_4_rotate_squeeze_xyNuke plugin based on tde4_ldp_anamorphic_deg_4_rotate_squeeze_xy
 Ciop_tde4_ldp_anamorphic_deg_4_rotate_squeeze_xy_rescaledNuke plugin based on tde4_ldp_anamorphic_deg_4_rotate_squeeze_xy_rescaled
 Ciop_tde4_ldp_anamorphic_deg_6Nuke plugin based on tde4_ldp_anamorphic_deg_6
 Ciop_tde4_ldp_classic_3de_mixedNuke plugin based on tde4_ldp_classic_3de_mixed
 Ciop_tde4_ldp_radial_decentered_deg_4_cylindricNuke plugin based on tde4_ldp_radial_decentered_deg_4_cylindric
 Ciop_tde4_ldp_radial_deg_8Nuke plugin based on tde4_ldp_radial_deg_8
 Ciop_tde4_ldp_radial_deg_8_release_1Nuke plugin based on tde4_ldp_radial_deg_8
 Cnuke_ld_3de4_baseThe baseclass for Nuke plugins around LDPK-based lens distortion models. In order to implement a Nuke plugin, derive from this class
 Ctde4_ld_pluginLens Distortion Plugin Base Class
 Ctde4_ldp_all_par_typesExample plugin class containing one parameter of each type. The main purpose of this model is to test the various parameter types. It is based on a degree-4-anamorphic model and allows to control the lower order coefficients and squeeze parameters
 Ctde4_ldp_anamorphic_deg_4_rotate_squeeze_xy
 Ctde4_ldp_anamorphic_deg_4_rotate_squeeze_xy_rescaled
 Ctde4_ldp_anamorphic_deg_6Plugin class for anamorphic distortion. Does not compensate for decentering. Parameters can be calculated by 3DE's Matrix Tool
 Ctde4_ldp_classic_3de_mixedDegree-2 anamorphic and degree-4 radial mixed model. Does not compensate for decentering. Parameters can be calculated by 3DE's Matrix Tool
 Ctde4_ldp_py_wrapper
 Ctde4_ldp_radial_decentered_deg_4_cylindricPlugin class for radial distortion with decentering and optional compensation for beam-splitter artefacts. Parameters can be calculated by 3DE's Matrix Tool
 Ctde4_ldp_radial_deg_8Plugin class for radial distortion. Does not compensate for decentering. Parameters can be calculated by 3DE's Matrix Tool
 Ctde4_ldp_radial_deg_8_release_1Plugin class for radial distortion. Does not compensate for decentering. Parameters can be calculated by 3DE's Matrix Tool