move bmesh wiki docs into bmesh header and update doxygen.
authorCampbell Barton <ideasman42@gmail.com>
Mon, 27 Feb 2012 20:27:19 +0000 (20:27 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 27 Feb 2012 20:27:19 +0000 (20:27 +0000)
also have doxygen ignore *.py files and fix some warnings.

23 files changed:
GNUmakefile
doc/doxygen/Doxyfile
doc/doxygen/doxygen.source
source/blender/avi/AVI_avi.h
source/blender/blenkernel/BKE_idcode.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/BKE_tracking.h
source/blender/blenlib/intern/md5.c
source/blender/blenlib/intern/path_util.c
source/blender/blenlib/intern/string_utf8.c
source/blender/blenloader/intern/writefile.c
source/blender/bmesh/bmesh.h
source/blender/bmesh/bmesh_class.h
source/blender/bmesh/intern/bmesh_mods.c
source/blender/bmesh/intern/bmesh_structure.h
source/blender/collada/ExtraHandler.h
source/blender/collada/ExtraTags.h
source/blender/editors/include/BIF_glutil.h
source/blender/editors/space_clip/clip_toolbar.c
source/blender/editors/space_node/node_templates.c
source/blender/editors/uvedit/uvedit_smart_stitch.c
source/blender/imbuf/intern/IMB_metadata.h
source/blender/imbuf/intern/metadata.c

index 367819e..4772335 100644 (file)
@@ -258,7 +258,7 @@ doc_py:
        @echo "docs written into: '$(BLENDER_DIR)/doc/python_api/sphinx-out/contents.html'"
 
 doc_doxy:
-       cd doc/doxygen; doxygen 
+       cd doc/doxygen; doxygen Doxyfile
        @echo "docs written into: '$(BLENDER_DIR)/doc/doxygen/html/index.html'"
 
 doc_dna:
index e8fb065..8444ea7 100644 (file)
@@ -31,7 +31,7 @@ PROJECT_NAME           = Blender
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = "V2.59"
+PROJECT_NUMBER         = "V2.6x"
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer
@@ -648,7 +648,7 @@ RECURSIVE              = YES
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = ../../source/gameengine/PyDoc
+EXCLUDE                = ../../build_files, ../../release
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
 # directories that are symbolic links (a Unix file system feature) are excluded 
@@ -662,7 +662,7 @@ EXCLUDE_SYMLINKS       = NO
 # against the file with absolute path, so to exclude all test directories 
 # for example use the pattern */test/*
 
-EXCLUDE_PATTERNS       = .svn
+EXCLUDE_PATTERNS       = .svn .git *.py
 
 # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
 # (namespaces, classes, functions, etc.) that should be excluded from the 
index cc3a2b1..f27a5a8 100644 (file)
@@ -8,14 +8,14 @@
 /** \defgroup render Rendering
  *  \ingroup blender
  */
-/** \defgroup meshedit Mesh Editing */
+/** \defgroup bmesh BMesh
+ *  \ingroup blender
+ */
 /** \defgroup texture Texturing */
 /** \defgroup compositor Compositing */
 
-/** \defgroup scripts Scripting */
-
 /** \defgroup python Python
- *  \ingroup blender scripts
+ *  \ingroup blender
  */
 
 /** \defgroup pygen Python Generic
  *  \ingroup imbuf
  */
 
-/** \defgorup imbdds DDS
+/** \defgroup imbdds DDS
  *  \ingroup imbuf
  */
 
index 00c6863..a579bf7 100644 (file)
@@ -249,7 +249,7 @@ AviError AVI_open_compress (char *name, AviMovie *movie, int streams, ...);
 AviError AVI_close_compress (AviMovie *movie);
 
 /**
- * Choose a compression option for <movie>. Possible options are
+ * Choose a compression option for \<movie\>. Possible options are
  * AVI_OPTION_TYPE_MAIN, AVI_OPTION_TYPE_STRH, AVI_OPTION_TYPE_STRF
  */
 AviError AVI_set_compress_option (AviMovie *movie,
@@ -272,7 +272,7 @@ AviError AVI_set_compress_option (AviMovie *movie,
 #define AVI_OPTION_TYPE_STRF 2
 
 /**
- * Direct the streams <avist_type> to <movie>. Redirect <stream_num>
+ * Direct the streams \<avist_type\> to \<movie\>. Redirect \<stream_num\>
  * streams.
  */
 int AVI_get_stream (AviMovie *movie, int avist_type, int stream_num);
index 2188bed..d8e77ab 100644 (file)
@@ -77,7 +77,7 @@ int BKE_idcode_is_valid(int code);
 /**
  * Return an ID code and steps the index forward 1.
  *
- * @param index, start as 0.
+ * @param index start as 0.
  * @return the code, 0 when all codes have been returned.
  */
 int BKE_idcode_iter_step(int *index);
index 4b312e4..ce87a2e 100644 (file)
@@ -165,7 +165,7 @@ typedef struct bNodeType {
        /// Create a template from an existing node.
        struct bNodeTemplate (*templatefunc)(struct bNode *);
        /** If a node can be made from the template in the given node tree.
-        * \example Node groups can not be created inside their own node tree.
+        * \note Node groups can not be created inside their own node tree.
         */
        int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
        
index 689376a..f1daa5d 100644 (file)
@@ -27,7 +27,7 @@
 #ifndef __BKE_TRACKING_H__
 #define __BKE_TRACKING_H__
 
-/** \file BKE_trackingp.h
+/** \file BKE_tracking.h
  *  \ingroup bke
  *  \author Sergey Sharybin
  */
index 25582a5..a521d0e 100644 (file)
@@ -1,6 +1,7 @@
-/** \file blender/imbuf/intern/md5.c
+/** \file blender/blenlib/intern/md5.c
  *  \ingroup imbuf
  */
+
 /* md5.c - Functions to compute MD5 message digest of files or memory blocks
    according to the definition of MD5 in RFC 1321 from April 1992.
    Copyright (C) 1995 Software Foundation, Inc.
index e79490b..18f7767 100644 (file)
@@ -1855,6 +1855,7 @@ const char *BLI_program_dir(void)
 * Also make sure the temp dir has a trailing slash
 *
 * @param fullname The full path to the temp directory
+* @param maxlen The size of the fullname buffer
 * @param userdir Directory specified in user preferences 
 */
 static void BLI_where_is_temp(char *fullname, const size_t maxlen, char *userdir)
index 89136f2..cf865b5 100644 (file)
@@ -345,7 +345,7 @@ int BLI_str_utf8_size(const char *p)
 /* was g_utf8_get_char */
 /**
  * BLI_str_utf8_as_unicode:
- * @p: a pointer to Unicode character encoded as UTF-8
+ * @p a pointer to Unicode character encoded as UTF-8
  *
  * Converts a sequence of bytes encoded as UTF-8 to a Unicode character.
  * If @p does not point to a valid UTF-8 encoded character, results are
@@ -432,10 +432,10 @@ unsigned int BLI_str_utf8_as_unicode_step(const char *p, size_t *index)
 /* was g_unichar_to_utf8 */
 /**
  * BLI_str_utf8_from_unicode:
- * @c: a Unicode character code
- * @outbuf: output buffer, must have at least 6 bytes of space.
+ * @c a Unicode character code
+ * @param outbuf output buffer, must have at least 6 bytes of space.
  *       If %NULL, the length will be computed and returned
- *       and nothing will be written to @outbuf.
+ *       and nothing will be written to outbuf.
  *
  * Converts a single character to UTF-8.
  *
@@ -488,11 +488,11 @@ size_t BLI_str_utf8_from_unicode(unsigned int c, char *outbuf)
 /**
  * BLI_str_find_prev_char_utf8:
  * @str: pointer to the beginning of a UTF-8 encoded string
- * @p: pointer to some position within @str
+ * @p pointer to some position within @str
  *
  * Given a position @p with a UTF-8 encoded string @str, find the start
- * of the previous UTF-8 character starting before @p. Returns %NULL if no
- * UTF-8 characters are present in @str before @p.
+ * of the previous UTF-8 character starting before. @p Returns %NULL if no
+ * UTF-8 characters are present in @str before @p
  *
  * @p does not have to be at the beginning of a UTF-8 character. No check
  * is made to see if the character found is actually valid other than
@@ -513,11 +513,11 @@ char * BLI_str_find_prev_char_utf8(const char *str, const char *p)
 /* was g_utf8_find_next_char */
 /**
  * BLI_str_find_next_char_utf8:
- * @p: a pointer to a position within a UTF-8 encoded string
- * @end: a pointer to the byte following the end of the string,
+ * @p a pointer to a position within a UTF-8 encoded string
+ * @end a pointer to the byte following the end of the string,
  * or %NULL to indicate that the string is nul-terminated.
  *
- * Finds the start of the next UTF-8 character in the string after @p.
+ * Finds the start of the next UTF-8 character in the string after @p
  *
  * @p does not have to be at the beginning of a UTF-8 character. No check
  * is made to see if the character found is actually valid other than
@@ -545,9 +545,9 @@ char *BLI_str_find_next_char_utf8(const char *p, const char *end)
 /* was g_utf8_prev_char */
 /**
  * BLI_str_prev_char_utf8:
- * @p: a pointer to a position within a UTF-8 encoded string
+ * @p a pointer to a position within a UTF-8 encoded string
  *
- * Finds the previous UTF-8 character in the string before @p.
+ * Finds the previous UTF-8 character in the string before @p
  *
  * @p does not have to be at the beginning of a UTF-8 character. No check
  * is made to see if the character found is actually valid other than
index d6beab4..d5ed309 100644 (file)
@@ -285,7 +285,8 @@ static void mywrite( WriteData *wd, void *adr, int len)
 /**
  * BeGiN initializer for mywrite
  * @param file File descriptor
- * @param write_flags Write parameters
+ * @param compare Previous memory file (can be NULL).
+ * @param current The current memory file (can be NULL).
  * @warning Talks to other functions with global parameters
  */
 static WriteData *bgnwrite(int file, MemFile *compare, MemFile *current)
index 1b15e54..a7caf02 100644 (file)
 
 /** \file blender/bmesh/bmesh.h
  *  \ingroup bmesh
+ *
+ * \addtogroup bmesh BMesh
+ *
+ * \brief BMesh is a non-manifold boundary representation designed to replace the current, limited EditMesh structure,
+ * solving many of the design limitations and maintenance issues of EditMesh.
+ *
+ *
+ * \section bm_structure The Structure
+ *
+ * BMesh stores topology in four main element structures:
+ *
+ * - Faces - BMFace
+ * - Loops - BMLoop, (stores per-face-vertex data, UV's, vertex-colors, etc)
+ * - Edges - BMEdge
+ * - Verts - BMVert
+ *
+ *
+ * \subsection bm_header_flags Header Flags
+ * Each element (vertex/edge/face/loop) in a mesh has an associated bit-field called "header flags".
+ *
+ * BMHeader flags should <b>never</b> be read or written to by bmesh operators (see Operators below).
+ *
+ * Access to header flags is done with BM_elem_flag_*() functions.
+ *
+ *
+ * \subsection bm_faces Faces
+ *
+ * Faces in BMesh are stored as a circular linked list of loops. Loops store per-face-vertex data
+ * (amongst other things outlined later in this document), and define the face boundary.
+ *
+ *
+ * \subsection bm_loop The Loop
+ *
+ * Loops define the boundary loop of a face. Each loop logically corresponds to an edge,
+ * which is defined by the loop and next loop's vertices.
+ *
+ * Loops store several handy pointers:
+ *
+ * - BMLoop#v - pointer to the vertex associated with this loop.
+ * - BMLoop#e - pointer to the edge associated with this loop.
+ * - BMLoop#f - pointer to the face associated with this loop.
+ *
+ *
+ * \subsection bm_two_side_face 2-Sided Faces
+ *
+ * There are some situations where you need 2-sided faces (e.g. a face of two vertices).
+ * This is supported by BMesh, but note that such faces should only be used as intermediary steps,
+ * and should not end up in the final mesh.
+ *
+ *
+ * \subsection bm_edges_and_verts Edges and Vertices
+ *
+ * Edges and Vertices in BMesh are much like their counterparts in EditMesh,
+ * except for some members private to the BMesh api.
+ *
+ * \note There can be more then one edge between two vertices in bmesh,
+ * though the rest of blender (e.g. DerivedMesh, CDDM, CCGSubSurf, etc) does not support this.
+ *
+ *
+ * \subsection bm_queries Queries
+ *
+ * The following topological queries are available:
+ *
+ * - Edges/Faces/Loops around a vertex.
+ * - Faces around an edge.
+ * - Loops around an edge.
+ *
+ * These are accessible through the iterator api, which is covered later in this document
+ *
+ * See source/blender/bmesh/bmesh_queries.h for more misc. queries.
+ *
+ *
+ * \section bm_api The BMesh API
+ *
+ * One of the goals of the BMesh API is to make it easy and natural to produce highly maintainable code.
+ * Code duplication, etc are avoided where possible.
+ *
+ *
+ * \subsection bm_iter_api Iterator API
+ *
+ * Most topological queries in BMesh go through an iterator API (see Queries above).
+ * These are defined in bmesh_iterators.h.  If you can, please use the #BM_ITER macro in bmesh_iterators.h
+ *
+ *
+ * \subsection bm_walker_api Walker API
+ *
+ * Topological queries that require a stack (e.g. recursive queries) go through the Walker API,
+ * which is defined in bmesh_walkers.h. Currently the "walkers" are hard-coded into the API,
+ * though a mechanism for plugging in new walkers needs to be added at some point.
+ *
+ * Most topological queries should go through these two APIs;
+ * there are additional functions you can use for topological iteration, but their meant for internal bmesh code.
+ *
+ * Note that the walker API supports delimiter flags, to allow the caller to flag elements not to walk past.
+ *
+ *
+ * \subsection bm_ops Operators
+ *
+ * Operators are an integral part of BMesh. Unlike regular blender operators,
+ * BMesh operators <b>bmo's</b> are designed to be nested (e.g. call other operators).
+ *
+ * Each operator has a number of input/output "slots" which are used to pass settings & data into/out of the operator
+ * (and allows for chaining operators together).
+ *
+ * These slots are identified by name, using strings.
+ *
+ * Access to slots is done with BMO_slot_*() functions.
+ *
+ *
+ * \subsection bm_tool_flags Tool Flags
+ *
+ * The BMesh API provides a set of flags for faces, edges and vertices, which are private to an operator.
+ * These flags may be used by the client operator code as needed
+ * (a common example is flagging elements for use in another operator).
+ * Each call to an operator allocates it's own set of tool flags when it's executed,
+ * avoiding flag conflicts between operators.
+ *
+ * These flags should not be confused with header flags, which are used to store persistent flags
+ * (e.g. selection, hide status, etc).
+ *
+ * Access to tool flags is done with BMO_elem_flag_*() functions.
+ *
+ * \warning Operators are never allowed to read or write to header flags.
+ * They act entirely on the data inside their input slots.
+ * For example an operator should not check the selected state of an element,
+ * there are some exceptions to this - some operators check of a face is smooth.
+ *
+ *
+ * \subsection bm_slot_types Slot Types
+ *
+ * The following slot types are available:
+ *
+ * - integer - #BMO_OP_SLOT_INT
+ * - boolean - #BMO_OP_SLOT_BOOL
+ * - float   - #BMO_OP_SLOT_FLT
+ * - pointer - #BMO_OP_SLOT_PNT
+ * - element buffer - #BMO_OP_SLOT_ELEMENT_BUF - a list of verts/edges/faces
+ * - map     - BMO_OP_SLOT_MAPPING - simple hash map
+ *
+ *
+ * \subsection bm_slot_iter Slot Iterators
+ *
+ * Access to element buffers or maps must go through the slot iterator api, defined in bmesh_operators.h.
+ * Use #BMO_ITER where ever possible.
+ *
+ *
+ * \subsection bm_elem_buf Element Buffers
+ *
+ * The element buffer slot type is used to feed elements (verts/edges/faces) to operators.
+ * Internally they are stored as pointer arrays (which happily has not caused any problems so far).
+ * Many operators take in a buffer of elements, process it,
+ * then spit out a new one; this allows operators to be chained together.
+ *
+ * \note Element buffers may have elements of different types within the same buffer (this is supported by the API.
  */
 
 #ifdef __cplusplus
@@ -38,29 +192,6 @@ extern "C" {
 
 #include "bmesh_class.h"
 
-/*
- * short introduction:
- *
- * the bmesh structure is a boundary representation, supporting non-manifold
- * locally modifiable topology. the API is designed to allow clean, maintainable
- * code, that never (or almost never) directly inspects the underlying structure.
- *
- * The API includes iterators, including many useful topological iterators;
- * walkers, which walk over a mesh, without the risk of hitting the recursion
- * limit; operators, which are logical, reusable mesh modules; topological
- * modification functions (like split face, join faces, etc), which are used for
- * topological manipulations; and some (not yet finished) geometric utility
- * functions.
- *
- * some definitions:
- *
- * tool flags: private flags for tools.  each operator has it's own private
- *             tool flag "layer", which it can use to flag elements.
- *             tool flags are also used by various other parts of the api.
- * header flags: stores persistent flags, such as selection state, hide state,
- *               etc.  be careful of touching these.
- */
-
 /*forward declarations*/
 struct Mesh;
 
@@ -79,32 +210,37 @@ struct Mesh;
 */
 
 /* BMHeader->htype (char) */
-#define BM_VERT        1
-#define BM_EDGE        2
-#define BM_LOOP        4
-#define BM_FACE        8
-#define BM_ALL         (BM_VERT | BM_EDGE | BM_LOOP | BM_FACE)
+enum {
+       BM_VERT = 1,
+       BM_EDGE = 2,
+       BM_LOOP = 4,
+       BM_FACE = 8
+};
+
+#define BM_ALL (BM_VERT | BM_EDGE | BM_LOOP | BM_FACE)
 
 /* BMHeader->hflag (char) */
-#define BM_ELEM_SELECT (1 << 0)
-#define BM_ELEM_HIDDEN (1 << 1)
-#define BM_ELEM_SEAM   (1 << 2)
-#define BM_ELEM_SMOOTH (1 << 3) /* used for faces and edges, note from the user POV,
+enum {
+       BM_ELEM_SELECT  = (1 << 0),
+       BM_ELEM_HIDDEN  = (1 << 1),
+       BM_ELEM_SEAM    = (1 << 2),
+       BM_ELEM_SMOOTH  = (1 << 3), /* used for faces and edges, note from the user POV,
                                   * this is a sharp edge when disabled */
 
-#define BM_ELEM_TAG     (1 << 4) /* internal flag, used for ensuring correct normals
-                                  * during multires interpolation, and any other time
-                                  * when temp tagging is handy.
-                                  * always assume dirty & clear before use. */
+       BM_ELEM_TAG     = (1 << 4), /* internal flag, used for ensuring correct normals
+                                 * during multires interpolation, and any other time
+                                 * when temp tagging is handy.
+                                 * always assume dirty & clear before use. */
 
-/* we have 3 spare flags which is awesome but since we're limited to 8
- * only add new flags with care! - campbell */
-/* #define BM_ELEM_SPARE        (1 << 5) */
-/* #define BM_ELEM_SPARE        (1 << 6) */
+       /* we have 2 spare flags which is awesome but since we're limited to 8
       * only add new flags with care! - campbell */
+       /* BM_ELEM_SPARE  = (1 << 5), */
+       /* BM_ELEM_SPARE  = (1 << 6), */
 
-#define BM_ELEM_INTERNAL_TAG (1 << 7) /* for low level internal API tagging,
-                                       * since tools may want to tag verts and
-                                       * not have functions clobber them */
+       BM_ELEM_INTERNAL_TAG = (1 << 7) /* for low level internal API tagging,
+                                     * since tools may want to tag verts and
+                                     * not have functions clobber them */
+};
 
 /* Mesh Level Ops */
 extern int bm_mesh_allocsize_default[4];
index 87607f4..f071e00 100644 (file)
@@ -188,9 +188,4 @@ typedef struct BMesh {
        int opflag; /* current operator flag */
 } BMesh;
 
-#define BM_VERT                1
-#define BM_EDGE                2
-#define BM_LOOP                4
-#define BM_FACE                8
-
 #endif /* __BMESH_CLASS_H__ */
index eb3a7f6..37fee47 100644 (file)
@@ -375,7 +375,8 @@ BMFace *BM_face_split(BMesh *bm, BMFace *f, BMVert *v1, BMVert *v2, BMLoop **nl,
  * @param fac The factor along the edge
  * @param join_faces When true the faces around the vertex will be joined
  * otherwise collapse the vertex by merging the 2 edges this vert touches into one.
- *  @returns The New Edge
+ * @param kill_degenerate_faces Removes faces with less than 3 verts after collapsing.
+ * @returns The New Edge
  */
 
 BMEdge *BM_vert_collapse_faces(BMesh *bm, BMEdge *ke, BMVert *kv, float fac,
index 75dbbb9..a4fa2a0 100644 (file)
@@ -55,8 +55,8 @@ BMEdge *bmesh_disk_faceedge_find_next(BMEdge *e, BMVert *v);
 /* RADIAL CYCLE MANAGMENT */
 void    bmesh_radial_append(BMEdge *e, BMLoop *l);
 void    bmesh_radial_loop_remove(BMLoop *l, BMEdge *e);
-int     bmesh_radial_face_find(BMEdge *e, BMFace *f);
 BMLoop *bmesh_radial_loop_next(BMLoop *l);
+int     bmesh_radial_face_find(BMEdge *e, BMFace *f);
 int     bmesh_radial_facevert_count(BMLoop *l, BMVert *v);
 BMLoop *bmesh_radial_faceloop_find_first(BMLoop *l, BMVert *v);
 BMLoop *bmesh_radial_faceloop_find_next(BMLoop *l, BMVert *v);
index eb7d32b..68656df 100644 (file)
@@ -35,7 +35,7 @@
 #include "DocumentImporter.h"
 #include "AnimationImporter.h"
 
-/** \brief Handler class for <extra> data, through which different
+/** \brief Handler class for \<extra\> data, through which different
  * profiles can be handled
  */
 class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler
index 1655ff0..f8d12e6 100644 (file)
@@ -28,7 +28,7 @@
 #include <map>
 #include <vector>
 
-/** \brief Class for saving <extra> tags for a specific UniqueId.
+/** \brief Class for saving \<extra\> tags for a specific UniqueId.
  */
 class ExtraTags
 {
index b1114eb..0f8c709 100644 (file)
@@ -97,7 +97,7 @@ float glaGetOneFloat          (int param);
         * should be coordinates of a point known to be within the current
         * view frustum.
         * @attention This routine should be used when the distance of @a x 
-        * and @y away from the known good point is small (ie. for small icons
+        * and @y away from the known good point is small (ie. for small icons
         * and for bitmap characters), when drawing large+zoomed images it is
         * possible for overflow to occur, the glaDrawPixelsSafe routine should
         * be used instead.
index 941c12d..d90f429 100644 (file)
@@ -25,7 +25,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/editors/space_clip/clip_header.c
+/** \file blender/editors/space_clip/clip_toolbar.c
  *  \ingroup spclip
  */
 
index 8d82dd3..24fb55b 100644 (file)
@@ -20,7 +20,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/editors/interface/interface_node.c
+/** \file blender/editors/space_node/node_templates.c
  *  \ingroup edinterface
  */
 
index 5211e64..1fc1a0c 100644 (file)
@@ -25,7 +25,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/editors/uvedit/uvedit_stitch.c
+/** \file blender/editors/uvedit/uvedit_smart_stitch.c
  *  \ingroup eduv
  */
 
index 9b3a800..3ae1015 100644 (file)
@@ -71,7 +71,7 @@ int IMB_metadata_get_field(struct ImBuf* img, const char* key, char* value, int
  *  @param value - the data to be written to the field. zero terminated string
  *  @return    - 1 (true) if ImageInfo present, 0 (false) otherwise
  */
-int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* field);
+int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* value);
 
 /** delete the key/field par in the ImMetaData struct.
  * @param img - the ImBuf that contains the image data
index e6b6e9a..2b6fed5 100644 (file)
@@ -84,7 +84,7 @@ int IMB_metadata_get_field(struct ImBuf* img, const char* key, char* field, int
        return retval;
 }
 
-int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* field)
+int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* value)
 {
        ImMetaData *info;
        ImMetaData *last;
@@ -106,7 +106,7 @@ int IMB_metadata_add_field(struct ImBuf* img, const char* key, const char* field
                last->next = info;
        }
        info->key = BLI_strdup(key);
-       info->value = BLI_strdup(field);
+       info->value = BLI_strdup(value);
        return 1;
 }