long g_cRefModule = 0;
-// Handle the the DLL's module
+// Handle the DLL's module
HINSTANCE g_hInst = NULL;
// Standard DLL functions
/**
* Ensure the array is large enough
*
- * /note This function must always be thread-protected by caller. It should only be used by internal code.
+ * \note This function must always be thread-protected by caller. It should only be used by internal code.
*/
void DM_ensure_looptri_data(DerivedMesh *dm)
{
sb = &selboxes[i - selstart];
sb->rot = -ct->rot;
}
-
}
}
}
* #BKE_main_idmap_lookup_id will then check that given ID does exist in \a old_bmain
* before trying to use it.
*
- * \param create_valid_ids_set If \a true, generate a reference to prevent freed memory accesses.
- * \param old_bmain If not NULL, its IDs will be added the the valid references set.
+ * \param create_valid_ids_set: If \a true, generate a reference to prevent freed memory accesses.
+ * \param old_bmain: If not NULL, its IDs will be added the valid references set.
*/
struct IDNameLib_Map *BKE_main_idmap_create(
struct Main *bmain, const bool create_valid_ids_set, struct Main *old_bmain)
* However, they might still be using (referencing) other IDs, this code takes care of it if
* \a LIB_TAG_NO_USER_REFCOUNT is not defined.
*
- * \param bmain Main database containing the freed ID, can be NULL in case it's a temp ID outside of any Main.
- * \param idv Pointer to ID to be freed.
- * \param flag Set of \a LIB_ID_FREE_... flags controlling/overriding usual freeing process,
- * 0 to get default safe behavior.
- * \param use_flag_from_idtag Still use freeing info flags from given ID datablock,
- * even if some overriding ones are passed in \a falg parameter.
+ * \param bmain: Main database containing the freed ID, can be NULL in case it's a temp ID outside of any Main.
+ * \param idv: Pointer to ID to be freed.
+ * \param flag: Set of \a LIB_ID_FREE_... flags controlling/overriding usual freeing process,
+ * 0 to get default safe behavior.
+ * \param use_flag_from_idtag: Still use freeing info flags from given ID datablock,
+ * even if some overriding ones are passed in \a falg parameter.
*/
void BKE_id_free_ex(Main *bmain, void *idv, int flag, const bool use_flag_from_idtag)
{
*
* See #BKE_id_free_ex description for full details.
*
- * \param bmain Main database containing the freed ID, can be NULL in case it's a temp ID outside of any Main.
- * \param idv Pointer to ID to be freed.
+ * \param bmain: Main database containing the freed ID, can be NULL in case it's a temp ID outside of any Main.
+ * \param idv: Pointer to ID to be freed.
*/
void BKE_id_free(Main *bmain, void *idv)
{
/** \file \ingroup bke
*
- * Contains management of Main database itself.
+ * Contains management of #Main database itself.
*/
#include <string.h>
/**
* Create a GSet storing all IDs present in given \a bmain, by their pointers.
*
- * \param gset If not NULL, given GSet will be extended with IDs from given \a bmain, instead of creating a new one.
+ * \param gset: If not NULL, given GSet will be extended with IDs from given \a bmain, instead of creating a new one.
*/
GSet *BKE_main_gset_create(Main *bmain, GSet *gset)
{
/**
* Call given callback over every IDs of given \a bmain Main database.
*
- * \param reverse_type_order Allow to reverse order in which ID *types* are handled
- * (i.e. does not reverse the order in which IDs themselves are handled
- * whithin a give listbase).
- * Note that in most cases, you want to set that parameter to true.
+ * \param reverse_type_order: Allow to reverse order in which ID *types* are handled
+ * (i.e. does not reverse the order in which IDs themselves are handled whithin a give listbase).
+ * Note that in most cases, you want to set that parameter to true.
* \return false if the iteration was iterrupted by the callback.
*
* \warning \a callback may affect the ID, but DO NOT change the Main database (add/remove/reorder its IDs).
}
/**
- * Return filepath of global main (G_MAIN).
+ * Return filepath of global main #G_MAIN.
*
* \warning Usage is not recommended, you should always try to get a valid Main pointer from context...
*/
}
/**
- * puts into array *lb pointers to all the ListBase structs in main,
+ * puts into array *lb pointers to all the #ListBase structs in main,
* and returns the number of them as the function result. This is useful for
* generic traversal of all the blocks in a Main (by traversing all the
* lists in turn), without worrying about block types.
*
- * \note MAX_LIBARRAY define should match this code */
+ * \note #MAX_LIBARRAY define should match this code */
int set_listbasepointers(Main *bmain, ListBase **lb)
{
/* BACKWARDS! also watch order of free-ing! (mesh<->mat), first items freed last.
/**
* Ensure the array is large enough
*
- * /note This function must always be thread-protected by caller. It should only be used by internal code.
+ * \note This function must always be thread-protected by caller. It should only be used by internal code.
*/
static void mesh_ensure_looptri_data(Mesh *mesh)
{
/* Expands to an integer constant expression evaluating to a close upper bound
* on the number the number of decimal digits in a value expressible in the
- * integer type given by the argument (if it is a type name) or the the integer
+ * integer type given by the argument (if it is a type name) or the integer
* type of the argument (if it is an expression). The meaning of the resulting
* expression is unspecified for other arguments.
* i.e: DECIMAL_DIGITS_BOUND(uchar) is equal to 3. */
change_idid_adr(mainlist, basefd, id, *realid);
/* We cannot free old lib-ref placeholder ID here anymore, since we use its name
- * as key in loaded_ids hass. */
+ * as key in loaded_ids has. */
BLI_addtail(&pending_free_ids, id);
}
id = idn;
*
* f = BMO_iter_new(&oiter, some_operator, "slot_name", BM_FACE);
* for (; f; f = BMO_iter_step(&oiter)) {
- * /do something with the face
+ * // do something with the face
* }
*
* another example, iterating over a mapping:
}
}
-/*
+/**
* Harden normals for bevel.
- * The desired effect is that the newly created F_EDGE and F_VERT faces appear smoothly shaded
- * with the the normals at the boundaries with F_RECON faces matching those recon faces.
- * And at boundaries between F_EDGE and F_VERT faces, the normals should match the F_EDGE ones.
+ * The desired effect is that the newly created #F_EDGE and F_VERT faces appear smoothly shaded
+ * with the normals at the boundaries with #F_RECON faces matching those recon faces.
+ * And at boundaries between #F_EDGE and #F_VERT faces, the normals should match the #F_EDGE ones.
* Assumes custom loop normals are in use.
*/
static void bevel_harden_normals(BMesh *bm, BevelParams *bp)
* leaving the resulting edges tagged.
*
* \param test_fn: Return value: -1: skip, 0: tree_a, 1: tree_b (use_self == false)
- * \param boolean_mode -1: no-boolean, 0: intersection... see #BMESH_ISECT_BOOLEAN_ISECT.
+ * \param boolean_mode: -1: no-boolean, 0: intersection... see #BMESH_ISECT_BOOLEAN_ISECT.
* \return true if the mesh is changed (intersections cut or faces removed from boolean).
*/
bool BM_mesh_intersect(
* - Acts to encapsulate the evaluation operations (base matrix + parenting,
* and constraint stack) so that they can be easily found.
* - Everything else which depends on bone-results hook up to the component
- * only so that we can redirect those to point at either the the post-IK/
- * post-constraint/post-matrix steps, as needed. */
+ * only so that we can redirect those to point at either the
+ * post-IK/post-constraint/post-matrix steps, as needed. */
/* Pose eval context. */
op_node = add_operation_node(&object->id,
NodeType::EVAL_POSE,
/* Perp. Distance from point to line */
if (m2 != MAXSLOPE) {
- /* /sqrt(m2 * m2 + 1); Only looking for change in sign. Skip extra math .*/
+ /* sqrt(m2 * m2 + 1); Only looking for change in sign. Skip extra math .*/
dist = (y12 - m2 * x12 - b2);
}
else dist = x22 - x12;
* otherwise refresh preview
*
* XXX if you put this back, also check XXX in image_main_region_draw() */
- * /
void image_preview_event(int event)
{
int exec = 0;
* Walks through all objects in the scene to create the list of objects to snap.
*
* \param sctx: Snap context to store data.
- * \param snap_select : from enum eSnapSelect.
+ * \param snap_select: from enum #eSnapSelect.
*/
static void iter_snap_objects(
SnapObjectContext *sctx,
* Walks through all objects in the scene to find the `hit` on object surface.
*
* \param sctx: Snap context to store data.
- * \param snap_select : from enum eSnapSelect.
- * \param use_object_edit_cage : Uses the coordinates of BMesh(if any) to do the snapping.
+ * \param snap_select: from enum eSnapSelect.
+ * \param use_object_edit_cage: Uses the coordinates of BMesh(if any) to do the snapping.
* \param obj_list: List with objects to snap (created in `create_object_list`).
*
* Read/Write Args
short rotmode;
short pad;
- /** Matrix result of l.oc/quat/size, and where we put deform in, see next line */
+ /** Matrix result of loc/quat/size, and where we put deform in, see next line */
float chan_mat[4][4];
/**
* Constraints accumulate here. in the end, pose_mat = bone->arm_mat * chan_mat