Skip to content

Instantly share code, notes, and snippets.

@cheako
Created June 15, 2018 19:57
Show Gist options
  • Save cheako/a0481eaf6f17d6935f2e7648e43a3f5d to your computer and use it in GitHub Desktop.
Save cheako/a0481eaf6f17d6935f2e7648e43a3f5d to your computer and use it in GitHub Desktop.
/*!
* @brief translate existing transform matrix by v vector
* and stores result in same matrix
*
* @param[in, out] m affine transfrom
* @param[in] v translate vector [x, y, z]
*/
CGLM_INLINE
void
glm_translate(mat4 m, vec3 v) {
@cheako
Copy link
Author

cheako commented Jun 15, 2018

Output:

 * @brief translate existing transform matrix by v vector
 *        and stores result in same matrix
END
 *
END
 * @param[in, out]  m  affine transfrom
END
 * @param[in]       v  translate vector [x, y, z]
 */
END
CGLM_INLINE
void
glm_translate(mat4 m, vec3 v) {
deffunc(v, <glm_translate(mat4 m, vec3 v) {
>, translate existing transform matrix by v vector
 and stores result in same matrix
 @param[in, out] m affine transfrom
 @param[in] v translate vector [x, y, z]
)dnl

Script:

_brief && ( \
                / \*[[:space:]]*$/ || \
                /^CGLM_INLINE/ || \
                $2 ~ /^@/ \
        ) { print "END"; brief=_brief; _breif=0; };
        _brief { print; for(i=2;i<=NF;++i)_brief=_brief" "$i; };
        /^ \* @brief/ { print; _brief=$3; for(i=4;i<=NF;++i)_brief=_brief" "$i; };
        cglm_inline == 2 && /);$/ { cglm_inline=0; return_number=0; brief=""; };
        cglm_inline == 2 && / dest)/ {
                print "deffunc(" (return_number ? "r *ERROR*" : "d") \
                        ", <" $0 ">, " brief ")dnl";
                cglm_inline=0; return_number=0; brief="";
        }; cglm_inline == 2 {
                print "deffunc(" (return_number ? "r" : "v") \
                        ", <" $0 ">, " brief ")dnl";
                cglm_inline=0; return_number=0; brief="";
        }; cglm_inline == 1 && /void/ { cglm_inline=2; };
        cglm_inline == 1 { return_number=1; cglm_inline=2; };
        /^CGLM_INLINE/ { cglm_inline=1; };

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment