[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56436] branches/vgroup_modifiers: Grmlll? \226?\128?\166 those changes were missed somehow in previous merges.

Bastien Montagne montagne29 at wanadoo.fr
Wed May 1 12:32:45 CEST 2013


Revision: 56436
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56436
Author:   mont29
Date:     2013-05-01 10:32:45 +0000 (Wed, 01 May 2013)
Log Message:
-----------
Grmlll?\226?\128?\166 those changes were missed somehow in previous merges.

Modified Paths:
--------------
    branches/vgroup_modifiers/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/vgroup_modifiers/source/blender/makesdna/DNA_modifier_types.h

Added Paths:
-----------
    branches/vgroup_modifiers/doc/python_api/rst/bmesh.ops.rst
    branches/vgroup_modifiers/intern/bsp/intern/BOP_CarveInterface.cpp
    branches/vgroup_modifiers/intern/bsp/intern/BOP_Interface.h
    branches/vgroup_modifiers/intern/cycles/blender/blender_particles.cpp
    branches/vgroup_modifiers/release/scripts/startup/bl_operators/node.py
    branches/vgroup_modifiers/release/scripts/startup/bl_ui/properties_mask_common.py

Added: branches/vgroup_modifiers/doc/python_api/rst/bmesh.ops.rst
===================================================================
--- branches/vgroup_modifiers/doc/python_api/rst/bmesh.ops.rst	                        (rev 0)
+++ branches/vgroup_modifiers/doc/python_api/rst/bmesh.ops.rst	2013-05-01 10:32:45 UTC (rev 56436)
@@ -0,0 +1,1630 @@
+
+BMesh Operators (bmesh.ops)
+===========================
+
+.. module:: bmesh.ops
+
+This module gives access to low level bmesh operations.
+
+Most operators take input and return output, they can be chained together
+to perform useful operations.
+
+.. note::
+
+   This API us new in 2.65 and not yet well tested.
+
+
+Operator Example
+++++++++++++++++
+This script shows how operators can be used to model a link of a chain.
+
+.. literalinclude:: ../examples/bmesh.ops.1.py
+.. function:: smooth_vert(bm, verts, mirror_clip_x, mirror_clip_y, mirror_clip_z, clip_dist, use_axis_x, use_axis_y, use_axis_z)
+
+   Vertex Smooth.
+
+   Smooths vertices by using a basic vertex averaging scheme.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input vertices
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg mirror_clip_x: set vertices close to the x axis before the operation to 0
+   :type mirror_clip_x: bool
+   :arg mirror_clip_y: set vertices close to the y axis before the operation to 0
+   :type mirror_clip_y: bool
+   :arg mirror_clip_z: set vertices close to the z axis before the operation to 0
+   :type mirror_clip_z: bool
+   :arg clip_dist: clipping threshold for the above three slots
+   :type clip_dist: float
+   :arg use_axis_x: smooth vertices along X axis
+   :type use_axis_x: bool
+   :arg use_axis_y: smooth vertices along Y axis
+   :type use_axis_y: bool
+   :arg use_axis_z: smooth vertices along Z axis
+   :type use_axis_z: bool
+
+
+.. function:: smooth_laplacian_vert(bm, verts, lambda_factor, lambda_border, use_x, use_y, use_z, preserve_volume)
+
+   Vertext Smooth Laplacian.
+
+   Smooths vertices by using Laplacian smoothing propose by.
+   Desbrun, et al. Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input vertices
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg lambda_factor: lambda param
+   :type lambda_factor: float
+   :arg lambda_border: lambda param in border
+   :type lambda_border: float
+   :arg use_x: Smooth object along X axis
+   :type use_x: bool
+   :arg use_y: Smooth object along Y axis
+   :type use_y: bool
+   :arg use_z: Smooth object along Z axis
+   :type use_z: bool
+   :arg preserve_volume: Apply volume preservation after smooth
+   :type preserve_volume: bool
+
+
+.. function:: recalc_face_normals(bm, faces, use_flip)
+
+   Right-Hand Faces.
+
+   Computes an "outside" normal for the specified input faces.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg faces: Undocumented.
+   :type faces: list of (:class:`bmesh.types.BMFace`)
+   :arg use_flip: Reverse the result
+   :type use_flip: bool
+
+
+.. function:: region_extend(bm, geom, use_constrict, use_faces)
+
+   Region Extend.
+
+   used to implement the select more/less tools.
+   this puts some geometry surrounding regions of
+   geometry in geom into geom.out.
+
+   if use_faces is 0 then geom.out spits out verts and edges,
+   otherwise it spits out faces.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg geom: input geometry
+   :type geom: list of (:class:`bmesh.types.BMVert`, :class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMFace`)
+   :arg use_constrict: find boundary inside the regions, not outside.
+   :type use_constrict: bool
+   :arg use_faces: extend from faces instead of edges
+   :type use_faces: bool
+   :return:
+
+      - ``geom``: output slot, computed boundary geometry.
+
+        **type** list of (:class:`bmesh.types.BMVert`, :class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMFace`)
+
+   :rtype: dict with string keys
+
+
+.. function:: rotate_edges(bm, edges, use_ccw)
+
+   Edge Rotate.
+
+   Rotates edges topologically.  Also known as "spin edge" to some people.
+   Simple example: ``[/] becomes [|] then [\]``.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg edges: input edges
+   :type edges: list of (:class:`bmesh.types.BMEdge`)
+   :arg use_ccw: rotate edge counter-clockwise if true, otherwise clockwise
+   :type use_ccw: bool
+   :return:
+
+      - ``edges``: newly spun edges
+
+        **type** list of (:class:`bmesh.types.BMEdge`)
+
+   :rtype: dict with string keys
+
+
+.. function:: reverse_faces(bm, faces)
+
+   Reverse Faces.
+
+   Reverses the winding (vertex order) of faces.
+   This has the effect of flipping the normal.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg faces: input faces
+   :type faces: list of (:class:`bmesh.types.BMFace`)
+
+
+.. function:: bisect_edges(bm, edges, cuts)
+
+   Edge Bisect.
+
+   Splits input edges (but doesn't do anything else).
+   This creates a 2-valence vert.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg edges: input edges
+   :type edges: list of (:class:`bmesh.types.BMEdge`)
+   :arg cuts: number of cuts
+   :type cuts: int
+   :return:
+
+      - ``geom_split``: newly created vertices and edges
+
+        **type** list of (:class:`bmesh.types.BMVert`, :class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMFace`)
+
+   :rtype: dict with string keys
+
+
+.. function:: mirror(bm, geom, matrix, merge_dist, axis, mirror_u, mirror_v)
+
+   Mirror.
+
+   Mirrors geometry along an axis.  The resulting geometry is welded on using
+   merge_dist.  Pairs of original/mirrored vertices are welded using the merge_dist
+   parameter (which defines the minimum distance for welding to happen).
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg geom: input geometry
+   :type geom: list of (:class:`bmesh.types.BMVert`, :class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMFace`)
+   :arg matrix: matrix defining the mirror transformation
+   :type matrix: :class:`mathutils.Matrix`
+   :arg merge_dist: maximum distance for merging.  does no merging if 0.
+   :type merge_dist: float
+   :arg axis: the axis to use, 0, 1, or 2 for x, y, z
+   :type axis: int
+   :arg mirror_u: mirror UVs across the u axis
+   :type mirror_u: bool
+   :arg mirror_v: mirror UVs across the v axis
+   :type mirror_v: bool
+   :return:
+
+      - ``geom``: output geometry, mirrored
+
+        **type** list of (:class:`bmesh.types.BMVert`, :class:`bmesh.types.BMEdge`, :class:`bmesh.types.BMFace`)
+
+   :rtype: dict with string keys
+
+
+.. function:: find_doubles(bm, verts, keep_verts, dist)
+
+   Find Doubles.
+
+   Takes input verts and find vertices they should weld to.
+   Outputs a mapping slot suitable for use with the weld verts bmop.
+
+   If keep_verts is used, vertices outside that set can only be merged
+   with vertices in that set.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input vertices
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg keep_verts: list of verts to keep
+   :type keep_verts: list of (:class:`bmesh.types.BMVert`)
+   :arg dist: minimum distance
+   :type dist: float
+   :return:
+
+      - ``targetmap``: 
+
+        **type** dict mapping vert/edge/face types to :class:`bmesh.types.BMVert`/:class:`bmesh.types.BMEdge`/:class:`bmesh.types.BMFace`
+
+   :rtype: dict with string keys
+
+
+.. function:: remove_doubles(bm, verts, dist)
+
+   Remove Doubles.
+
+   Finds groups of vertices closer then dist and merges them together,
+   using the weld verts bmop.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input verts
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg dist: minimum distance
+   :type dist: float
+
+
+.. function:: automerge(bm, verts, dist)
+
+   Auto Merge.
+
+   Finds groups of vertices closer then **dist** and merges them together,
+   using the weld verts bmop.  The merges must go from a vert not in
+   **verts** to one in **verts**.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input verts
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg dist: minimum distance
+   :type dist: float
+
+
+.. function:: collapse(bm, edges)
+
+   Collapse Connected.
+
+   Collapses connected vertices
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg edges: input edges
+   :type edges: list of (:class:`bmesh.types.BMEdge`)
+
+
+.. function:: pointmerge_facedata(bm, verts, vert_snap)
+
+   Face-Data Point Merge.
+
+   Merge uv/vcols at a specific vertex.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input vertices
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg vert_snap: snap vertex
+   :type vert_snap: :class:`bmesh.types.BMVert`
+
+
+.. function:: average_vert_facedata(bm, verts)
+
+   Average Vertices Facevert Data.
+
+   Merge uv/vcols associated with the input vertices at
+   the bounding box center. (I know, it's not averaging but
+   the vert_snap_to_bb_center is just too long).
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input vertices
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+
+
+.. function:: pointmerge(bm, verts, merge_co)
+
+   Point Merge.
+
+   Merge verts together at a point.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg verts: input vertices
+   :type verts: list of (:class:`bmesh.types.BMVert`)
+   :arg merge_co: Undocumented.
+   :type merge_co: :class:`mathutils.Vector` or any sequence of 3 floats
+
+
+.. function:: collapse_uvs(bm, edges)
+
+   Collapse Connected UV's.
+
+   Collapses connected UV vertices.
+
+   :arg bm: The bmesh to operate on.
+   :type bm: :class:`bmesh.types.BMesh`
+   :arg edges: input edges
+   :type edges: list of (:class:`bmesh.types.BMEdge`)
+
+
+.. function:: weld_verts(bm, targetmap)
+
+   Weld Verts.
+
+   Welds verts together (kind-of like remove doubles, merge, etc, all of which
+   use or will use this bmop).  You pass in mappings from vertices to the vertices
+   they weld with.
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list