fix for building with BSD & MinGW.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53896 954f8c5b-7b00-dc11-b283-0030488c597c
utility vector functions for flipping one vector about another:
  nicer then interp_v3_v3v3(v, v1, v2, -1.0f);


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53898 954f8c5b-7b00-dc11-b283-0030488c597c
Holding Alt now removes [-1, 1] clamping in vertex slide, Thanks to Psy-Fi for the original patch.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53899 954f8c5b-7b00-dc11-b283-0030488c597c
dyntopo optimization - fast path for edges with 2 faces using it, was counting the edge-faces then using an iterator,
instead use BM_edge_loop_pair()


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53900 954f8c5b-7b00-dc11-b283-0030488c597c
minor dyntopo speedup: was doing 2x ghash lookups for BM_log_face_removed(), BM_log_vert_removed(), only one needed.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53901 954f8c5b-7b00-dc11-b283-0030488c597c
CDDM_merge_verts() was building an index array for all loops and not using it.
also use malloc over calloc since the values are filled in right after.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53902 954f8c5b-7b00-dc11-b283-0030488c597c
use openmp for building bmesh arrays, also replace calloc with malloc.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53903 954f8c5b-7b00-dc11-b283-0030488c597c
replace calloc with malloc for arrays that are filled in right after.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53904 954f8c5b-7b00-dc11-b283-0030488c597c
patch [#33924] Spelling Corrections
from Gavin Howard (gdh) 


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53905 954f8c5b-7b00-dc11-b283-0030488c597c
replace error prints with asserts in BLI_mempool when an iterator function is called on a non-iterator flagged pool.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53906 954f8c5b-7b00-dc11-b283-0030488c597c
utility function to get a mempool as a pointer array.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53907 954f8c5b-7b00-dc11-b283-0030488c597c
patch [#33923] Patch for Node Theme Colors
from Gavin Howard (gdh)  


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53908 954f8c5b-7b00-dc11-b283-0030488c597c
style cleanup


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53909 954f8c5b-7b00-dc11-b283-0030488c597c
code cleanup: BLI_array.h's BLI_array_grow_items macro was unmanageable.
moved the main re-alloc logic into a C function.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53910 954f8c5b-7b00-dc11-b283-0030488c597c
use malloc for BLI array reallocation. Existing code initializes memory.


git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53911 954f8c5b-7b00-dc11-b283-0030488c597c
Skip hidden faces in PBVH BMesh ray intersection test

Moved the GPU function gpu_bmesh_face_visible() to BKE_paint and
inverted the test to match equivalent tests for other mesh types:
paint_is_bmesh_face_hidden().

Changed BKE_pbvh_bmesh_node_save_orig() to not save hidden faces into
the triangle array.

Modified the non-use-original branch of pbvh_bmesh_node_raycast() to
skip hidden faces.

Fixes bug #33914:
projects.blender.org/tracker/index.php?func=detail&aid=33914&group_id=9&atid=498

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53912 954f8c5b-7b00-dc11-b283-0030488c597c
Disable OpenMP with dyntopo in paint_mesh_restore_co()

Otherwise, new entries might be inserted by sculpt_undo_push_node()
into the GHash used internally by BM_log_original_vert_co() by a
different thread.

Fixes bug [#33787]
http://projects.blender.org/tracker/?func=detail&aid=33787&group_id=9&atid=498

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53913 954f8c5b-7b00-dc11-b283-0030488c597c
Update object bounding box during sculpt

Fixes the sculpt object being incorrectly clipped during drawing due
to an out-of-date bounding box making it seem that the object had gone
outside the view.

Added a BKE_pbvh function to get the top-level bounding box. In
sculpt_flush_update(), where the PBVH bounds are updated, the result
is copied to the object's bounding box.

Fixes bug [#33790]
projects.blender.org/tracker/?func=detail&aid=33790&group_id=9&atid=498

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53914 954f8c5b-7b00-dc11-b283-0030488c597c
Delete loose edges left behind by sculpting with collapse-short-edges

After deleting a face, check for unused edges and delete them.

Fixes bug [#33891]
projects.blender.org/tracker/?func=detail&aid=33891&group_id=9&atid=498

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53915 954f8c5b-7b00-dc11-b283-0030488c597c
Use KKEY in sculpt mode to activate the snake hook brush

This brush is more useful now with dynamic topology, deserves its own
key binding.

git-svn-id: https://svn.blender.org/svnroot/bf-blender/trunk/blender@53916 954f8c5b-7b00-dc11-b283-0030488c597c